dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-001

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-001 [2026/07/23 13:02] – ↷ Links adapted because of a move operation nick_didodido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-001 [2026/07/30 05:18] (current) – [Delivery Phase] nick_dido
Line 5: Line 5:
 ===== Statement ===== ===== Statement =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL represent the desired state of each [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environment]] through declarative configuration without prescribing the sequence used to create the environment.+[[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]].
  
-===== Source Statement =====+===== Derived From =====
  
-> The system SHALL define infrastructure through declarative configuration.+This requirement derives from:
  
-===== Source =====+  * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-001
  
-Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-001.+The Original Requirement states:
  
-===== Assessment =====+> //The system SHALL define infrastructure through declarative configuration.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
  
-The source statement expresses the approved functional intent but does not provide all information required for deterministic verification.+FR-CFG-001 replaces **The system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]].
  
-The following Specification Discipline and Authoring findings apply: +No other substantive normalization is required.
- +
-  * **The system** does not use the defined system name +
-  * **Define infrastructure** does not identify the infrastructure representation or required result +
-  * **Infrastructure** does not identify the infrastructure object represented by the declarative configuration +
-  * **Declarative configuration** does not explicitly distinguish desired state from an execution procedure +
-  * The source statement does not identify the observable result used to verify compliance +
- +
-The normalized Statement: +
- +
-  * Replaces **The system** with the defined system name +
-  * Identifies the [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environment]] as the represented object +
-  * Identifies desired state as the required content +
-  * Distinguishes declarative representation from the execution sequence used to create the environment +
- +
-The normalized Statement does not introduce configuration validation, approval, application, versioning, deployment, or history obligations. Separate requirements govern those behaviors when required.+
  
 ===== Rationale ===== ===== Rationale =====
  
-Declarative configuration describes the required state of an [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environment]] rather than a sequence of commands or procedural actions. +[[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.
- +
-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 independence +
-  * Configuration reuse +
-  * Consistent environment representation +
-  * Desired-state comparison +
-  * Reduced dependence on manual procedures +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]]+
  
-Other requirements establish machine-readable representation, version control, reusable blueprints, inheritance, and configuration history.+This separation allows infrastructure definitions to remain independent of the implementation tools and execution mechanisms used to create or modify the infrastructure.
  
 ===== Applies To ===== ===== Applies To =====
Line 60: Line 32:
  
   * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]   * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
-  * Declarative configuration +  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure|Infrastructure]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]] +  * [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]]
-  * Desired infrastructure state +
-  * Infrastructure resources +
-  * Configuration values +
-  * Resource relationships+
  
 ===== Verification ===== ===== Verification =====
  
-  - Verification SHALL confirm that each tested declarative configuration identifies the [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environment]] to which it applies +Verification confirms that:
-  - Verification SHALL confirm that each tested declarative configuration represents the desired state of the identified Infrastructure Environment +
-  - Verification SHALL confirm that the represented desired state identifies the infrastructure resources, configuration values, and resource relationships required for the tested Infrastructure Environment +
-  - Verification SHALL confirm that the tested declarative configuration does not prescribe the sequence used to create the Infrastructure Environment+
  
-Verification may include: +  - [[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 
-  * Declarative configuration inspection +  - The tested Declarative Configuration expresses the required infrastructure without depending on a prescribed procedural execution sequence
-  * Desired-state inspection +
-  * Infrastructure resource inspection +
-  * Configuration value inspection +
-  * Resource relationship inspection +
-  * Execution-sequence inspection +
- +
-The verification record SHALL identify: +
- +
-  - The tested declarative configuration +
-  - The applicable Infrastructure Environment +
-  - The represented desired state +
-  - The identified infrastructure resources +
-  - The identified configuration values +
-  - The identified resource relationships +
-  - The observed results +
-  - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] +
- +
-===== Outgoing Traceability ===== +
- +
-This requirement refines: +
- +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-001:start|MO-001 — Repeatable, Compliant, and Secure Infrastructure Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-002:start|MO-002 — Reduced Platform Deployment Timelines]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:start|MO-003 — Platform Independent Deployment]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005:start|MO-005 — Reusable and Version-Controlled Infrastructure]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-006:start|MO-006 — Infrastructure Lifecycle Management]] +
- +
-This requirement operates within the conditions established by+
- +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-001:start|OR-001 — Operational Roles]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002:start|OR-002 — Deployment Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-003:start|OR-003 — Classified and Unclassified Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-004:start|OR-004 — Concurrent Environment Management]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-005:start|OR-005 — Distributed Environment Management]] +
- +
-This requirement also relates to: +
- +
-  * [[dido:02-crusible:05-descriptions-composition-and-baselines:start|5. Descriptions, Composition, and Baselines]] +
-  * [[dido:02-crusible:07-infrastructure-and-deployment:start|7. Infrastructure and Deployment]]+
  
 ===== Referenced By ===== ===== Referenced By =====
  
-The wiki Backlinks function provides the current list of pages that reference ''FR-CFG-001''.+The following pages reference this requirement:
  
-Incoming traceability should be derived dynamically from backlinks rather than maintained as a duplicate manual list. +{{backlinks>.#dido:02-crusible}}
- +
-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 [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|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 ===== ===== Delivery Phase =====
  
-Phase 1 and subsequent phases+Implemented and Verified
  
 ===== Implementation Status ===== ===== Implementation Status =====
  
-Not Assessed +<todo>Assess whether the current Crucible implementation defines infrastructure through Declarative Configuration.</todo>
- +
-Implementation status requires verification that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] represents the desired state of each Infrastructure Environment through declarative configuration without prescribing the sequence used to create the environment.+
  
 ===== Requirement Status ===== ===== Requirement Status =====
  
-Draft+<todo>Review and approve FR-CFG-001 as a leaf requirement.</todo>
  
-The source System Requirements Specification identifies Version 1.1 as draft.+---- 
 +===== Issues ===== 
 + 
 +<todo>Determine the minimum information required for Declarative Configuration to define infrastructure.</todo>
  
 ---- ----
 ===== Notes for Editors ===== ===== Notes for Editors =====
  
-This requirement page should retain the stable requirement identifier ''FR-CFG-001''.+This requirement page retains the stable requirement identifier ''FR-CFG-001''.
  
-Changes to the Statement SHALL preserve the approved intent of the source requirement.+This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
  
-Material changes should receive review and should update the related outbound traceability, verification criteria, and source records.+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]].
  
-The Source Statement should preserve the original wording from the controlling System Requirements Specification. +Do not add desired-state representation, Infrastructure Environment identification, execution-sequence constraints, validation, approval, versioningdeploymentor history obligations to the Statement unless the controlling requirement changes through an approved requirements process.
- +
-Verification criteria should test only the declarative representation behavior defined by the Statement. +
- +
-Configuration validation, approval, applicationversion controlrevision 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: To reference this requirement Statement from another wiki page, insert:
Line 171: Line 82:
 {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-001#Statement&noheader&nofooter&noeditbtn}} {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-001#Statement&noheader&nofooter&noeditbtn}}
 </code> </code>
- 
-Do not rename this page after an external citation unless a redirect or move plan is in place. 
  
 ---- ----
  • dido/02-crusible/99-annexes/annex-c-requirements/03-functional-requirements/03-01-configuration-management/fr-cfg-001.1784836960.txt.gz
  • Last modified: 2026/07/23 13:02
  • by nick_dido