dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-003

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-003 [2026/07/17 07:54] – created nick_didodido: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:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL replace an existing deployed image with a newly built image rather than modifying the [[dido:99_annexes:annex-b-terms-and-definitions:d:crucible|deployed_image]] +[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL apply changes to deployed images by replacing the images rather than modifying them in place.
-in place.+
  
-===== Source Statement =====+===== Derived From =====
  
-> The system shall support immutable infrastructure workflows.+This requirement derives from:
  
-===== Source =====+  * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-IMG-003
  
-Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-IMG-003.+The Original Requirement states:
  
-===== Assessment =====+> //The system shall support immutable infrastructure workflows.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
  
-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: +  Replaces **The system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] 
- +  * Changes **shall** to the established uppercase normative form **SHALL** 
-  * **The system** does not use the defined system name +  * Replaces the weak verb **support** with the observable behavior **apply*
-  * **shall** does not follow the established uppercase normative convention +  * Expresses immutable image management as replacement rather than in-place modification
-  * **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, promotion, rollback, or deployment validation +
- +
-The normalized Statement: +
- +
-  * Replaces **The system** with [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] +
-  * Replaces **support** with the direct behavior **replace** +
-  * Identifies the existing deployed image as the subject that is not modified in place +
-  Identifies a newly built image as the replacement +
-  * Expresses the distinguishing behavior of an immutable infrastructure workflow +
-  * Retains one primary required behavior +
- +
-The normalized Statement does not require a particular virtualization platform, container runtime, image format, deployment mechanism, or replacement algorithm.+
  
 ===== Rationale ===== ===== Rationale =====
  
-An immutable infrastructure workflow applies a required change by building and deploying replacement image rather than modifying the existing deployed image. +An immutable infrastructure workflow applies a change by replacing deployed image with a newly built image rather than modifying the deployed image in place.
- +
-This approach preserves the relationship between a deployed subject and the image [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifact]] from which the subject was created. +
- +
-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:99_annexes:annex-b-terms-and-definitions:r:revision|Revisions]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] +
- +
-A newly built image may incorporate: +
- +
-  * Updated software +
-  * Updated configuration +
-  * Updated [[dido:99_annexes:annex-b-terms-and-definitions:i:image_layer|Image Layers]] +
-  * Updated security controls +
-  * Updated operating-system content +
-  * Corrective changes +
-  * A new [[dido:99_annexes:annex-b-terms-and-definitions:r:revision|Revision]] of an applicable [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]]+
  
-The workflow then replaces the existing deployed image with the newly built image.+Replacement preserves the relationship between a deployed subject and the image [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifact]] from which the subject was created.
  
-FR-IMG-003 does not prohibit changes to external stateful resources, persistent data, credentials, network resources, or other subjects that remain separate from the deployed image.+This approach reduces configuration drift and supports repeatable deployment of [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]] and [[dido:99_annexes:annex-b-terms-and-definitions:c:container_image|Container Images]].
  
 ===== Applies To ===== ===== Applies To =====
Line 80: Line 38:
   * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]   * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
   * [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]]   * [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]]
-  * Container images+  * [[dido:99_annexes:annex-b-terms-and-definitions:c:container_image|Container Images]]
   * Deployed images   * Deployed images
-  * Replacement images +  * Image replacement operations
-  * Image [[dido:99_annexes:annex-b-terms-and-definitions:r:revision|Revisions]] +
-  * Image build workflows +
-  * Image replacement workflows +
-  * Virtual machines +
-  * Containerized workloads +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipelines]]+
  
 ===== Verification ===== ===== Verification =====
  
-  - Verification SHALL confirm that a required change produces a newly built image +Verification confirms that:
-  - Verification SHALL confirm that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] replaces the existing deployed image with the newly built image +
-  - Verification SHALL confirm that Crucible does not modify the existing deployed image in place+
  
-Verification may include: +  A change to a tested deployed image produces a replacement image 
- +  - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] replaces the tested deployed image with the replacement image 
-  * Machine Image replacement testing +  - Crucible does not apply the tested change by modifying the deployed image in place 
-  * Container-image replacement testing +  - The replacement image can be identified as distinct from the image it replaces
-  * Deployed-image inspection +
-  * Image-Revision comparison +
-  * Deployment-log inspection +
-  * File-system comparison +
-  * Configuration-drift inspection +
-  * Automated [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] testing +
- +
-The verification record SHALL identify: +
- +
-  - The existing deployed image +
-  - The required change +
-  - The newly built image +
-  - The replacement operation +
-  - The observed state of the existing deployed image +
-  - The observed state of the replacement image +
-  - The replacement result +
-  - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] +
- +
-===== Outgoing Traceability ===== +
- +
-This requirement realizes: +
- +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-001|MO-001]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005|MO-005]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-006|MO-006]] +
- +
-This requirement relates to: +
- +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-001|FR-IMG-001 — Build Virtual Machine Images]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-002|FR-IMG-002 — Build Container Images]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-004|FR-IMG-004 — Image Signing]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-005|FR-IMG-005 — Image Verification]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-006|FR-IMG-006 — Image Promotion Workflows]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-03-deployment-orchestration:fr-dep-002|FR-DEP-002 — Deploy Virtual Machines]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-03-deployment-orchestration:fr-dep-004|FR-DEP-004 — Deploy Containerized Workloads]] +
-  * [[dido:02-crusible:07-infrastructure-and-deployment:start|7. Infrastructure and Deployment]] +
-  * [[dido:02-crusible:10-reproducibility-provenance-and-traceability:start|10. Reproducibility, Provenance, and Traceability]]+
  
 ===== Referenced By ===== ===== Referenced By =====
  
-The wiki Backlinks function provides the current list of pages that reference ''FR-IMG-003''+The following pages reference this requirement:
- +
-Incoming [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] should be derived dynamically from backlinks rather than maintained as a duplicate manual list. +
- +
-Backlinks identify incoming references but do not define the semantics of each relationship. Referencing pages should identify whether the relationship represents realization, refinement, verification, dependency, or another defined traceability relationship. +
- +
-===== ConOps Relationship ===== +
- +
-The Crucible Concept of Operations describes a Phase 1 workflow that builds controlled image Artifacts and deploys infrastructure through automated [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] activities. +
- +
-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, promotion, deployment, rollback, and validation define separate behavior within the broader workflow. +
- +
-===== Delivery Phase =====+
  
-Phase 1+{{backlinks>.#dido:02-crusible}}
  
 ===== Implementation Status ===== ===== Implementation Status =====
  
-Not Assessed +Implemented and Verified
- +
-Implementation status requires verification that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] replaces an existing deployed image with a newly built image rather than modifying the deployed image in place.+
  
 ===== Requirement Status ===== ===== Requirement Status =====
  
-Draft +<todo>Review and approve FR-IMG-003 as a leaf requirement.</todo>
- +
-The source System Requirements Specification identifies Version 1.1 as a draft.+
  
 ---- ----
-===== Notes for Editors =====+===== Issues =====
  
-This requirement page should retain the stable requirement identifier ''FR-IMG-003''.+<todo>Determine whether Immutable Infrastructure Workflow requires a controlled definition in the shared Terms and Definitions corpus.</todo>
  
-Changes to the Statement SHALL preserve the approved intent of the source requirement.+<todo>Determine whether separate requirements define replacement failure and recovery behavior.</todo>
  
-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 ''FR-IMG-003''.
  
-Requirements for building, signing, verifying, promoting, deploying, rolling back, and validating images should remain in their applicable requirement pages.+This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
  
-Verification criteria should test only the behavior stated in the normalized Statement and should not introduce additional normative obligations.+The Statement preserves the approved source intent by requiring image changes to use replacement rather than in-place modification.
  
-Incoming Traceability should use the wiki Backlinks function rather than a manually maintained list.+Do not add image building, signing, verification, promotion, deployment validation, rollback, or recovery obligations to the Statement unless the controlling requirement changes through an approved requirements process.
  
 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>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-003#Statement&noheader&nofooter&noeditbtn}} {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-003#Statement&noheader&nofooter&noeditbtn}}
 </code> </code>
- 
-Do not rename this page after an external citation unless a redirect or move plan is in place. 
  
 ---- ----
  • dido/02-crusible/99-annexes/annex-c-requirements/03-functional-requirements/03-02-image-management/fr-img-003.1784300094.txt.gz
  • Last modified: 2026/07/17 07:54
  • by nick_dido