FR-CFG-002 — Infrastructure as Code

Go to Crucible Configuration Management Requirements

Statement

Crucible SHALL manage each Infrastructure Configuration as a uniquely identified, machine-readable, version-controlled Artifact that authorized workflows can validate, compare, review, approve, and apply to an Infrastructure Environment.

Source Statement

The system SHALL support Infrastructure-as-Code methodologies.

Source

Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-002.

Assessment

The source statement expresses the approved functional intent but does not provide all information required for deterministic verification.

The following Specification Discipline and Authoring findings apply:

The system does not use the defined system nameSupport is a weak verb that does not identify the behavior Crucible performsInfrastructure-as-Code does not identify the infrastructure information managed as codeMethodologies does not identify the required operations, controls, records, or outcomesThe source statement does not identify whether the infrastructure representation must be machine-readableThe source statement does not require unique identification or Version ControlThe source statement does not identify the validation, comparison, review, or approval activities applied to the configurationThe source statement does not identify how an approved configuration relates to the resulting Infrastructure EnvironmentThe source statement does not identify the records required to preserve Provenance, Auditability, and TraceabilityThe normalized Statement replaces the weak verb with manage, identifies the Infrastructure Configuration as the controlled Artifact, and defines the operations required to treat infrastructure configuration as code.

Rationale

Infrastructure as Code applies software configuration management disciplines to infrastructure definitions.

An Infrastructure Configuration that exists only as an informal document, manually executed procedure, or untracked script cannot provide reliable review, comparison, approval, reuse, or reconstruction.

Crucible manages Infrastructure Configurations as machine-readable Artifacts that authorized workflows can:

CreateValidateCompareReviewApproveVersionRetrieveApplyReuseRetireThe managed configuration records:

A stable identifierA revision identifierThe configuration contentThe applicable schema or validation rulesThe source repositoryThe author or automated processThe review and approval statusThe relationship to preceding and succeeding revisionsThe applicable Baseline referencesThe Infrastructure Environments created or modified using the configurationThis treatment allows organizations to apply familiar software engineering controls to infrastructure changes before those changes affect an operational environment.

Infrastructure as Code supports:

Automated validationPeer reviewChange approvalConfiguration comparisonControlled reuseRollbackDrift detectionReproducibilityProvenanceAuditabilityTraceability

Applies To

This requirement applies to:

Configuration validationConfiguration comparisonConfiguration reviewConfiguration approvalConfiguration applicationConfiguration rollbackConfiguration retirementConfiguration ManagementProvenanceAuditabilityReproducibilityTraceabilityCI/CD PipelinesOperational Lifecycle

Verification

Verification SHALL confirm that each tested Infrastructure Configuration has a unique identifierVerification SHALL confirm that each tested Infrastructure Configuration has a revision identifierVerification SHALL confirm that each tested Infrastructure Configuration uses a machine-readable representationVerification SHALL confirm that the applicable Version Control system preserves the content associated with each configuration revisionVerification SHALL confirm that the Version Control system preserves the relationship between successive configuration revisionsVerification SHALL confirm that the Version Control system records the source and author of each tested revisionVerification SHALL confirm that Crucible validates an Infrastructure Configuration before applying itVerification SHALL confirm that Crucible rejects an Infrastructure Configuration that violates an applicable schema, constraint, or validation ruleVerification SHALL confirm that an authorized workflow can compare two Infrastructure Configuration revisionsVerification SHALL confirm that the configuration record identifies the applicable review and approval statusVerification SHALL confirm that Crucible applies only an authorized Infrastructure Configuration revision to the target Infrastructure EnvironmentVerification SHALL confirm that the resulting environment record identifies the Infrastructure Configuration identifier and revision usedVerification SHALL confirm that a change to approved configuration content creates a separately identified revisionVerification SHALL confirm that an authorized user can retrieve a prior Infrastructure Configuration revisionVerification SHALL confirm that a prior authorized revision can be selected for rollback when the applicable rollback criteria are satisfiedVerification SHALL confirm that the configuration and environment records preserve the applicable Provenance, Evidence, Auditability, and TraceabilityVerification may include:

Configuration identifier inspectionRevision identifier inspectionMachine-readable format inspectionRepository history inspectionConfiguration schema validationConstraint validationInvalid configuration testsConfiguration comparisonChange review inspectionApproval record inspectionUnauthorized revision testsConfiguration application testsPrior revision retrieval testsRollback testsEnvironment record inspectionEnd-to-end CI/CD Pipeline testsThe verification record SHALL identify:

The tested Infrastructure ConfigurationThe configuration identifierThe configuration revision identifierThe machine-readable representationThe configuration source locationThe configuration author or automated processThe preceding revisionThe succeeding revision, when applicableThe applicable schema and validation rulesThe validation resultsThe review statusThe approval statusThe target Infrastructure EnvironmentThe applied configuration revisionThe resulting environment recordThe rollback result, when applicableThe observed resultsThe generated Evidence

Outgoing Traceability

This requirement refines:

This requirement operates within the conditions established by:

This requirement also relates to:

Referenced By

The wiki Backlinks function provides the current list of pages that reference FR-CFG-002.

Incoming 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 Phase 1 as a command-line utility invoked through CI/CD Pipeline steps.

The Phase 1 workflow uses version-controlled, machine-readable infrastructure configuration to:

Select the applicable configuration revisionValidate the configurationReview configuration changesCompose selected BaselinesBuild Machine ImagesPrepare deployment inputsPerform Infrastructure DeploymentRecord the configuration revision used by the deploymentPreserve deployment results and EvidenceThis workflow applies software engineering controls to infrastructure configuration before Crucible applies the configuration to an Infrastructure Environment.

Delivery Phase

Phase 1 and subsequent phases

Implementation Status

Not Assessed

Implementation status requires verification that Crucible manages Infrastructure Configurations as uniquely identified, machine-readable, version-controlled Artifacts that authorized workflows can validate, compare, review, approve, and apply.

Requirement Status

Draft

The source System Requirements Specification identifies Version 1.1 as a draft.

Notes for Editors

This requirement page should retain the stable requirement identifier FR-CFG-002.

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, acceptance criteria, configuration records, and source records.

The Source Statement should preserve the original wording from the controlling System Requirements Specification.

Incoming traceability should use the wiki Backlinks function rather than a manually maintained list.

To reference this requirement Statement from another wiki page, insert:

{{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-002#Statement&noheader&nofooter&noeditbtn}}

Do not rename this page after an external citation unless a redirect or move plan is in place.

© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.