Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-003 [2026/07/20 07:08] – ↷ Links adapted because of a move operation nick_dido | dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-003 [2026/07/30 05:39] (current) – nick_dido | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== Statement ===== | ===== Statement ===== | ||
| - | [[dido: | + | [[dido: |
| - | in place. | + | |
| - | ===== Source Statement | + | ===== Derived From ===== |
| - | > The system shall support immutable infrastructure workflows. | + | This requirement derives from: |
| - | ===== Source ===== | + | * Crucible System Requirements Specification, |
| - | Crucible System Requirements Specification, | + | The Original Requirement states: |
| - | ===== Assessment ===== | + | > //The system shall support immutable infrastructure workflows.// |
| - | The source statement expresses the approved intent but does not provide a fully testable formulation. | + | FR-IMG-003: |
| - | The following Specification Discipline and Authoring findings apply: | + | |
| - | + | * Changes | |
| - | | + | * Replaces |
| - | * **shall** does not follow the established uppercase normative convention | + | * Expresses immutable image management as replacement |
| - | * **Support** is a weak verb that does not identify the required behavior | + | |
| - | * **Immutable infrastructure workflows** names a practice but does not identify the operation Crucible performs | + | |
| - | * The source statement does not identify the subject that remains unmodified | + | |
| - | * The source statement does not identify how a required change is applied | + | |
| - | * The source statement does not distinguish replacement from in-place modification | + | |
| - | * The source statement does not require signing, verification, | + | |
| - | + | ||
| - | The normalized Statement: | + | |
| - | + | ||
| - | * Replaces **The system** with [[dido: | + | |
| - | * Replaces | + | |
| - | * Identifies | + | |
| - | | + | |
| - | * Expresses | + | |
| - | * Retains one primary required behavior | + | |
| - | + | ||
| - | The normalized Statement does not require a particular virtualization platform, container runtime, | + | |
| ===== Rationale ===== | ===== Rationale ===== | ||
| - | An immutable infrastructure workflow applies a required | + | An immutable infrastructure workflow applies a change by replacing |
| - | + | ||
| - | This approach preserves the relationship between a deployed subject and the image [[dido: | + | |
| - | + | ||
| - | Replacement-based image workflows contribute to: | + | |
| - | + | ||
| - | * Consistent deployed state | + | |
| - | * Reduced configuration drift | + | |
| - | * Repeatable deployment | + | |
| - | * Controlled image changes | + | |
| - | * Recovery through replacement | + | |
| - | * Comparison of prior and succeeding image [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | + | ||
| - | A newly built image may incorporate: | + | |
| - | + | ||
| - | * Updated software | + | |
| - | * Updated configuration | + | |
| - | * Updated [[dido: | + | |
| - | * Updated security controls | + | |
| - | * Updated operating-system content | + | |
| - | * Corrective changes | + | |
| - | * A new [[dido: | + | |
| - | The workflow then replaces | + | Replacement preserves |
| - | FR-IMG-003 does not prohibit changes to external stateful resources, persistent data, credentials, | + | This approach reduces configuration drift and supports repeatable deployment of [[dido: |
| ===== Applies To ===== | ===== Applies To ===== | ||
| Line 80: | Line 38: | ||
| * [[dido: | * [[dido: | ||
| * [[dido: | * [[dido: | ||
| - | * Container | + | * [[dido: |
| * Deployed images | * Deployed images | ||
| - | | + | * Image replacement |
| - | * Image [[dido: | + | |
| - | * Image build workflows | + | |
| - | | + | |
| - | * Virtual machines | + | |
| - | * Containerized workloads | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| ===== Verification ===== | ===== Verification ===== | ||
| - | - Verification | + | Verification |
| - | - Verification SHALL confirm that [[dido:99_annexes: | + | |
| - | - Verification SHALL confirm that Crucible does not modify the existing deployed image in place | + | |
| - | Verification may include: | + | |
| - | + | - [[dido: | |
| - | * Machine Image replacement testing | + | - Crucible does not apply the tested change by modifying |
| - | * Container-image replacement | + | - The replacement image can be identified as distinct from the image it replaces |
| - | * Deployed-image inspection | + | |
| - | | + | |
| - | * Deployment-log inspection | + | |
| - | * File-system comparison | + | |
| - | * Configuration-drift inspection | + | |
| - | * Automated | + | |
| - | + | ||
| - | The verification record SHALL identify: | + | |
| - | + | ||
| - | - The existing | + | |
| - | - The required change | + | |
| - | - The newly built image | + | |
| - | - The replacement operation | + | |
| - | - The observed state of the existing | + | |
| - | - The observed state of the replacement image | + | |
| - | - The replacement result | + | |
| - | - The generated [[dido: | + | |
| - | + | ||
| - | ===== Outgoing Traceability ===== | + | |
| - | + | ||
| - | This requirement realizes: | + | |
| - | + | ||
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | + | ||
| - | This requirement relates to: | + | |
| - | + | ||
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| - | * [[dido: | + | |
| ===== Referenced By ===== | ===== Referenced By ===== | ||
| - | The wiki Backlinks function provides the current list of pages that reference | + | The following |
| - | + | ||
| - | Incoming [[dido:99_annexes: | + | |
| - | + | ||
| - | Backlinks identify incoming references but do not define the semantics of each relationship. Referencing pages should identify whether the relationship represents realization, | + | |
| - | + | ||
| - | ===== ConOps Relationship ===== | + | |
| - | + | ||
| - | The Crucible Concept of Operations describes a Phase 1 workflow that builds controlled image Artifacts and deploys infrastructure through automated [[dido: | + | |
| - | + | ||
| - | FR-IMG-003 establishes that image changes use replacement-based workflow behavior rather than modification of an existing deployed image in place. | + | |
| - | + | ||
| - | Requirements governing image build, signing, verification, | + | |
| - | + | ||
| - | ===== Delivery Phase ===== | + | |
| - | Phase 1 | + | {{backlinks> |
| ===== Implementation Status ===== | ===== Implementation Status ===== | ||
| - | Not Assessed | + | Implemented |
| - | + | ||
| - | Implementation status requires verification that [[dido: | + | |
| ===== Requirement Status ===== | ===== Requirement Status ===== | ||
| - | Draft | + | < |
| - | + | ||
| - | The source System Requirements Specification identifies Version 1.1 as a draft. | + | |
| ---- | ---- | ||
| - | ===== Notes for Editors | + | ===== Issues |
| - | This requirement page should retain | + | < |
| - | Changes to the Statement SHALL preserve the approved intent of the source requirement. | + | < |
| - | The Source Statement should preserve the original wording from the controlling System Requirements Specification. | + | ---- |
| + | ===== Notes for Editors ===== | ||
| - | The Statement should remain limited to replacement-based image workflow behavior. | + | This requirement page retains the stable requirement identifier '' |
| - | Requirements for building, signing, verifying, promoting, deploying, rolling back, and validating images should remain in their applicable | + | This page is a leaf requirement |
| - | Verification criteria should test only the behavior stated | + | The Statement preserves |
| - | Incoming Traceability should use the wiki Backlinks function rather than a manually maintained list. | + | Do not add image building, signing, verification, |
| To reference this requirement Statement from another wiki page, insert: | To reference this requirement Statement from another wiki page, insert: | ||
| Line 193: | Line 88: | ||
| {{section> | {{section> | ||
| </ | </ | ||
| - | |||
| - | Do not rename this page after an external citation unless a redirect or move plan is in place. | ||
| ---- | ---- | ||