v3
A major release with lots of changes, including the below.
- Add I/O schema v2.0. Changes below.
- Merge
*origin
and*origin_id
fields into*id
fields, for all objects. - Explicitly prohibit resource file names from containing directory names (i.e. the
/
character) to allow using them inContent-Disposition: filename=
headers.
- Merge
- Implement upgrading data from older to newer schema versions, automatically. Add a tool for manual upgrading of I/O data, called
kcidb-upgrade
. - Add storing the latest I/O schema version in the BigQuery dataset, when initializing it. Prohibit loading and querying data into/from the dataset if its major version is not the same as the major version of KCIDB's latest I/O schema.
- Add a test catalog file (
tests.yaml
) containing identifiers for tests submitted by CI systems (CKI mostly so far), and a tool for validating the catalog, calledkcidb-tests-validate
. - To make space for adding tools for other subsystems, rename
kcidb-init
tokcidb-db-init
andkcidb-cleanup
tokcidb-db-cleanup
. Makekcidb-submit
andkcidb-query
tools implementation-agnostic, and add implementation-specifickcidb-db-load
andkcidb-db-query
. - Add an experimental tool called
kcidb-db-complement
, which takes I/O data and returns it with all missing, but referenced objects added. The mechanism is to be used for processing subscriptions and generating reports, but the tool may be deprecated later. - Implement prototype tools for managing message queues and communicating through them:
kcidb-mq-publisher-init
kcidb-mq-publisher-cleanup
kcidb-mq-publisher-publish
kcidb-mq-subscriber-init
kcidb-mq-subscriber-cleanup
kcidb-mq-subscriber-pull
- Implement a placeholder for the future Google Cloud Functions module communicating with a message queue. To be used for intercepting submissions and generating notifications with reports.