FR-CFG-001 — Declarative Infrastructure Configuration

Go to Crucible Configuration Management Requirements

Statement

Crucible SHALL represent the desired state of each Infrastructure Environment through declarative configuration that identifies the required infrastructure resources, configuration values, relationships, and applicable Baseline references without prescribing the sequence used to create the environment.

Source Statement

The system SHALL define infrastructure through declarative configuration.

Source

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

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 nameDefine infrastructure does not identify the infrastructure representation, required content, or resulting artifactInfrastructure does not identify whether the requirement applies to an Infrastructure Environment, Infrastructure Baseline, deployed resources, or another representationDeclarative configuration does not identify the minimum information required to describe the desired stateThe source statement does not distinguish desired state from execution sequenceThe source statement does not identify how the declarative configuration references applicable BaselinesThe source statement does not define the validation criteria applied to the configurationThe source statement does not identify the records required to preserve configuration Provenance and TraceabilityThe normalized Statement identifies the managed Infrastructure Environment, defines the minimum content of the declarative configuration, distinguishes desired state from execution sequence, and requires applicable Baseline references.

Rationale

Declarative configuration describes the required state of an Infrastructure Environment rather than a sequence of manual or procedural actions.

A declarative representation allows Crucible to compare intended state with observed state, determine the actions required to reach the intended state, and apply the same configuration through repeatable workflows.

The declarative configuration identifies:

Required infrastructure resourcesRequired configuration valuesRelationships among resourcesApplicable Baseline identifiers and revisionsRequired inputs and parametersApplicable constraintsApplicable acceptance criteriaSeparating desired state from execution sequence allows provider implementations and deployment tools to determine how to realize the required environment without embedding tool-specific procedures in the platform independent configuration.

Controlled declarative configuration also supports:

Configuration comparisonChange reviewConfiguration validationConfiguration reuseDrift detectionReproducibilityProvenanceTraceability

Applies To

This requirement applies to:

Declarative configurationCrucible DescriptionsInfrastructure EnvironmentsInfrastructure BaselinesBaselinesControlled inputsInfrastructure resourcesConfiguration valuesResource relationshipsConfiguration constraintsAcceptance criteriaConfiguration validationConfiguration comparisonConfiguration change recordsProvenanceReproducibilityTraceabilityCI/CD PipelinesOperational Lifecycle

Verification

Verification SHALL confirm that each tested declarative configuration identifies the Infrastructure Environment to which it appliesVerification SHALL confirm that each tested declarative configuration identifies the required infrastructure resourcesVerification SHALL confirm that each tested declarative configuration identifies the required configuration valuesVerification SHALL confirm that each tested declarative configuration identifies the required relationships among infrastructure resourcesVerification SHALL confirm that each tested declarative configuration identifies the applicable Baseline identifiers and revisionsVerification SHALL confirm that each tested declarative configuration identifies the applicable controlled inputs and parametersVerification SHALL confirm that each tested declarative configuration identifies the applicable constraints and acceptance criteriaVerification SHALL confirm that the declarative configuration expresses desired state without prescribing the execution sequence used to create the environmentVerification SHALL confirm that Crucible validates the declarative configuration before applying itVerification SHALL confirm that Crucible rejects a declarative configuration that omits required information or violates an applicable constraintVerification SHALL confirm that equivalent declarative configurations and controlled inputs produce Infrastructure Environments that satisfy the same acceptance criteriaVerification SHALL confirm that changes to a declarative configuration remain distinguishable from the previously approved configurationVerification SHALL confirm that configuration and deployment records preserve the applicable Provenance, Evidence, and TraceabilityVerification may include:

Configuration schema validationRequired-field validationResource relationship validationBaseline reference validationConstraint validationInvalid configuration testsMissing input testsConfiguration comparisonRepeated deployment testsCross-platform deployment testsDesired-state comparisonConfiguration drift testsEnd-to-end CI/CD Pipeline testsThe verification record SHALL identify:

The tested declarative configurationThe applicable Infrastructure EnvironmentThe required infrastructure resourcesThe required configuration valuesThe resource relationshipsThe applicable Baseline identifiers and revisionsThe controlled inputs and parametersThe applicable constraintsThe applicable acceptance criteriaThe validation resultsThe resulting Infrastructure EnvironmentThe 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-001.

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 controlled and versioned configuration inputs to:

Select applicable BaselinesCompose required configuration informationBuild Machine ImagesPrepare infrastructure deployment inputsPerform Infrastructure DeploymentValidate resulting environmentsRecord deployment results and EvidenceDeclarative configuration provides the desired-state input used by these activities while allowing provider implementations and external deployment tools to determine the execution sequence required for each target platform.

Delivery Phase

Phase 1 and subsequent phases

Implementation Status

Not Assessed

Implementation status requires verification that Crucible can validate and apply declarative configuration that identifies the required infrastructure resources, configuration values, relationships, Baseline references, constraints, and acceptance criteria.

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-001.

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-001#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.