====== FR-CFG-001 — Declarative Infrastructure Configuration ====== [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:start|Go to Crucible Configuration Management Requirements]] ===== Statement ===== [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL define [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure|infrastructure]] through [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]]. ===== Derived From ===== This requirement derives from: * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-001 The Original Requirement states: > //The system SHALL define infrastructure through declarative configuration.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]] FR-CFG-001 replaces **The system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]. No other substantive normalization is required. ===== Rationale ===== [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]] defines the required [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure|infrastructure]] without requiring the configuration to prescribe the procedural steps used to realize it. This separation allows infrastructure definitions to remain independent of the implementation tools and execution mechanisms used to create or modify the infrastructure. ===== Applies To ===== This requirement applies to: * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure|Infrastructure]] * [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]] ===== Verification ===== Verification confirms that: - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] accepts or produces a [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]] that defines [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure|infrastructure]] - The tested Declarative Configuration identifies the infrastructure defined by the configuration - The tested Declarative Configuration expresses the required infrastructure without depending on a prescribed procedural execution sequence ===== Referenced By ===== The following pages reference this requirement: {{backlinks>.#dido:02-crusible}} ===== Delivery Phase ===== Implemented and Verified ===== Implementation Status ===== Assess whether the current Crucible implementation defines infrastructure through Declarative Configuration. ===== Requirement Status ===== Review and approve FR-CFG-001 as a leaf requirement. ---- ===== Issues ===== Determine the minimum information required for a Declarative Configuration to define infrastructure. ---- ===== Notes for Editors ===== This requirement page retains the stable requirement identifier ''FR-CFG-001''. This page is a leaf requirement page and omits a trailing '':start'' from its namespace. The Statement preserves the approved source intent and changes only the actor from **The system** to the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]. Do not add desired-state representation, Infrastructure Environment identification, execution-sequence constraints, validation, approval, versioning, deployment, or history obligations to the Statement unless the controlling requirement changes through an approved requirements process. 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}} ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.