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

Next revision
Previous revision
dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-001 [2026/07/16 08:02] – created 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 that identifies the required infrastructure resources, configuration values, relationships, and applicable [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] references 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, required content, or resulting artifact +
-  * **Infrastructure** does not identify whether the requirement applies to an Infrastructure Environment, Infrastructure Baseline, deployed resources, or another representation +
-  * **Declarative configuration** does not identify the minimum information required to describe the desired state +
-  * The source statement does not distinguish desired state from execution sequence +
-  * The source statement does not identify how the declarative configuration references applicable Baselines +
-  * The source statement does not define the validation criteria applied to the configuration +
-  * The source statement does not identify the records required to preserve configuration Provenance and Traceability +
- +
-The 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 ===== ===== Rationale =====
  
-Declarative configuration describes the required state of an Infrastructure Environment rather than a sequence of manual 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 allows [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|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 resources +
-  * Required configuration values +
-  * Relationships among resources +
-  * Applicable [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] identifiers and revisions +
-  * Required inputs and parameters +
-  * Applicable constraints +
-  * Applicable acceptance criteria +
- +
-Separating 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 comparison +This separation allows infrastructure definitions to remain independent of the implementation tools and execution mechanisms used to create or modify the infrastructure.
-  * Change review +
-  * Configuration validation +
-  * Configuration reuse +
-  * Drift detection +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]+
  
 ===== Applies To ===== ===== Applies To =====
Line 66: 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:c:crucible_description|Crucible Descriptions]] +  * [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baselines]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] +
-  * Controlled inputs +
-  * Infrastructure resources +
-  * Configuration values +
-  * Resource relationships +
-  * Configuration constraints +
-  * Acceptance criteria +
-  * Configuration validation +
-  * Configuration comparison +
-  * Configuration change records +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipelines]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:o:operational_lifecycle|Operational Lifecycle]]+
  
 ===== Verification ===== ===== Verification =====
  
-  - Verification SHALL confirm that each tested declarative configuration identifies the Infrastructure Environment to which it applies +Verification confirms that:
-  - Verification SHALL confirm that each tested declarative configuration identifies the required infrastructure resources +
-  - Verification SHALL confirm that each tested declarative configuration identifies the required configuration values +
-  - Verification SHALL confirm that each tested declarative configuration identifies the required relationships among infrastructure resources +
-  - Verification SHALL confirm that each tested declarative configuration identifies the applicable Baseline identifiers and revisions +
-  - Verification SHALL confirm that each tested declarative configuration identifies the applicable controlled inputs and parameters +
-  - Verification SHALL confirm that each tested declarative configuration identifies the applicable constraints and acceptance criteria +
-  - Verification SHALL confirm that the declarative configuration expresses desired state without prescribing the execution sequence used to create the environment +
-  - Verification SHALL confirm that Crucible validates the declarative configuration before applying it +
-  - Verification SHALL confirm that Crucible rejects a declarative configuration that omits required information or violates an applicable constraint +
-  - Verification SHALL confirm that equivalent declarative configurations and controlled inputs produce Infrastructure Environments that satisfy the same acceptance criteria +
-  - Verification SHALL confirm that changes to a declarative configuration remain distinguishable from the previously approved configuration +
-  - Verification SHALL confirm that configuration and deployment records preserve the applicable Provenance, Evidence, and Traceability+
  
-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 
-  * Configuration schema validation +  - The tested Declarative Configuration expresses the required infrastructure without depending on a prescribed procedural execution sequence
-  * Required-field validation +
-  * Resource relationship validation +
-  * Baseline reference validation +
-  * Constraint validation +
-  * Invalid configuration tests +
-  * Missing input tests +
-  * Configuration comparison +
-  * Repeated deployment tests +
-  * Cross-platform deployment tests +
-  * Desired-state comparison +
-  * Configuration drift tests +
-  * End-to-end [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] tests +
- +
-The verification record SHALL identify: +
- +
-  - The tested declarative configuration +
-  - The applicable Infrastructure Environment +
-  - The required infrastructure resources +
-  - The required configuration values +
-  - The resource relationships +
-  - The applicable Baseline identifiers and revisions +
-  - The controlled inputs and parameters +
-  - The applicable constraints +
-  - The applicable acceptance criteria +
-  - The validation results +
-  - The resulting Infrastructure Environment +
-  - 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|MO-001 — Repeatable, Compliant, and Secure Infrastructure Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-002|MO-002 — Reduced Platform Deployment Timelines]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003|MO-003 — Platform Independent Deployment]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-005|MO-005 — Reusable and Version-Controlled Infrastructure]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-006|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|OR-001 — Operational Roles]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002|OR-002 — Deployment Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-003|OR-003 — Classified and Unclassified Environments]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-004|OR-004 — Concurrent Environment Management]] +
-  * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-005|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]] +
-  * [[dido:02-crusible:10-reproducibility-provenance-and-traceability:start|10. Reproducibility, Provenance, and Traceability]]+
  
 ===== 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. +
- +
-The Phase 1 workflow uses controlled and versioned configuration inputs to: +
- +
-  * Select applicable Baselines +
-  * Compose required configuration information +
-  * Build [[dido:99_annexes:annex-b-terms-and-definitions:m:machine_image|Machine Images]] +
-  * Prepare infrastructure deployment inputs +
-  * Perform [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]] +
-  * Validate resulting environments +
-  * Record deployment results and Evidence +
- +
-Declarative 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 ===== ===== 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 Crucible can validate and apply declarative configuration that identifies the required infrastructure resources, configuration values, relationships, Baseline references, constraints, and acceptance criteria.+
  
 ===== 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, acceptance criteria, configuration records, 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, versioning, deployment, or history obligations to the Statement unless the controlling requirement 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 216: 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.1784214169.txt.gz
  • Last modified: 2026/07/16 08:02
  • by nick_dido