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 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 or required resultInfrastructure does not identify the infrastructure object represented by the declarative configurationDeclarative configuration does not explicitly distinguish desired state from an execution procedureThe source statement does not identify the observable result used to verify complianceThe normalized Statement:

Replaces The system with the defined system nameIdentifies the Infrastructure Environment as the represented objectIdentifies desired state as the required contentDistinguishes declarative representation from the execution sequence used to create the environmentThe normalized Statement does not introduce configuration validation, approval, application, versioning, deployment, or history obligations. Separate requirements govern those behaviors when required.

Rationale

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

A declarative representation identifies what the resulting environment should contain or satisfy while allowing an implementation or deployment tool to determine how to realize that state.

This separation allows different implementation technologies to process the same infrastructure intent without embedding a technology-specific execution procedure in the configuration.

Declarative infrastructure configuration contributes to:

Platform independenceConfiguration reuseConsistent environment representationDesired-state comparisonReduced dependence on manual proceduresReproducibilityOther requirements establish machine-readable representation, version control, reusable blueprints, inheritance, and configuration history.

Applies To

This requirement applies to:

Declarative configurationInfrastructure EnvironmentsDesired infrastructure stateInfrastructure resourcesConfiguration valuesResource relationships

Verification

Verification SHALL confirm that each tested declarative configuration identifies the Infrastructure Environment to which it appliesVerification SHALL confirm that each tested declarative configuration represents the desired state of the identified Infrastructure EnvironmentVerification SHALL confirm that the represented desired state identifies the infrastructure resources, configuration values, and resource relationships required for the tested Infrastructure EnvironmentVerification SHALL confirm that the tested declarative configuration does not prescribe the sequence used to create the Infrastructure EnvironmentVerification may include:

Declarative configuration inspectionDesired-state inspectionInfrastructure resource inspectionConfiguration value inspectionResource relationship inspectionExecution-sequence inspectionThe verification record SHALL identify:

The tested declarative configurationThe applicable Infrastructure EnvironmentThe represented desired stateThe identified infrastructure resourcesThe identified configuration valuesThe identified resource relationshipsThe 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.

Declarative configuration provides the desired-state representation consumed by the workflow while allowing provider implementations and external deployment tools to determine the execution sequence required for each target platform.

This separation preserves infrastructure intent independently from the implementation procedure used to create an Infrastructure Environment.

Delivery Phase

Phase 1 and subsequent phases

Implementation Status

Not Assessed

Implementation status requires verification that Crucible represents the desired state of each Infrastructure Environment through declarative configuration without prescribing the sequence used to create the environment.

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

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

Verification criteria should test only the declarative representation behavior defined by the Statement.

Configuration validation, approval, application, version control, revision history, deployment, and evidence preservation should not be introduced as normative behavior on this page unless the Statement changes through an approved requirements process.

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.