Differences
This shows you the differences between two versions of the page.
| 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:05] – created nick_dido | dido: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: | + | [[dido: |
| ===== Source Statement ===== | ===== Source Statement ===== | ||
| Line 23: | Line 23: | ||
| * **The system** does not use the defined system name | * **The system** does not use the defined system name | ||
| * **Support** is a weak verb that does not identify the behavior [[dido: | * **Support** is a weak verb that does not identify the behavior [[dido: | ||
| - | * **Infrastructure-as-Code** does not identify the infrastructure information | + | * **Infrastructure-as-Code** does not identify the infrastructure information |
| - | * **Methodologies** does not identify the required | + | * **Methodologies** does not identify the required |
| * 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 require unique identification or [[dido: | + | * The source statement does not identify whether the representation must be controlled through |
| - | * The source statement does not identify the validation, comparison, review, or approval activities applied to the configuration | + | * The source statement does not distinguish artifact representation from revision-history preservation |
| - | * The source statement does not identify how an approved configuration relates to the resulting Infrastructure Environment | + | |
| - | * The source statement does not identify the records required to preserve [[dido: | + | |
| - | The normalized Statement | + | The normalized Statement: |
| + | |||
| + | * Replaces **The system** with the defined system name | ||
| + | * Replaces **support** | ||
| + | * Identifies | ||
| + | * Identifies a machine-readable [[dido: | ||
| + | * Requires the Artifact | ||
| + | |||
| + | This requirement governs the representation and control of the Infrastructure Configuration Artifact. '' | ||
| ===== Rationale ===== | ===== Rationale ===== | ||
| - | Infrastructure as Code applies software configuration management | + | [[dido: |
| - | An Infrastructure Configuration that exists only as an informal document, manually executed procedure, or untracked script cannot | + | An [[dido: |
| - | [[dido: | + | A machine-readable |
| - | * Create | + | [[dido: |
| - | * Validate | + | |
| - | * Compare | + | |
| - | * Review | + | |
| - | * Approve | + | |
| - | * Version | + | |
| - | * Retrieve | + | |
| - | * Apply | + | |
| - | * Reuse | + | |
| - | * Retire | + | |
| - | The managed configuration records: | + | The machine-readable, |
| - | * A stable identifier | + | * Configuration reuse |
| - | * A revision identifier | + | * Configuration inheritance |
| - | * The configuration content | + | * Configuration revision preservation |
| - | * The applicable schema or validation rules | + | * Configuration comparison |
| - | * The source repository | + | * Infrastructure deployment |
| - | * The author or automated process | + | * Environment reconstruction |
| - | * The review and approval status | + | |
| - | * The relationship to preceding and succeeding revisions | + | |
| - | * The applicable [[dido: | + | |
| - | * The Infrastructure Environments created or modified using the configuration | + | |
| - | This treatment allows organizations | + | This representation contributes |
| - | Infrastructure as Code supports: | + | |
| - | + | * Controlled configuration change | |
| - | | + | * Configuration reuse |
| - | * Peer review | + | |
| - | * Change approval | + | |
| - | * Configuration | + | |
| - | * Controlled | + | |
| - | * Rollback | + | |
| - | * Drift detection | + | |
| * [[dido: | * [[dido: | ||
| * [[dido: | * [[dido: | ||
| - | * [[dido: | ||
| * [[dido: | * [[dido: | ||
| Line 86: | Line 72: | ||
| * [[dido: | * [[dido: | ||
| - | * [[dido: | + | * [[dido: |
| * [[dido: | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| * [[dido: | * [[dido: | ||
| + | * Machine-readable representations | ||
| * [[dido: | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * Configuration validation | ||
| - | * Configuration comparison | ||
| - | * Configuration review | ||
| - | * Configuration approval | ||
| - | * Configuration application | ||
| - | * Configuration rollback | ||
| - | * Configuration retirement | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| - | * [[dido: | ||
| ===== Verification ===== | ===== Verification ===== | ||
| - | - Verification SHALL confirm that each tested Infrastructure Configuration | + | - Verification SHALL confirm that each tested |
| - | | + | - Verification SHALL confirm that each tested Infrastructure Configuration |
| - | - Verification SHALL confirm that each tested Infrastructure Configuration uses a machine-readable representation | + | - Verification SHALL confirm that an authorized tool can parse the machine-readable representation without manual transcription |
| - | - Verification SHALL confirm that the applicable Version Control system preserves the content associated with each configuration revision | + | - Verification SHALL confirm that each tested Infrastructure Configuration |
| - | | + | - Verification SHALL confirm that the Version Control system assigns |
| - | - Verification SHALL confirm that the Version Control system records the source and author of each tested | + | - Verification SHALL confirm that an authorized user or process |
| - | - Verification SHALL confirm that Crucible validates an Infrastructure Configuration | + | |
| - | - Verification SHALL confirm that Crucible rejects an Infrastructure Configuration that violates an applicable | + | |
| - | | + | |
| - | | + | |
| - | - Verification SHALL confirm that Crucible applies only an authorized Infrastructure Configuration | + | |
| - | - Verification SHALL confirm that the resulting environment record identifies the Infrastructure Configuration | + | |
| - | - Verification SHALL confirm that a change to approved configuration content creates a separately identified revision | + | |
| - | - Verification SHALL confirm that an authorized user can retrieve | + | |
| - | - Verification SHALL confirm that a prior authorized revision can be selected for rollback when the applicable rollback criteria are satisfied | + | |
| - | - Verification SHALL confirm that the configuration and environment records preserve the applicable Provenance, Evidence, Auditability, | + | |
| Verification may include: | Verification may include: | ||
| - | * Configuration identifier inspection | + | * Artifact |
| - | * Revision identifier | + | |
| * Machine-readable format inspection | * Machine-readable format inspection | ||
| - | * Repository history inspection | + | * Automated parsing |
| - | * Configuration schema validation | + | * Version Control repository |
| - | * Constraint validation | + | * Revision identification |
| - | * Invalid configuration | + | * Revision |
| - | * Configuration comparison | + | |
| - | * Change review | + | |
| - | * Approval record inspection | + | |
| - | * Unauthorized revision | + | |
| - | * Configuration application tests | + | |
| - | * Prior revision | + | |
| - | * Rollback tests | + | |
| - | * Environment record inspection | + | |
| - | * End-to-end [[dido: | + | |
| The verification record SHALL identify: | The verification record SHALL identify: | ||
| - The tested Infrastructure Configuration | - The tested Infrastructure Configuration | ||
| - | - The configuration identifier | + | - The corresponding Artifact |
| - | - The configuration revision identifier | + | |
| - The machine-readable representation | - The machine-readable representation | ||
| - | - The configuration source location | + | - The tool used to parse the representation |
| - | - The configuration author or automated process | + | - The parsing result |
| - | - The preceding revision | + | - The applicable Version Control system |
| - | - The succeeding | + | - The tested |
| - | - The applicable schema and validation rules | + | - The revision |
| - | - The validation results | + | |
| - | - The review status | + | |
| - | - The approval status | + | |
| - | - The target Infrastructure Environment | + | |
| - | - The applied configuration | + | |
| - | - The resulting environment record | + | |
| - | - The rollback | + | |
| - The observed results | - The observed results | ||
| - The generated [[dido: | - The generated [[dido: | ||
| Line 175: | Line 113: | ||
| This requirement refines: | This requirement refines: | ||
| - | * [[dido: | + | * [[dido: |
| - | * [[dido: | + | * [[dido: |
| - | * [[dido: | + | * [[dido: |
| - | * [[dido: | + | * [[dido: |
| - | * [[dido: | + | * [[dido: |
| This requirement operates within the conditions established by: | This requirement operates within the conditions established by: | ||
| - | * [[dido: | + | * [[dido: |
| - | * [[dido: | + | * [[dido: |
| - | * [[dido: | + | * [[dido: |
| - | * [[dido: | + | * [[dido: |
| - | * [[dido: | + | * [[dido: |
| This requirement also relates to: | This requirement also relates to: | ||
| Line 207: | Line 145: | ||
| The Crucible Concept of Operations describes Phase 1 as a command-line utility invoked through [[dido: | The Crucible Concept of Operations describes Phase 1 as a command-line utility invoked through [[dido: | ||
| - | The Phase 1 workflow uses version-controlled, | + | The Phase 1 workflow uses machine-readable, version-controlled Infrastructure Configuration Artifacts as controlled inputs for activities such as: |
| - | * Select the applicable | + | * Selecting an identified |
| - | * Validate the configuration | + | * Composing |
| - | * Review configuration changes | + | * Building |
| - | * Compose | + | * Preparing |
| - | * Build [[dido: | + | * Performing |
| - | * Prepare | + | |
| - | * Perform | + | |
| - | * Record the configuration revision used by the deployment | + | |
| - | * Preserve deployment results and Evidence | + | |
| - | This workflow applies software engineering controls to infrastructure configuration before Crucible applies | + | The machine-readable representation allows automated processing. Version Control provides controlled identification and retrieval of the Artifact revision used by the workflow. |
| ===== Delivery Phase ===== | ===== Delivery Phase ===== | ||
| - | Phase 1 and subsequent phases | + | Implemented |
| ===== Implementation Status ===== | ===== Implementation Status ===== | ||
| Line 229: | Line 163: | ||
| Not Assessed | Not Assessed | ||
| - | Implementation status requires verification that Crucible | + | Implementation status requires verification that [[dido: |
| ===== Requirement Status ===== | ===== Requirement Status ===== | ||
| Line 244: | 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, | + | Material changes should receive review and should update the related outbound traceability, |
| 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. | ||
| + | |||
| + | Verification criteria should test only the Artifact representation, | ||
| + | |||
| + | Revision-content preservation and relationships among successive revisions belong to '' | ||
| 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. | ||