FR-MC-002 — Provider-Specific Extensions

Go to Crucible Multi-Cloud Management Requirements

Statement

Crucible SHALL load provider-specific deployment behavior through a plugin that conforms to the applicable provider contract.

Source Statement

The system shall support provider-specific extensions through plugins.

Source

Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-MC-002.

Assessment

The source statement identifies the intended extension mechanism but uses a weak primary verb.

The following Specification Discipline and Authoring findings apply:

The system does not use the defined system nameshall does not follow the established uppercase normative conventionSupport is a weak verbProvider-specific extensions does not identify the behavior supplied by the extensionPlugins identifies the extension form but does not identify the contract governing the pluginThe source statement does not prescribe a programming language, packaging format, loading mechanism, provider, or plugin implementationThe normalized Statement:

Replaces The system with CrucibleReplaces support with the direct behavior loadIdentifies provider-specific deployment behaviorRetains the required plugin mechanismRequires conformance to the applicable provider contractPreserves implementation independence outside the source-mandated plugin constraintThe term Plugin and the project-specific concept Provider Contract should receive glossary definitions if they recur elsewhere.

Rationale

A cloud provider may expose capabilities or parameters that do not have a common representation across all providers.

A provider-specific plugin may implement:

Resource-type mappingsProvider API interactionsAuthentication behaviorRegion selectionNetwork configurationStorage configurationMachine-type selectionProvider-managed servicesProvider-specific validationProvider-specific error handlingThe provider contract defines the behavior and information exchange required between Crucible and the plugin.

Provider-specific plugins preserve separation between:

Platform-independent Crucible behaviorCommon deployment intentProvider-specific deployment behaviorProvider-specific parameters

Applies To

This requirement applies to:

Provider-specific pluginsProvider contractsProvider-specific deployment behaviorProvider-specific parametersProvider ImplementationsCloud providersDeployment workflows

Verification

Verification SHALL confirm that the tested provider-specific deployment behavior resides in a pluginVerification SHALL confirm that Crucible loads the tested pluginVerification SHALL confirm that the tested plugin conforms to the applicable provider contractVerification SHALL confirm that Crucible invokes the provider-specific deployment behavior through the applicable provider contractVerification SHALL confirm that provider-specific behavior does not require modification of unrelated provider-independent Crucible componentsVerification may include:

Plugin-loading testsProvider-contract testsProvider implementation testsInterface conformance inspectionStatic dependency analysisProvider deployment testsPlugin replacement testsThe verification record SHALL identify:

The tested pluginThe applicable providerThe applicable provider contractThe provider-specific behaviorThe plugin conformance resultThe deployment resultThe generated Evidence

Outgoing Traceability

This requirement realizes:

This requirement relates to:

Referenced By

The wiki Backlinks function provides the current list of pages that reference FR-MC-002.

Incoming Traceability should be derived dynamically from backlinks.

ConOps Relationship

The Crucible Concept of Operations permits provider-specific realization while preserving common deployment intent.

FR-MC-002 establishes the plugin boundary through which Crucible loads provider-specific deployment behavior.

Delivery Phase

Phase 1

Implementation Status

Not Assessed

Requirement Status

Draft

Notes for Editors

This requirement page should retain the stable requirement identifier FR-MC-002.

The source explicitly requires plugins. Changes should not generalize the extension mechanism without a corresponding change to the controlling requirement.

Requirements for plugin discovery, installation, activation, version compatibility, isolation, signing, and removal should remain separate unless added by the controlling source.

To reference this requirement Statement from another wiki page, insert:

{{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-04-multi-cloud-management:fr-mc-002#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.