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

Differences

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

Link to this comparison view

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-002 [2026/07/17 07:57] nick_didodido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-002 [2026/07/30 05:38] (current) nick_dido
Line 5: Line 5:
 ===== Statement ===== ===== Statement =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL build a container image.+[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL build [[dido:99_annexes:annex-b-terms-and-definitions:c:container_image|Container Images]].
  
-===== Source Statement =====+===== Derived From =====
  
-> The system shall build container images.+This requirement derives from:
  
-===== Source =====+  * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-IMG-002
  
-Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-IMG-002.+The Original Requirement states:
  
-===== Assessment =====+> //The system shall build container images.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
  
-The source statement expresses a direct functional behavior but requires terminology and normative-language normalization.+FR-IMG-002:
  
-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** 
 +  * Links **Container Images** to the controlling definition
  
-  * **The system** does not use the defined system name +No other substantive normalization is required.
-  * **shall** does not follow the established uppercase normative convention +
-  * The source statement does not identify a particular container-image format, target platform, build tool, or build method +
-  * The source statement does not require image signing, image verification, image promotion, compliance assessment, publication, or deployment +
- +
-The normalized Statement: +
- +
-  * Replaces **The system** with [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] +
-  * Uses the direct and testable verb **build** +
-  * Identifies a container image as the required result +
-  * Preserves the implementation independence of the source requirement +
-  * Retains one primary required behavior +
- +
-The normalized Statement does not add requirements for container-image content, format, signing, verification, promotion, compliance, publication, distribution, or deployment. Separate requirements define those obligations.+
  
 ===== Rationale ===== ===== Rationale =====
  
-A [[dido:99_annexes:annex-b-terms-and-definitions:c:container_image]] packages the files, software, configuration, and metadata required to instantiate a containerized workload. +A [[dido:99_annexes:annex-b-terms-and-definitions:c:container_image|Container Image]] packages the files, software, configuration, and metadata required to instantiate a containerized workload.
- +
-Building container images through [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] allows the Image Management workflow to produce image [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] for later verification, signing, promotion, transfer, publication, and deployment. +
- +
-[[dido:99_annexes:annex-b-terms-and-definitions:c:container_image]] building contributes to: +
- +
-  * Repeatable image creation +
-  * Controlled image content +
-  * Consistent workload instantiation +
-  * Automated build workflows +
-  * [[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]] +
- +
-The build operation may consume: +
- +
-  * A [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Description]] +
-  * One or more [[dido:99_annexes:annex-b-terms-and-definitions:i:image_layer|Image Layers]] +
-  * A selected [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] +
-  * Application files +
-  * Software packages +
-  * Runtime content +
-  * Configuration values +
-  * Build instructions +
-  * Other [[dido:99_annexes:annex-b-terms-and-definitions:c:controlled_input|Controlled Inputs]]+
  
-The applicable architecture and lower-level requirements determine which inputs apply to particular container-image build.+Building Container Images enables Crucible to produce image [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] for use by separately governed verification, signing, promotion, publication, distribution, and deployment activities.
  
 ===== Applies To ===== ===== Applies To =====
Line 72: Line 37:
   * [[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:c:container_image|Container Images]]   * [[dido:99_annexes:annex-b-terms-and-definitions:c:container_image|Container Images]]
-  * Container-image builds +  * Container Image build operations
-  * Container-image build inputs +
-  * Container-image build outputs +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:image_layer|Image Layers]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Descriptions]] +
-  * Build tools +
-  * Build workflows +
-  * Container runtimes +
-  * Container registries +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipelines]]+
  
 ===== Verification ===== ===== Verification =====
  
-  - Verification SHALL confirm that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] executes a container-image build +Verification confirms that:
-  - Verification SHALL confirm that the build produces a container image+
  
-Verification may include: +  - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] executes a Container Image build 
- +  - The completed build produces a [[dido:99_annexes:annex-b-terms-and-definitions:c:container_image|Container Image]] 
-  * Container-image build testing +  - The resulting Container Image can be identified as the output of the tested build
-  * Build-output inspection +
-  * Container-image Artifact inspection +
-  * Build-log inspection +
-  * Container-runtime instantiation testing +
-  * Automated [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] testing +
- +
-The verification record SHALL identify: +
- +
-  - The tested container-image build +
-  - The resulting container image +
-  - The build result +
-  - The observed output +
-  - 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-003|FR-IMG-003 — Immutable Infrastructure Workflows]] +
-  * [[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-004|FR-DEP-004 — Deploy Containerized Workloads]] +
-  * [[dido:02-crusible:06-machine-images-and-image-layers:start|6. Machine Images and Image Layers]] +
-  * [[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-002''+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 in which a [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] invokes [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] to build controlled image Artifacts used by platform and application workflows. +
- +
-FR-IMG-002 establishes the required container-image build behavior within that workflow. +
- +
-Requirements governing image composition, hardening, signing, verification, promotion, compliance, publication, and deployment define separate behavior associated with the resulting container image. +
- +
-===== 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]] builds a container image.+
  
 ===== Requirement Status ===== ===== Requirement Status =====
  
-Draft+<todo>Review and approve FR-IMG-002 as a leaf requirement.</todo>
  
-The source System Requirements Specification identifies Version 1.1 as draft.+---- 
 +===== Issues ===== 
 + 
 +<todo>Determine whether separate requirements define the minimum required contents of Container Image.</todo>
  
 ---- ----
 ===== Notes for Editors ===== ===== Notes for Editors =====
  
-This requirement page should retain the stable requirement identifier ''FR-IMG-002''.+This requirement page retains the stable requirement identifier ''FR-IMG-002''.
  
-Changes to the Statement SHALL preserve the approved intent of the source requirement.+This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
  
-The Source Statement should preserve the original wording from the controlling System Requirements Specification.+The Statement preserves the approved source intent by requiring Crucible to build Container Images.
  
-The Statement should remain limited to building a container image. +Do not add image composition, hardening, signing, verification, promotion, compliance assessment, publication, distribution, or deployment obligations to the Statement unless the controlling requirement changes through an approved requirements process.
- +
-Requirements for image composition, hardening, signing, verification, promotion, compliance assessment, publication, distribution, and deployment should remain in their applicable requirement pages. +
- +
-Verification criteria should test only the behavior stated in the normalized Statement and should not introduce additional normative obligations. +
- +
-Incoming Traceability should use the wiki Backlinks function rather than a manually maintained list.+
  
 To reference this requirement Statement from another wiki page, insert: To reference this requirement Statement from another wiki page, insert:
Line 178: Line 82:
 {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-002#Statement&noheader&nofooter&noeditbtn}} {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-02-image-management:fr-img-002#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-002.1784300254.txt.gz
  • Last modified: 2026/07/17 07:57
  • by nick_dido