dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003d

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:01-mission-objectives:mo-003:mo-003d [2026/07/20 08:29] – created nick_didodido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003d [2026/07/30 05:23] (current) – [Delivery Phase] nick_dido
Line 1: Line 1:
-====== MO-003d — Provider-Specific Dependency Limitation ======+====== MO-003d — Limitation of Provider-Specific Dependencies ======
  
 [[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]]
Line 5: Line 5:
 ===== Statement ===== ===== Statement =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL confine dependencies on proprietary Cloud Provider interfaces, services, data formats, software development kits, and operational mechanisms to the applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_implementation|Provider Implementation]].+[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL confine dependencies on proprietary Cloud Provider interfaces, services, data formats, software development kits, and operational mechanisms to the [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_implementation|Provider Implementation]] for the target [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platform]].
  
 ===== Derived From ===== ===== Derived From =====
Line 15: Line 15:
 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-003d preserves the portion of the Original Requirement that limits dependence on proprietary Cloud Provider mechanisms. MO-003d preserves the portion of the Original Requirement that limits dependence on proprietary Cloud Provider mechanisms.
Line 22: Line 22:
  
   * [[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-003b|MO-003b — Common Crucible Description]] +  * [[dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003b|MO-003b — Provider-Independent Crucible Description]] 
-  * [[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]]
- +
-===== Assessment ===== +
- +
-The Original Requirement uses the defined concept [[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_agnosticism|Cloud Agnosticism]] but does not identify: +
- +
-  * The proprietary Cloud Provider dependencies subject to limitation +
-  * The Crucible components permitted to contain provider-specific dependencies +
-  * The architectural boundary between provider-independent behavior and provider-specific behavior +
-  * The mechanism used to isolate provider-specific dependencies +
-  * The criteria used to detect provider-specific dependencies outside the permitted boundary +
- +
-MO-003d: +
- +
-  * Identifies proprietary Cloud Provider interfaces, services, data formats, software development kits, and operational mechanisms as the dependencies subject to limitation +
-  * Identifies the applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_implementation|Provider Implementation]] as the permitted location for those dependencies +
-  * Establishes a defined boundary between provider-independent Crucible behavior and provider-specific implementation behavior +
-  * Prevents provider-specific dependencies from spreading into provider-independent Crucible components +
-  * Separates provider-specific dependency limitation from cross-platform deployment and common deployment-input requirements+
  
 ===== Rationale ===== ===== Rationale =====
  
-[[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_agnosticism|Cloud Agnosticism]] requires an architecture to limit dependence on the proprietary mechanisms of a particular Cloud Provider.+[[dido:99_annexes:annex-b-terms-and-definitions:c:cloud_agnosticism|Cloud Agnosticism]] requires Crucible to limit dependence on the proprietary mechanisms of a particular Cloud Provider.
  
-Provider-specific dependencies include:+Provider-specific dependencies can include:
  
   * Proprietary application programming interfaces   * Proprietary application programming interfaces
Line 60: Line 42:
   * Provider-specific operational procedures   * Provider-specific operational procedures
  
-Allowing these dependencies within provider-independent Crucible components would couple the core architecture to one or more Cloud Providers.+Allowing these dependencies within provider-independent Crucible components would couple those components to one or more Cloud Providers.
  
-The applicable [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_implementation|Provider Implementation]] provides the controlled boundary within which provider-specific dependencies reside. The Provider Implementation translates provider-independent deployment intent into the proprietary mechanisms required by its target Cloud Provider or Deployment Platform.+The [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_implementation|Provider Implementation]] defines the boundary within which provider-specific dependencies reside. The Provider Implementation translates provider-independent deployment information into the mechanisms supported by the target Deployment Platform.
  
 Confining provider-specific dependencies supports: Confining provider-specific dependencies supports:
Line 72: Line 54:
   * Detection of provider-specific implementation leakage   * Detection of provider-specific implementation leakage
   * Reduced provider coupling   * Reduced provider coupling
-  * Consistent Provider Contract enforcement 
   * Independent testing of provider-specific behavior   * Independent testing of provider-specific behavior
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]]
  
-This requirement does not prohibit provider-specific dependencies. It limits those dependencies to the applicable Provider Implementation+This requirement does not prohibit provider-specific dependencies. It confines those dependencies to the Provider Implementation associated with the target Deployment Platform.
- +
-This requirement does not establish the Provider Contract requirements or the permitted Platform Specific Parameters. Lower-level functional and interoperability requirements establish those obligations.+
  
 ===== Applies To ===== ===== Applies To =====
Line 92: Line 72:
   * [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_specific_parameter|Platform Specific Parameters]]   * [[dido:99_annexes:annex-b-terms-and-definitions:p:platform_specific_parameter|Platform Specific Parameters]]
   * [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platforms]]   * [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platforms]]
-  * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible_description|Crucible Descriptions]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_baseline|Infrastructure Baselines]] 
-  * [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_deployment|Infrastructure Deployments]] 
   * Provider-independent Crucible components   * Provider-independent Crucible components
   * Proprietary Cloud Provider interfaces   * Proprietary Cloud Provider interfaces
Line 109: Line 86:
 Verification confirms that: Verification confirms that:
  
-  - Each tested Cloud Provider or Deployment Platform has an identified Provider Implementation+  - Each tested [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platform]] has an identified [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_implementation|Provider Implementation]]
   - Each Provider Implementation has a defined architectural boundary   - Each Provider Implementation has a defined architectural boundary
-  - Proprietary Cloud Provider interfaces occur only within the applicable Provider Implementation +  - Proprietary Cloud Provider interfaces occur only within the Provider Implementation for the target Deployment Platform 
-  - Proprietary Cloud Provider services are accessed only through the applicable Provider Implementation +  - Proprietary Cloud Provider services are accessed only through the Provider Implementation for the target Deployment Platform 
-  - Proprietary Cloud Provider data formats occur only within the applicable Provider Implementation or at its defined external boundary +  - Proprietary Cloud Provider data formats occur only within the Provider Implementation or at its defined external boundary 
-  - Provider-specific software development kits are referenced only by the applicable Provider Implementation +  - Provider-specific software development kits are referenced only by the Provider Implementation for the target Deployment Platform 
-  - Provider-specific operational mechanisms occur only within the applicable Provider Implementation+  - Provider-specific operational mechanisms occur only within the Provider Implementation for the target Deployment Platform
   - Provider-independent Crucible components do not contain dependencies on proprietary Cloud Provider mechanisms   - Provider-independent Crucible components do not contain dependencies on proprietary Cloud Provider mechanisms
-  - Each detected provider-specific dependency outside the permitted boundary is recorded as a finding +  - Each provider-specific dependency detected outside the permitted boundary is recorded as a finding 
-  - The generated Evidence supports the dependency-limitation determination+  - The verification record preserves [[dido:99_annexes:annex-b-terms-and-definitions:t:traceability|Traceability]] among the target Deployment Platform, Provider Implementation, identified provider-specific dependencies, evaluated Crucible components, and verification result
  
-Verification includes:+===== Referenced By =====
  
-  * Source-code dependency analysis +The following pages reference this requirement:
-  * Build dependency analysis +
-  * Package dependency inspection +
-  * Import and module inspection +
-  * Software development kit reference inspection +
-  * Application programming interface usage inspection +
-  * Service endpoint inspection +
-  * Data-format inspection +
-  * Configuration inspection +
-  * Command-line invocation inspection +
-  * Runtime dependency analysis +
-  * Network interaction inspection +
-  * Provider Implementation boundary inspection +
-  * Provider Contract inspection +
-  * Static analysis +
-  * Dynamic analysis +
-  * Cross-provider substitution tests +
-  * Finding inspection +
-  * Evidence inspection +
-  * Provenance inspection +
-  * Traceability inspection+
  
-The verification record identifies:+{{backlinks>.#dido:02-crusible}}
  
-  - Each tested Cloud Provider or Deployment Platform +===== Delivery Phase =====
-  - The applicable Provider Implementation +
-  - The Provider Implementation boundary +
-  - The applicable Provider Contract +
-  - Each proprietary interface used +
-  - Each proprietary service used +
-  - Each proprietary data format used +
-  - Each provider-specific software development kit used +
-  - Each provider-specific operational mechanism used +
-  - The Crucible component containing each identified dependency +
-  - Each provider-specific dependency detected outside the permitted boundary +
-  - The result of each dependency analysis +
-  - The observed result +
-  - The generated [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|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 the current Crucible implementation confines proprietary Cloud Provider dependencies to the Provider Implementation for each target Deployment Platform.</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-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. DescriptionsComposition, and Baselines]] +<todo>Review and accept MO-003d as a proposed derived requirement created from the evaluation and decomposition of MO-003 in the Crucible System Requirements SpecificationVersion 1.1 Draft.</todo>
-  * [[dido:02-crusible:07-infrastructure-and-deployment:start|7Infrastructure and Deployment]] +
-  * [[dido:02-crusible:08-dependencies-and-air-gap-operations:start|8Dependencies 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 architectural boundary of each Provider Implementation.</todo>
  
-===== Delivery Phase =====+<todo>Identify the provider-independent Crucible components that must remain free of proprietary Cloud Provider dependencies.</todo>
  
-Phase 1 and subsequent phases+<todo>Identify the proprietary interfaces, services, data formats, software development kits, and operational mechanisms permitted within each Provider Implementation.</todo>
  
-===== Implementation Status =====+<todo>Define whether proprietary Cloud Provider data formats may cross the Provider Implementation boundary and, if permitted, define the boundary conditions.</todo>
  
-Not Assessed +<todo>Identify the controlling source that associates each Provider Implementation with its target Deployment Platform.</todo>
- +
-Implementation status requires verification that proprietary Cloud Provider dependencies are confined to the applicable Provider Implementation. +
- +
-===== Requirement Status ===== +
- +
-Draft +
- +
-This requirement derives from MO-003 in the Crucible System Requirements Specification, Version 1.1 Draft.+
  
 ---- ----
Line 210: Line 137:
 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 provider-specific dependency-limitation 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
 + 
 +  * [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] as the responsible actor 
 +  * Proprietary Cloud Provider interfaces, services, data formats, software development kits, and operational mechanisms as the dependencies subject to confinement 
 +  * The [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_implementation|Provider Implementation]] as the permitted location for provider-specific dependencies 
 +  * The target [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platform]] as the basis for selecting the Provider Implementation 
 +  * Separation of provider-independent Crucible components from provider-specific implementation behavior
  
 The architectural definition of each Provider Implementation boundary should identify: The architectural definition of each Provider Implementation boundary should identify:
  
   * The target Cloud Provider or Deployment Platform   * The target Cloud Provider or Deployment Platform
-  * The applicable Provider Contract+  * The [[dido:99_annexes:annex-b-terms-and-definitions:p:provider_contract|Provider Contract]]
   * The provider-independent interfaces exposed to Crucible   * The provider-independent interfaces exposed to Crucible
   * The proprietary interfaces used by the Provider Implementation   * The proprietary interfaces used by the Provider Implementation
Line 224: Line 159:
   * The permitted external dependencies   * The permitted external dependencies
   * The prohibited dependencies outside the boundary   * The prohibited dependencies outside the boundary
-  * The required 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:
  • dido/02-crusible/99-annexes/annex-c-requirements/01-mission-objectives/mo-003/mo-003d.1784561340.txt.gz
  • Last modified: 2026/07/20 08:29
  • by nick_dido