F2 Service catalogue
- Area
- F — Extensibility
- Audience
- operator
- Kind
- feature
- Status
- accepted
- Maturity
- shipped
- Shipped in
- 0.15.0
- Labels
- extensibility
The feature in the specification · Read at
Requirements
Every service MUST carry a plain-language description of what it does for the operator.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/docker.rscrates/lemonfiber-core/src/model/catalogue.rscrates/lemonfiber/src/render/catalogue.rscrates/lemonfiber/src/render/stack.rs.docs/architecture/surface-parity.md
- recorded done
- lemonfiber-media-stackscripts/manifest_rules.py::describesscripts/test_validate_manifest.py::missing required field
- cited by
- lemonfiber@be01322365lemonfiber@ecd8ed52b2lemonfiber-media-stack@db1ea82a32lemonfiber-media-stack@d7a16ae419
Every service MUST state the consequence of its absence.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/engine/settling.rs
- recorded done
- lemonfiber-media-stackscripts/manifest_rules.py::without_itscripts/test_validate_manifest.py::missing required field
- cited by
- lemonfiber@ecd8ed52b2lemonfiber@990e67673flemonfiber-media-stack@aaabfbbbfd
Every service MUST carry a criticality level.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercrates/lemonfiber-manifest/src/schema.rscrates/lemonfiber-manifest/src/recognising.rscrates/lemonfiber-core/src/health/observed.rscrates/lemonfiber/src/render/catalogue.rs
- recorded done
- lemonfiber-media-stackscripts/manifest_rules.py::criticalityscripts/test_validate_manifest.py::missing required field
- cited by
- lemonfiber@be01322365lemonfiber@ecd8ed52b2
Every service MUST record its licence, upstream project, and pinned version.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/model/provenance.rscrates/lemonfiber-core/src/app/engine.rscrates/lemonfiber-core/tests/integration/provenance.rs.docs/architecture/surface-parity.md
- recorded done
- lemonfiber-media-stackscripts/manifest_rules.py::upstreamscripts/test_validate_manifest.py::missing required field 'digest'
- cited by
- lemonfiber@24ddf47e24lemonfiber@ecd8ed52b2
Every bundled service MUST be under an OSI-approved licence, except a service whose image lemonfiber builds from its own code, which MUST carry lemonfiber's own licence (Hippocratic-3.0); an upstream's image lemonfiber rebuilds MUST keep its upstream's licence.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercrates/lemonfiber-manifest/src/validate.rs
- recorded done
- lemonfiber-media-stackscripts/manifest_rules.pyscripts/spdx_osi.txtscripts/test_validate_manifest.py::not a recognised OSI identifier
- cited by
- lemonfiber@df20f0c10blemonfiber@c5f4e3c63blemonfiber@f00ef6a8fblemonfiber@ecd8ed52b2lemonfiber@ce320dfaf0lemonfiber-media-stack@4c7bc56170lemonfiber-media-stack@ebc22d27b9
Every bundled service MUST publish native linux/arm64 and linux/amd64 images.
- locked by
- 0.15.0 met
- recorded done
- lemonfiber-media-stackscripts/check_images.py
- cited by
- lemonfiber@ecd8ed52b2lemonfiber-media-stack@4c7bc56170lemonfiber-media-stack@216c0f1dbelemonfiber-media-stack@23678bee21lemonfiber-media-stack@c87a625a1clemonfiber-media-stack@4288cebf60lemonfiber-media-stack@bf0fb4ef30lemonfiber-media-stack@28467ba7ae
Inclusion criteria MUST be stated explicitly.
- locked by
- 0.15.0 met
- recorded done
- lemonfiberspec:10-functional/features/f-extensibility/f2-service-catalogue.mdcrates/lemonfiber-manifest/src/validate.rs
- recorded done
- lemonfiber-media-stackdocs/maintaining.md::OSI-approved licencescripts/check_candidate.py
- cited by
- lemonfiber@be01322365lemonfiber@ecd8ed52b2
Notable exclusions MUST be recorded with reasons.
Service descriptions MUST be available inline where a service is referenced, not only in documentation.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/docker.rscrates/lemonfiber-core/src/model/catalogue.rscrates/lemonfiber/src/render/catalogue.rscrates/lemonfiber/src/render/stack.rs.docs/architecture/surface-parity.mdspec:10-functional/features/f-extensibility/f2-service-catalogue.md
- cited by
- lemonfiber@be01322365lemonfiber@ecd8ed52b2
The catalogue MUST be versioned with the manifests that declare its services: a bundled service's first-party plugin manifest, pinned by the bundle, or a stack manifest.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/outbound/theirs.rs
- recorded done
- lemonfiber-media-stackstack.tomlscripts/manifest_rules.py::validate_versions
- cited by
- lemonfiber@759f65d1delemonfiber@468091e1dclemonfiber@ecd8ed52b2lemonfiber-media-stack@2990d0e4bclemonfiber-media-stack@c87a625a1c
An unknown service MUST be displayed with an unknown description rather than hidden.
An upstream licence change away from OSI approval MUST disqualify the service at pin-bump time.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercontract/web-api/index.jsoncrates/lemonfiber-api/src/read.rscrates/lemonfiber-core/src/app.rscrates/lemonfiber-core/src/app/command.rs
- recorded done
- lemonfiber-media-stackscripts/check_licences.py
- cited by
- lemonfiber@be01322365lemonfiber@ecd8ed52b2lemonfiber-media-stack@7f829aefcalemonfiber-media-stack@c87a625a1c
Removal of a service MUST record the reason and any replacement.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercrates/lemonfiber-manifest/src/schema.rscrates/lemonfiber-manifest/src/validate.rscrates/lemonfiber-manifest/src/lib.rs
- recorded done
- lemonfiber-media-stackscripts/manifest_rules.py::validate_removalsscripts/test_validate_manifest.py::missing required field 'reason'
- cited by
- lemonfiber@be01322365lemonfiber@ecd8ed52b2lemonfiber-media-stack@c87a625a1c
Each bundled service MUST have its last upstream release date recorded in the bundle beside its pin, kept by the reviewers who move the pin and refreshed whenever they move it; a stack manifest's service MUST record its own.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercontract/web-api/index.jsoncrates/lemonfiber-api/src/read.rscrates/lemonfiber-core/src/app.rscrates/lemonfiber-core/src/app/command.rs
- recorded done
- lemonfiber-media-stackscripts/check_releases.pyscripts/test_validate_manifest.py::missing required field 'last_release'
- cited by
- lemonfiber@be01322365lemonfiber@ecd8ed52b2lemonfiber@ce320dfaf0lemonfiber@6fdbc37e4elemonfiber-media-stack@a1d36db369lemonfiber-media-stack@57c78154bclemonfiber-media-stack@65fab1ba41lemonfiber-media-stack@ec253d72fclemonfiber-media-stack@67e7c43d66lemonfiber-media-stack@097228ff2alemonfiber-media-stack@fd952d6ed2lemonfiber-media-stack@f04d3f9ef6lemonfiber-media-stack@c1c758093dlemonfiber-media-stack@20702c4ddelemonfiber-media-stack@e071c636d5lemonfiber-media-stack@ad12175c11lemonfiber-media-stack@6bc02c5ea7lemonfiber-media-stack@4f40f42d53lemonfiber-media-stack@72249f5540lemonfiber-media-stack@229331955flemonfiber-media-stack@06d9b5cf6flemonfiber-media-stack@422ec85ed2lemonfiber-media-stack@5298e9b285lemonfiber-media-stack@4fc654fe88lemonfiber-media-stack@091492c9c1lemonfiber-media-stack@232a2ba48dlemonfiber-media-stack@7b9b03b746lemonfiber-media-stack@e275151608lemonfiber-media-stack@60ec00fb53lemonfiber-media-stack@605acfd884lemonfiber-media-stack@216c0f1dbelemonfiber-media-stack@57de36ff7flemonfiber-media-stack@623aa15c3clemonfiber-media-stack@b60ea04572lemonfiber-media-stack@02407bd4dflemonfiber-media-stack@23678bee21lemonfiber-media-stack@c87a625a1clemonfiber-media-stack@45b5545b95
A candidate service's maintenance status MUST be established from its commit and release history, never from its own self-description.
- locked by
- 0.15.0 met
- recorded done
- lemonfibercontract/web-api/index.jsoncrates/lemonfiber-api/src/read.rscrates/lemonfiber-core/src/app.rscrates/lemonfiber-core/src/app/command.rs
- recorded done
- lemonfiber-media-stackscripts/check_candidate.py
- cited by
- lemonfiber@be01322365lemonfiber@ecd8ed52b2lemonfiber-media-stack@ed18a0cd14lemonfiber-media-stack@c87a625a1c