| Next revision | Previous revision |
| dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003b [2026/07/20 08:26] – created nick_dido | dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003b [2026/07/30 05:22] (current) – [Delivery Phase] nick_dido |
|---|
| ====== MO-003b — Common Crucible Description ====== | ====== MO-003b — Provider-Independent Crucible Description ====== |
| |
| [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:start|Go to MO-003 — Cloud-Agnostic Deployment]] | [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:start|Go to MO-003 — Cloud-Agnostic Deployment]] |
| ===== Statement ===== | ===== Statement ===== |
| |
| [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL use the same identified version of the platform-independent [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Description]] for each selected [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platform]]. | [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL use the same identified version of the provider-independent [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Description]] for each selected [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platform]]. |
| |
| ===== Derived From ===== | ===== Derived From ===== |
| The Original Requirement states: | The Original Requirement states: |
| |
| > //The system SHALL provide cloud-agnostic deployment capabilities.//[[dido:02-crusible:99-annexes:annex-b:cr-003|[C3]]] | > //The system SHALL provide cloud-agnostic deployment capabilities.//[[dido:02-crusible:99-annexes:annex-b:cr-002|[C2]]] |
| |
| MO-003b preserves the portion of the Original Requirement that requires common platform-independent deployment intent across the selected Deployment Platforms. | MO-003b preserves the portion of the Original Requirement that requires common provider-independent deployment intent across the selected Deployment Platforms. |
| |
| The separate requirements derived from MO-003 address: | The separate requirements derived from MO-003 address: |
| |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003a|MO-003a — Cross-Platform Deployment]] | * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003a|MO-003a — Cross-Platform Deployment]] |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003c|MO-003c — Common Infrastructure Baseline]] | * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003c|MO-003c — Provider-Independent Infrastructure Baseline]] |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003d|MO-003d — Provider-Specific Dependency Limitation]] | * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003d|MO-003d — Limitation of Provider-Specific Dependencies]] |
| |
| ===== Assessment ===== | ===== Rationale ===== |
| |
| The Original Requirement does not identify the deployment information that remains common across Cloud Providers or Deployment Platforms. | A provider-independent [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Description]] allows the same deployment intent to apply across multiple Deployment Platforms. |
| |
| The phrase **cloud-agnostic deployment capabilities** does not identify: | Using the same identified version prevents a change of Deployment Platform from implicitly changing the provider-independent deployment intent. |
| | |
| * The platform-independent deployment intent | |
| * The Artifact that records the deployment intent | |
| * The version of that Artifact | |
| * The Deployment Platforms to which the common deployment intent applies | |
| * The distinction between changes to platform-independent intent and changes to platform-specific information | |
| | |
| MO-003b: | |
| | |
| * Identifies the [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Description]] as the source of platform-independent deployment intent | |
| * Requires use of the same identified Crucible Description version across the selected Deployment Platforms | |
| * Prevents a change of target Deployment Platform from implicitly creating a different platform-independent deployment intent | |
| * Separates common Crucible Description use from cross-platform deployment, common Infrastructure Baseline use, and provider-specific dependency limitation | |
| | |
| ===== Rationale ===== | |
| |
| A common platform-independent Crucible Description allows one deployment intent to apply across multiple Deployment Platforms. | The Crucible Description should express the required deployment without embedding the proprietary interfaces, services, data formats, software development kits, or operational mechanisms of a particular Cloud Provider. |
| |
| The Crucible Description identifies the desired deployment without embedding the proprietary interfaces, services, data formats, software development kits, or operational mechanisms of a particular Cloud Provider. | Platform-specific information remains separate from the provider-independent Crucible Description. A [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_implementation|Provider Implementation]] translates the provider-independent deployment intent into mechanisms supported by the selected Deployment Platform. |
| |
| Using the same identified version supports: | Using the same identified version supports: |
| * Consistent deployment intent | * Consistent deployment intent |
| * Controlled comparison of deployment results | * Controlled comparison of deployment results |
| | * Change control |
| | * Detection of provider-specific information within provider-independent content |
| | * Reuse across supported Deployment Platforms |
| * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] | * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] | * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] |
| * Change control | |
| * Detection of provider-specific information within platform-independent content | |
| * Reuse across supported Deployment Platforms | |
| |
| The requirement uses an identified version rather than the unqualified word **same**. The identifier and version establish the specific Crucible Description used for each deployment. | |
| |
| Platform-specific values required by a target Deployment Platform remain separate from the platform-independent Crucible Description. The applicable provider-specific mechanisms translate the common deployment intent for the target platform. | |
| |
| This requirement does not require use of the same Infrastructure Baseline. MO-003c establishes that requirement. | This requirement does not require use of the same Infrastructure Baseline. MO-003c addresses that outcome. |
| |
| ===== Applies To ===== | ===== Applies To ===== |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_agnosticism|Cloud Agnosticism]] | * [[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_agnosticism|Cloud Agnosticism]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Descriptions]] | * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Descriptions]] |
| | * Crucible Description identifiers |
| | * Crucible Description versions |
| * [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_independent_information|Platform Independent Information]] | * [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_independent_information|Platform Independent Information]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_specific_information|Platform Specific Information]] | * [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_specific_information|Platform Specific Information]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployments]] | * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployments]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] | * [[dido:99_annexes:annex-b-terms-and-definitions:a:artifact|Artifacts]] |
| | * [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] | * [[dido:99_annexes:annex-b-terms-and-definitions:p:provenance|Provenance]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] | * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] |
| * [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]] | |
| |
| ===== Verification ===== | ===== Verification ===== |
| Verification confirms that: | Verification confirms that: |
| |
| - Two or more selected Deployment Platforms are identified | - Two or more selected [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platforms]] are identified |
| | - The provider-independent [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Description]] is identified |
| - Each deployment uses a Crucible Description with the same identifier | - Each deployment uses a Crucible Description with the same identifier |
| - Each deployment uses the same identified version of the Crucible Description | - Each deployment uses the same identified version of the Crucible Description |
| - The Crucible Description contains platform-independent deployment intent | - The Crucible Description contains provider-independent deployment intent |
| - Changing the selected Deployment Platform does not require modification of the identified Crucible Description version | - Changing the selected Deployment Platform does not require modification of the identified Crucible Description version |
| - Platform-specific values remain separate from the platform-independent Crucible Description | - [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_specific_information|Platform Specific Information]] remains separate from the provider-independent Crucible Description |
| - The deployment records identify the Crucible Description identifier and version used for each Deployment Platform | - Each deployment record identifies the Crucible Description identifier and version used for the selected Deployment Platform |
| | - The verification record preserves [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] among the Crucible Description, selected Deployment Platform, Provider Implementation, platform-specific information, and deployment result |
| |
| Verification includes: | ===== Referenced By ===== |
| |
| * Crucible Description inspection | The following pages reference this requirement: |
| * Crucible Description identifier comparison | |
| * Crucible Description version comparison | |
| * Artifact Representation comparison | |
| * Cryptographic digest inspection | |
| * Platform-independent information inspection | |
| * Platform-specific information inspection | |
| * Cross-platform deployment tests | |
| * Deployment-record inspection | |
| * Provenance inspection | |
| * Traceability inspection | |
| * Evidence inspection | |
| |
| The verification record identifies: | {{backlinks>.#dido:02-crusible}} |
| |
| - The selected Deployment Platforms | ===== Delivery Phase ===== |
| - The Crucible Description identifier | |
| - The Crucible Description version | |
| - The applicable Crucible Description Artifact Representation | |
| - The cryptographic digest of the applicable Artifact Representation | |
| - The platform-independent deployment intent | |
| - The platform-specific information used for each Deployment Platform | |
| - The deployment result for each Deployment Platform | |
| - Any detected modification to the Crucible Description | |
| - The observed result | |
| - The generated Evidence | |
| |
| ===== Requirements Realized By ===== | Implemented and Verified |
| |
| This requirement is realized by: | ===== Implementation Status ===== |
| |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002|OR-002 — Deployment Environments]] | <todo>Assess whether deployments to the selected Deployment Platforms use the same identified version of the provider-independent Crucible Description.</todo> |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-005|OR-005 — Distributed Environment Management]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-01-configuration-management:start|FR-CFG-001 through FR-CFG-005]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-03-deployment-orchestration:start|FR-DEP-001 through FR-DEP-007]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-04-multi-cloud-management:start|FR-MC-001 through FR-MC-005]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-08-devsecops-integration:start|FR-DSO-001 through FR-DSO-006]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-09-baseline-composition-and-workspace:start|FR-BAS-001 through FR-BAS-004]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:11-interoperability-requirements:start|INT-001 through INT-007]] | |
| * [[dido:02-crusible:99-annexes:annex-c-requirements:13-key-value-proposition-requirements:kvp-006|KVP-006 — Enable Cloud Portability]] | |
| |
| ===== Related Architecture Sections ===== | ===== Requirement Status ===== |
| |
| * [[dido:02-crusible:05-descriptions-composition-and-baselines:start|5. Descriptions, Composition, and Baselines]] | <todo>Review and accept MO-003b as a proposed derived requirement created from the evaluation and decomposition of MO-003 in the Crucible System Requirements Specification, Version 1.1 Draft.</todo> |
| * [[dido:02-crusible:07-infrastructure-and-deployment:start|7. Infrastructure and Deployment]] | |
| * [[dido:02-crusible:08-dependencies-and-air-gap-operations:start|8. Dependencies and Air Gap Operations]] | |
| * [[dido:02-crusible:10-reproducibility-provenance-and-traceability:start|10. Reproducibility, Provenance, and Traceability]] | |
| |
| ===== Referenced By ===== | ---- |
| | ===== Issues ===== |
| |
| The following pages reference this requirement: | The following unresolved issues affect this requirement: |
| |
| {{backlinks>.#dido:02-crusible}} | <todo>Define the provider-independent information that the Crucible Description must contain.</todo> |
| |
| ===== Delivery Phase ===== | <todo>Define the provider-specific information that must remain separate from the Crucible Description.</todo> |
| |
| Phase 1 and subsequent phases | <todo>Identify the controlling source that defines the boundary between provider-independent and provider-specific information.</todo> |
| |
| ===== Implementation Status ===== | <todo>Determine whether changing the selected Deployment Platform may require any controlled transformation of the Crucible Description without creating a new Crucible Description version.</todo> |
| |
| Not Assessed | <todo>Define the identifier and versioning rules used to determine that each deployment uses the same Crucible Description.</todo> |
| | |
| Implementation status requires verification that deployments to the selected Deployment Platforms use the same identified version of the platform-independent Crucible Description. | |
| | |
| ===== Requirement Status ===== | |
| | |
| Draft | |
| | |
| This requirement derives from MO-003 in the Crucible System Requirements Specification, Version 1.1 Draft. | |
| |
| ---- | ---- |
| This page is a leaf requirement page and omits a trailing '':start'' from its namespace. | This page is a leaf requirement page and omits a trailing '':start'' from its namespace. |
| |
| Changes to the Statement SHALL preserve the common platform-independent Crucible Description intent derived from MO-003. | The parent MO-003 page is a non-leaf page and retains a trailing '':start'' in its namespace. |
| | |
| | Changes to the Statement should preserve: |
| |
| The applicable deployment records should identify: | * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] as the responsible actor |
| | * The provider-independent [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Description]] as the common source of deployment intent |
| | * Use of the same identified Crucible Description version across the selected Deployment Platforms |
| | * Separation of provider-independent and provider-specific information |
| |
| * The Crucible Description identifier | The unresolved boundary between provider-independent and provider-specific information should remain recorded in the Issues section until a controlling source defines it. |
| * The Crucible Description version | |
| * The applicable Artifact Representation | |
| * The cryptographic digest | |
| * The selected Deployment Platform | |
| * The applicable Provider Implementation | |
| * The platform-specific information used for the deployment | |
| * The deployment result | |
| * The supporting Evidence | |
| |
| Material changes should receive review and should update the related verification criteria, requirements realization, related architecture sections, and source records. | Material changes should receive review and should update the verification criteria, source records, and Issues section. |
| |
| To reference this requirement Statement from another wiki page, insert: | To reference this requirement Statement from another wiki page, insert: |