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

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-004 [2026/07/16 08:25] nick_didodido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-004 [2026/07/30 05:16] (current) nick_dido
Line 5: Line 5:
 ===== Statement ===== ===== Statement =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL produce a resolved [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] by combining configuration values inherited from an identified parent Infrastructure Configuration with explicit overrides defined by the child Infrastructure Configuration.+[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL derive an [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] from an identified parent Infrastructure Configuration.
  
-===== Source Statement =====+===== Derived From =====
  
-> The system SHALL support environment inheritance models.+This requirement derives from:
  
-===== Source =====+  * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-004
  
-Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, Configuration Management, FR-CFG-004.+The Original Requirement states:
  
-===== Assessment =====+> //The system SHALL support environment inheritance models.//[[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-004:
  
-The following Specification Discipline and Authoring findings apply: +  Replaces **The system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] 
- +  * Replaces the weak phrase **support environment inheritance models** with the observable behavior **derive** 
-  * **The system** does not use the defined system name +  * Identifies an Infrastructure Configuration as the subject of inheritance 
-  * **Support** is a weak verb that does not identify the behavior [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] performs +  * Identifies a parent Infrastructure Configuration as the source of inherited configuration content
-  * **Environment inheritance model** does not identify the inherited artifact, inheritance relationship, or resulting configuration +
-  The source statement does not distinguish a parent Infrastructure Configuration from a child Infrastructure Configuration +
-  The source statement does not identify the result produced by resolving inherited values and child overrides +
-  The source statement does not identify which configuration values may be overridden +
-  The source statement does not identify how an explicit override replaces an inherited value +
-  * The source statement does not identify how values without an explicit override are resolved +
-  * The source statement does not define how inheritance conflicts are detected or resolved +
-  * The source statement does not identify how the resolved configuration preserves its relationship to the parent and child configurations +
-  * The source statement does not identify the validation criteria applied to the resolved configuration +
- +
-The normalized Statement replaces the weak verb with **produce**, identifies the resolved Infrastructure Configuration as the required result, and defines how inherited values and explicit child overrides contribute to that result. +
- +
-Inheritance validation, conflict handling, inheritance depth, multiple-parent inheritance, override authorization, and resolved-configuration traceability require evaluation during the Configuration Management completeness review before allocation to this requirement or creation of derived requirements.+
  
 ===== Rationale ===== ===== Rationale =====
  
-Environment inheritance allows related [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]] to share common configuration without duplicating the complete configuration for each environment. +Environment inheritance allows related [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]] to share common configuration content.
- +
-A parent [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] may define values common to a group of environments, such as: +
- +
-  * Network structure +
-  * Security settings +
-  * Approved [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baseline]] references +
-  * Common infrastructure resources +
-  * Resource relationships +
-  * Logging settings +
-  * Compliance settings +
-  * Operational constraints +
- +
-A child Infrastructure Configuration identifies its parent configuration and defines only the explicit differences required by the target environment. +
- +
-For example, development, test, staging, and production environments may inherit common infrastructure intent while overriding values such as: +
- +
-  * Resource capacity +
-  * Scaling limits +
-  * Network addresses +
-  * Environment identifiers +
-  * Deployment regions +
-  * Access restrictions +
-  * Retention periods +
- +
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] combines inherited values with explicit child overrides to produce a resolved Infrastructure Configuration. +
- +
-For each configuration value: +
- +
-  * The resolved configuration retains the inherited value when the child configuration does not define an override +
-  * The resolved configuration uses the child value when the child configuration defines an explicit override +
- +
-The resolved configuration preserves the distinction between: +
- +
-  * Values inherited from the parent Infrastructure Configuration +
-  * Values explicitly overridden by the child Infrastructure Configuration +
-  * Values introduced by the child Infrastructure Configuration +
-  * The resulting values used for the target environment +
- +
-This distinction allows an evaluator or operator to determine: +
- +
-  * Which parent configuration applies +
-  * Which values originated in the parent configuration +
-  * Which values the child configuration overrides +
-  * Which values the child configuration introduces +
-  * Which values form the resolved Infrastructure Configuration+
  
-Environment inheritance supports:+A derived Infrastructure Configuration uses configuration content from an identified parent Infrastructure Configuration rather than duplicating the complete configuration.
  
-  * Reduced configuration duplication +This approach reduces configuration duplication and promotes consistency among related Infrastructure Environments.
-  * Consistent configuration across related environments +
-  * Controlled environment-specific variation +
-  * Configuration comparison +
-  * Reduced configuration drift +
-  * [[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:a:auditability|Auditability]] +
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]+
  
 ===== Applies To ===== ===== Applies To =====
Line 105: Line 39:
   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]]   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configurations]]
   * Parent Infrastructure Configurations   * Parent Infrastructure Configurations
-  * Child Infrastructure Configurations +  * Derived Infrastructure Configurations
-  * Resolved Infrastructure Configurations +
-  * Environment inheritance +
-  * Inherited configuration values +
-  * Explicit configuration overrides +
-  * Child-defined configuration values+
   * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_environment|Infrastructure Environments]]   * [[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]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_blueprint|Infrastructure Blueprints]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:b:baseline|Baselines]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baselines]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration_management|Configuration Management]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:a:auditability|Auditability]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:r:reproducibility|Reproducibility]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] 
  
 ===== Verification ===== ===== Verification =====
  
-  - Verification SHALL confirm that each tested child [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_configuration|Infrastructure Configuration]] identifies its parent Infrastructure Configuration +Verification confirms that:
-  - Verification SHALL confirm that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] produces a resolved Infrastructure Configuration from the identified parent and child configurations +
-  - Verification SHALL confirm that the resolved Infrastructure Configuration contains the applicable values inherited from the identified parent +
-  - Verification SHALL confirm that an explicit value defined by the child Infrastructure Configuration replaces the corresponding inherited value +
-  - Verification SHALL confirm that a value not explicitly overridden by the child retains the value inherited from the parent Infrastructure Configuration +
-  - Verification SHALL confirm that a value introduced by the child Infrastructure Configuration appears in the resolved Infrastructure Configuration +
-  - Verification SHALL confirm that the resolved Infrastructure Configuration distinguishes inherited values from explicit child overrides and child-introduced values +
-  - Verification SHALL confirm that resolving the child Infrastructure Configuration does not modify the parent Infrastructure Configuration +
-  - Verification SHALL confirm that resolving the child Infrastructure Configuration does not modify the child Infrastructure Configuration +
-  - Verification SHALL confirm that the resolved Infrastructure Configuration identifies the parent and child configurations used to produce it +
-  - Verification SHALL confirm that the resolved Infrastructure Configuration satisfies the applicable acceptance criteria +
-  - Verification SHALL confirm that the configuration records preserve the applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] and [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]+
  
-Verification may include: +  A tested Infrastructure Configuration identifies a parent Infrastructure Configuration 
- +  - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] derives the tested Infrastructure Configuration from the identified parent Infrastructure Configuration 
-  * Parent configuration inspection +  - The derived Infrastructure Configuration contains configuration content obtained from the identified parent Infrastructure Configuration 
-  * Child configuration inspection +  - The relationship between the derived Infrastructure Configuration and its identified parent can be determined
-  * Inheritance relationship inspection +
-  * Inherited-value comparison +
-  * Explicit override tests +
-  * Child-introduced value tests +
-  * Resolved-configuration comparison +
-  * Parent configuration immutability tests +
-  * Child configuration immutability tests +
-  * Acceptance criteria evaluation +
-  * Configuration record inspection +
-  * 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 parent Infrastructure Configuration +
-  - The tested child Infrastructure Configuration +
-  - The parent configuration revision +
-  - The child configuration revision +
-  - The inherited configuration values +
-  - The explicitly overridden values +
-  - The values introduced by the child configuration +
-  - The resulting resolved Infrastructure Configuration +
-  - The inheritance relationship +
-  - The applicable acceptance criteria +
-  - The observed results +
-  - The applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] +
-  - 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-004''.+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.+===== Implementation Status =====
  
-===== ConOps Relationship =====+Implemented and Verified
  
-The Crucible Concept of Operations describes the use of reusable and versioned configuration content within a [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] workspace.+===== Requirement Status =====
  
-Environment inheritance allows the workflow to:+<todo>Review and approve FR-CFG-004 as a leaf requirement.</todo>
  
-  * Select a parent Infrastructure Configuration +---- 
-  * Select a child Infrastructure Configuration +===== Issues =====
-  * Retrieve common configuration values from the parent +
-  * Apply explicit overrides defined by the child +
-  * Include values introduced by the child +
-  * Produce a resolved Infrastructure Configuration +
-  * Preserve the relationship among the parent, child, and resolved configurations +
-  * Perform [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployment]] +
-  * Record the resolved Infrastructure Configuration associated with the deployment +
-  * Preserve execution results and [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] +
- +
-This model reduces duplicated configuration while preserving explicit and reviewable differences among related environments. +
- +
-===== Delivery Phase ===== +
- +
-Phase 1 and subsequent phases +
- +
-===== Implementation Status ===== +
- +
-Not Assessed +
- +
-Implementation status requires verification that [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] produces a resolved Infrastructure Configuration by combining values inherited from an identified parent Infrastructure Configuration with explicit overrides defined by the child Infrastructure Configuration. +
- +
-===== Requirement Status =====+
  
-Draft+<todo>Determine whether Environment Inheritance requires a controlled definition in the shared Terms and Definitions corpus.</todo>
  
-The source System Requirements Specification identifies Version 1.1 as a draft.+<todo>Determine whether separate requirements define overrides, inheritance depth, conflict resolution, or inheritance from multiple parent Infrastructure Configurations.</todo>
  
 ---- ----
 ===== Notes for Editors ===== ===== Notes for Editors =====
  
-This requirement page should retain the stable requirement identifier ''FR-CFG-004''.+This requirement page retains the stable requirement identifier ''FR-CFG-004''.
  
-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, inheritance records, acceptance criteria, and source records.+The Statement preserves the approved source intent by requiring Crucible to derive an Infrastructure Configuration from an identified parent Infrastructure Configuration.
  
-The Source Statement should preserve the original wording from the controlling System Requirements Specification. +Do not add explicit override behavior, conflict resolution, inheritance depth, multiple-parent inheritance, validationapproval, deployment, revision history, provenance, or traceability obligations to the Statement unless the controlling requirement changes through an approved requirements process.
- +
-The Configuration Management completeness review should evaluate whether inheritance validation, conflict handling, inheritance depth, multiple-parent inheritance, override authorizationand resolved-configuration traceability require derived requirements. +
- +
-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 255: Line 88:
 {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-004#Statement&noheader&nofooter&noeditbtn}} {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:fr-cfg-004#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-004.1784215546.txt.gz
  • Last modified: 2026/07/16 08:25
  • by nick_dido