MO-003d — Limitation of Provider-Specific Dependencies

Go to MO-003 — Cloud-Agnostic Deployment

Statement

Crucible SHALL confine dependencies on proprietary Cloud Provider interfaces, services, data formats, software development kits, and operational mechanisms to the Provider Implementation for the target Deployment Platform.

Derived From

This requirement derives from:

The Original Requirement states:

The system SHALL provide cloud-agnostic deployment capabilities.[C2]

MO-003d preserves the portion of the Original Requirement that limits dependence on proprietary Cloud Provider mechanisms.

The separate requirements derived from MO-003 address:

Rationale

Cloud Agnosticism requires Crucible to limit dependence on the proprietary mechanisms of a particular Cloud Provider.

Provider-specific dependencies can include:

Proprietary application programming interfacesProprietary servicesProprietary data formatsProvider-specific software development kitsProvider-specific command-line toolsProvider-specific authentication mechanismsProvider-specific resource identifiersProvider-specific configuration structuresProvider-specific deployment workflowsProvider-specific operational proceduresAllowing these dependencies within provider-independent Crucible components would couple those components to one or more Cloud Providers.

The 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:

Substitution of Provider ImplementationsAddition of new Deployment PlatformsReuse of provider-independent Crucible componentsControlled migration between Cloud ProvidersDetection of provider-specific implementation leakageReduced provider couplingIndependent testing of provider-specific behaviorTraceabilityThis requirement does not prohibit provider-specific dependencies. It confines those dependencies to the Provider Implementation associated with the target Deployment Platform.

Applies To

This requirement applies to:

Provider-independent Crucible componentsProprietary Cloud Provider interfacesProprietary Cloud Provider servicesProprietary Cloud Provider data formatsProvider-specific software development kitsProvider-specific operational mechanismsEvidenceProvenanceTraceability

Verification

Verification confirms that:

Each tested Deployment Platform has an identified Provider ImplementationEach Provider Implementation has a defined architectural boundaryProprietary Cloud Provider interfaces occur only within the Provider Implementation for the target Deployment PlatformProprietary Cloud Provider services are accessed only through the Provider Implementation for the target Deployment PlatformProprietary Cloud Provider data formats occur only within the Provider Implementation or at its defined external boundaryProvider-specific software development kits are referenced only by the Provider Implementation for the target Deployment PlatformProvider-specific operational mechanisms occur only within the Provider Implementation for the target Deployment PlatformProvider-independent Crucible components do not contain dependencies on proprietary Cloud Provider mechanismsEach provider-specific dependency detected outside the permitted boundary is recorded as a findingThe verification record preserves Traceability among the target Deployment Platform, Provider Implementation, identified provider-specific dependencies, evaluated Crucible components, and verification result

Referenced By

The following pages reference this requirement:

Delivery Phase

Implemented and Verified

Implementation Status

Requirement Status

Issues

The following unresolved issues affect this requirement:

Notes for Editors

This requirement page should retain the stable requirement identifier MO-003d.

This page is a leaf requirement page and omits a trailing :start from its namespace.

The parent MO-003 page is a non-leaf page and retains a trailing :start in its namespace.

Changes to the Statement should preserve:

as the responsible actorProprietary Cloud Provider interfaces, services, data formats, software development kits, and operational mechanisms as the dependencies subject to confinementThe Provider Implementation as the permitted location for provider-specific dependenciesThe target Deployment Platform as the basis for selecting the Provider ImplementationSeparation of provider-independent Crucible components from provider-specific implementation behaviorThe architectural definition of each Provider Implementation boundary should identify:

The target Cloud Provider or Deployment PlatformThe Provider ContractThe provider-independent interfaces exposed to CrucibleThe proprietary interfaces used by the Provider ImplementationThe proprietary services used by the Provider ImplementationThe proprietary data formats used by the Provider ImplementationThe provider-specific software development kits used by the Provider ImplementationThe provider-specific operational mechanisms used by the Provider ImplementationThe permitted external dependenciesThe prohibited dependencies outside the boundaryMaterial 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:

{{section>dido:02-crusible:99-annexes:annex-c-requirements:01-mission-objectives:mo-003:mo-003d#Statement&noheader&nofooter&noeditbtn}}

Do not rename this page after an external citation unless a redirect or move plan is in place.

© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.