dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-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-01-configuration-management:fr-cfg-002 [2026/07/16 08:12] nick_didodido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-002 [2026/07/30 05:18] (current) – [Delivery Phase] nick_dido
Line 5: Line 5:
 ===== Statement ===== ===== Statement =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL represent each [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] as a machine-readable, [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|version-controlled]] [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifact]].+[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL represent each [[dido:99_annexes:annex-b-terms-and-definitions:i:iac]] as a machine-readable, [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|version-controlled]] [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifact]].
  
 ===== Source Statement ===== ===== Source Statement =====
Line 24: Line 24:
   * **Support** is a weak verb that does not identify the behavior [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] performs   * **Support** is a weak verb that does not identify the behavior [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] performs
   * **Infrastructure-as-Code** does not identify the infrastructure information represented as code   * **Infrastructure-as-Code** does not identify the infrastructure information represented as code
-  * **Methodologies** does not identify the required representation, controls, records, or outcomes+  * **Methodologies** does not identify the required representation or observable result
   * The source statement does not identify whether the infrastructure representation must be machine-readable   * The source statement does not identify whether the infrastructure representation must be machine-readable
-  * The source statement does not identify whether the representation must be maintained through [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] +  * The source statement does not identify whether the representation must be controlled through [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] 
-  * The source statement does not distinguish the representation of infrastructure configuration from the separate behaviors used to validate, compare, review, approve, authorize, apply, or retire that configuration +  * The source statement does not distinguish artifact representation from revision-history preservation
-  * The source statement does not identify the records required to preserve [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]], [[dido:99_annexes:annex-b-terms-and-definitions:a:auditability|Auditability]], and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]+
  
-The normalized Statement replaces the weak verb with **represent**, identifies the [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] as the controlled [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifact]], and defines machine readability and [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] as required characteristics of the representation.+The normalized Statement:
  
-The source statement does not identify validation, comparison, review, approval, authorization, application, rollback, or retirement behavior. These candidate obligations require evaluation against ''FR-CFG-003'' through ''FR-CFG-005'' before allocation to this requirement or creation of derived requirements.+  * Replaces **The system** with the defined system name 
 +  * Replaces **support** with the direct behavior **represent** 
 +  * Identifies the [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] as the represented information 
 +  * Identifies a machine-readable [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifact]] as the required representation 
 +  * Requires the Artifact to remain under [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] 
 + 
 +This requirement governs the representation and control of the Infrastructure Configuration Artifact. ''FR-CFG-005'' separately governs preservation of configuration revisions and the relationships among successive revisions.
  
 ===== Rationale ===== ===== Rationale =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_as_code|Infrastructure as Code]] applies software configuration management disciplines to infrastructure definitions.+[[dido:99_annexes:annex-b-terms-and-definitions:i:iac|Infrastructure as Code]] applies software configuration management practices to infrastructure definitions.
  
-An [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] that exists only as an informal document, manually executed procedure, or untracked script cannot provide reliable reuse, comparison, governance, or reconstruction. +An [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] that exists only as an informal document, manually executed procedure, or untracked script cannot serve as a consistently processable and controlled infrastructure definition.
- +
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] represents Infrastructure Configurations as machine-readable, version-controlled [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]].+
  
 A machine-readable representation allows an authorized tool or workflow to process the Infrastructure Configuration without manual transcription. A machine-readable representation allows an authorized tool or workflow to process the Infrastructure Configuration without manual transcription.
  
-[[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] preserves the configuration content associated with each revision and the relationships among successive revisions.+[[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] places the Infrastructure Configuration Artifact under controlled revision management.
  
-This representation provides a foundation for separately defined configuration management behaviors such as:+The machine-readable, version-controlled representation provides a foundation for separately defined behaviors such as:
  
-  * Configuration validation 
-  * Configuration comparison 
-  * Configuration review 
-  * Configuration approval 
-  * Configuration application 
   * Configuration reuse   * Configuration reuse
-  * Configuration rollback +  * Configuration inheritance 
-  * Configuration retirement +  * Configuration revision preservation 
-  * Drift detection+  * Configuration comparison 
 +  * Infrastructure deployment 
 +  * Environment reconstruction
  
-The machine-readable, version-controlled representation supports:+This representation contributes to:
  
 +  * Consistent automated processing
 +  * Controlled configuration change
 +  * Configuration reuse
   * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]]   * [[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:p:provenance|Provenance]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:a:auditability|Auditability]] 
   * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]   * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]
  
Line 70: Line 72:
  
   * [[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:i:infrastructure_as_code|Infrastructure as Code]]+  * [[dido:99_annexes:annex-b-terms-and-definitions:i:iac|Infrastructure as Code]]
   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]]   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]] 
   * [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]]   * [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]]
   * Machine-readable representations   * Machine-readable representations
   * [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]]   * [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:revision|Revisions]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:revision_history|Revision History]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration_management|Configuration Management]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:a:auditability|Auditability]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] 
  
 ===== Verification ===== ===== Verification =====
  
-  - Verification SHALL confirm that each tested [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] uses a machine-readable representation +  - Verification SHALL confirm that each tested [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] exists as an identifiable [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifact]] 
-  - Verification SHALL confirm that an authorized tool can process the machine-readable representation without requiring manual transcription +  - Verification SHALL confirm that each tested Infrastructure Configuration Artifact uses a machine-readable representation 
-  - Verification SHALL confirm that each tested Infrastructure Configuration is maintained by the applicable [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] system +  - Verification SHALL confirm that an authorized tool can parse the machine-readable representation without manual transcription 
-  - Verification SHALL confirm that the Version Control system preserves the content associated with each tested configuration revision +  - Verification SHALL confirm that each tested Infrastructure Configuration Artifact is maintained under the applicable [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control|Version Control]] system 
-  - Verification SHALL confirm that the Version Control system preserves the relationship between successive configuration revisions +  - Verification SHALL confirm that the Version Control system assigns an identifiable revision to the tested Infrastructure Configuration Artifact 
-  - Verification SHALL confirm that an authorized user can retrieve a tested configuration revision +  - Verification SHALL confirm that an authorized user or process can retrieve the identified revision
-  - Verification SHALL confirm that the configuration record preserves the applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]+
  
 Verification may include: Verification may include:
  
 +  * Artifact inspection
   * Machine-readable format inspection   * Machine-readable format inspection
   * Automated parsing tests   * Automated parsing tests
-  * Automated processing tests 
   * Version Control repository inspection   * Version Control repository inspection
-  * Repository history inspection +  * Revision identification tests 
-  * Revision content inspection +  * Revision retrieval tests
-  * Revision relationship inspection +
-  * Prior revision retrieval tests+
  
 The verification record SHALL identify: The verification record SHALL identify:
  
-  - The tested [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]]+  - The tested Infrastructure Configuration 
 +  - The corresponding Artifact
   - The machine-readable representation   - The machine-readable representation
-  - The tool used to process the representation +  - The tool used to parse the representation 
-  - The processing result +  - The parsing result 
-  - The Version Control repository +  - The applicable Version Control system 
-  - The tested revision +  - The tested revision identifier
-  - The preceding revision, when applicable +
-  - The succeeding revision, when applicable+
   - The revision retrieval result   - The revision retrieval result
-  - The applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] 
   - The observed results   - The observed results
   - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]   - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]
Line 124: Line 113:
 This requirement refines: This requirement refines:
  
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-001|MO-001 — Repeatable, Compliant, and Secure Infrastructure Environments]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-001:start|MO-001 — Repeatable, Compliant, and Secure Infrastructure Environments]] 
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-002|MO-002 — Reduced Platform Deployment Timelines]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-002:start|MO-002 — Reduced Platform Deployment Timelines]] 
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003|MO-003 — Platform Independent Deployment]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:start|MO-003 — Platform Independent Deployment]] 
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005|MO-005 — Reusable and Version-Controlled Infrastructure]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:start|MO-005 — Reusable and Version-Controlled Infrastructure]] 
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-006|MO-006 — Infrastructure Lifecycle Management]]+  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-006:start|MO-006 — Infrastructure Lifecycle Management]]
  
 This requirement operates within the conditions established by: This requirement operates within the conditions established by:
  
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-001|OR-001 — Operational Roles]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-001:start|OR-001 — Operational Roles]] 
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002|OR-002 — Deployment Environments]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002:start|OR-002 — Deployment Environments]] 
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-003|OR-003 — Classified and Unclassified Environments]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-003:start|OR-003 — Classified and Unclassified Environments]] 
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-004|OR-004 — Concurrent Environment Management]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-004:start|OR-004 — Concurrent Environment Management]] 
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-005|OR-005 — Distributed Environment Management]]+  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-005:start|OR-005 — Distributed Environment Management]]
  
 This requirement also relates to: This requirement also relates to:
Line 156: Line 145:
 The Crucible Concept of Operations describes Phase 1 as a command-line utility invoked through [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] steps. The Crucible Concept of Operations describes Phase 1 as a command-line utility invoked through [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] steps.
  
-The Phase 1 workflow uses machine-readable, version-controlled Infrastructure Configurations as controlled inputs for activities such as:+The Phase 1 workflow uses machine-readable, version-controlled Infrastructure Configuration Artifacts as controlled inputs for activities such as:
  
-  * Selecting applicable configuration revisions+  * Selecting an identified configuration revision
   * Composing selected [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]]   * Composing selected [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]]
   * Building [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]]   * Building [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]]
   * Preparing deployment inputs   * Preparing deployment inputs
   * Performing [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]]   * Performing [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]]
-  * Recording the configuration revision associated with an execution 
-  * Preserving execution results and [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] 
  
-The machine-readable, version-controlled representation provides the controlled Infrastructure Configuration input required by these activities. +The machine-readable representation allows automated processing. Version Control provides controlled identification and retrieval of the Artifact revision used by the workflow.
- +
-Configuration validation, review, approval, authorization, application, and rollback remain separate functional behaviors subject to allocation across the remaining Configuration Management requirements.+
  
 ===== Delivery Phase ===== ===== Delivery Phase =====
  
-Phase 1 and subsequent phases+Implemented and Verified
  
 ===== Implementation Status ===== ===== Implementation Status =====
Line 178: Line 163:
 Not Assessed Not Assessed
  
-Implementation status requires verification that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] represents Infrastructure Configurations as machine-readable, version-controlled Artifacts.+Implementation status requires verification that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] represents each Infrastructure Configuration as machine-readable, version-controlled Artifact.
  
 ===== Requirement Status ===== ===== Requirement Status =====
Line 193: Line 178:
 Changes to the Statement SHALL preserve the approved intent of the source requirement. Changes to the Statement SHALL preserve the approved intent of the source requirement.
  
-Material changes should receive review and should update the related outbound traceability, verification criteria, configuration records, and source records.+Material changes should receive review and should update the related outbound traceability, verification criteria, and source records.
  
 The Source Statement should preserve the original wording from the controlling System Requirements Specification. The Source Statement should preserve the original wording from the controlling System Requirements Specification.
  
-The Configuration Management completeness review should evaluate whether validationcomparison, review, approval, authorization, application, rollback, and retirement obligations are allocated to ''FR-CFG-003'' through ''FR-CFG-005'' or require derived requirements.+Verification criteria should test only the Artifact representationmachine readability, and Version Control behavior defined by the Statement. 
 + 
 +Revision-content preservation and relationships among successive revisions belong to ''FR-CFG-005'' and should not be duplicated as normative behavior on this page.
  
 Incoming traceability should use the wiki Backlinks function rather than a manually maintained list. Incoming traceability should use the wiki Backlinks function rather than a manually maintained list.
  • dido/02-crusible/99-annexes/annex-c-requirements/03-functional-requirements/03-01-configuration-management/fr-cfg-002.1784214754.txt.gz
  • Last modified: 2026/07/16 08:12
  • by nick_dido