--- tags: ietf-scitt --- ###### tags: `ietf-scitt` # SCITT: Artifact Versioning and Feeds ## Examples To support the [SCITT Use Cases][use-cases], the follow examples are illustrated. ## Integrating SCITT With a Build System Topics to cover: - [ ] How to structure SCITT Feeds - [ ] How to correlate each build artifact with previous versions - [ ] How to group a collection of artifacts (client/server, service1, 2, 3) - [ ] Where to store SCITT Receipts > Note: This example uses the [net-watcher][net-watcher] Github repository The [net-watcher][net-watcher] application serves multiple customer audiences through 2 supported versions across Windows and Linux servers. - **Version 1** - Supports on-premise networks - **Version 2** - Adds support for hosted cloud networks Both major versions, on both platform maintain support, including minor fixes and security patching. - Updates are not linear over time. A security patch `1.1.1` shipped after `2.2.0` had already shipped. - Not all users of Version `1.0.0` can move to the `2` release as some incompatibilities were introduced and features were added that require the customer to pay for the upgrade - A new `Version 3` has been started by the development team. **net-watcher - Linux** ``` Version 1.0.0 --> Version 1.1.0 --> Version 1.2.0 \ \ \ Version 1.1.1 --> Version 1.1.2 --> Version 1.0.1 --> Version 1.0.2... Version 2.0.0 --> Version 2.1.0 --> Version 2.2.0 \ Version 2.1.1 --> Version 2.1.2 --> Version 3-alpha --> ``` **net-watcher - Windows** ``` Version 1.0.0 --> Version 1.3.0 --> Version 1.4.0 \ \ Version 1.3.1 --> Version 1.3.2 Version 2.0.0 --> Version 2.1.0 \ Version 2.0.1 --> Version 2.0.2 --> Version 3-alpha --> ``` **[TODO]:** Add CalVer examples ### Questions - [ ] How does a producer declare version `1.1.0` supersedes `1.0.0` - [ ] How does a producer declare version `1.0.2` supersedes `1.0.1` and `1.0.0` - [ ] How does a producer make statements, unique to each version of the `net-watcher` product? - [ ] For each release, how does the development team structure their SCITT Feed? - [ ] How does a developer group a collection of like services? - [ ] Is each build/version a unique Feed? - [ ] Is there a way to make a continuous stream for a specific release? - [ ] Is the concept of version bands in scope for SCITT? - [ ] If not in scope, will the application platforms have to unique solve this for each? ### References - [calver.org](https://calver.org/) - [semver.org](https://semver.org/) [use-cases]: https://datatracker.ietf.org/doc/draft-ietf-scitt-software-use-cases/ [net-watcher]: https://github.com/wabbit-networks/net-watcher