====== OR-002a — Deployment to a Supported Target ======
[[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002:start|Go to OR-002 — Deployment Environments]]
===== Statement =====
[[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL deploy the [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_resource|Infrastructure Resources]] specified by a [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_description|Deployment Description]] to the selected supported [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_target|Deployment Target]].
===== Derived From =====
This requirement derives from:
* [[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002:start|OR-002 — Deployment Environments]]
* Crucible System Requirements Specification, Version 1.1 Draft, Operational Requirements, OR-002
The Original Requirement states:
> //The system SHALL support deployment into://
>
> * //AWS//
> * //Azure//
> * //Google Cloud Platform//
> * //VMware//
> * //OpenShift//
> * //Kubernetes//
> * //Bare Metal Infrastructure//
> * //Air-Gapped Environments//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]]
OR-002a replaces the weak phrase **support deployment into** with the observable behavior **deploy** and identifies the deployed resources and selected destination.
===== Rationale =====
A [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platform]] identifies a platform type or technology. A [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_target|Deployment Target]] identifies a specific configured destination that uses a Deployment Platform.
A deployment therefore requires Crucible to act on a selected Deployment Target rather than on a general platform category.
OR-002a requires Crucible to deploy the Infrastructure Resources identified by the Deployment Description only after the selected Deployment Target has been identified as supported.
===== Applies To =====
This requirement applies to:
* [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_description|Deployment Descriptions]]
* [[dido:99_annexes:annex-b-terms-and-definitions:i:infrastructure_resource|Infrastructure Resources]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_target|Deployment Targets]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_target_catalog|Deployment Target Catalog]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_platform|Deployment Platforms]]
* [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment|Deployments]]
===== Verification =====
Verification confirms that:
- The tested [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_description|Deployment Description]] identifies the Infrastructure Resources selected for deployment
- The tested Deployment identifies a selected [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment_target|Deployment Target]]
- The selected Deployment Target is identified as supported
- [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] deploys the specified Infrastructure Resources to the selected supported Deployment Target
- Crucible does not deploy the specified Infrastructure Resources to a Deployment Target that is not identified as supported
- The Deployment record identifies the Deployment Description
- The Deployment record identifies the deployed Infrastructure Resources
- The Deployment record identifies the selected Deployment Target
- The Deployment record identifies the Deployment result
===== Referenced By =====
The following pages reference this requirement:
{{backlinks>.#dido:02-crusible}}
===== Delivery Phase =====
Implemented and Verified.
===== Implementation Status =====
Assess whether the current Crucible implementation deploys the Infrastructure Resources specified by a Deployment Description to each selected supported Deployment Target.
===== Requirement Status =====
Review and approve OR-002a as a leaf requirement derived from OR-002.
----
===== Issues =====
Define how a Deployment Description identifies the Infrastructure Resources selected for deployment.
Define how a Deployment Target is selected for a Deployment.
Define how Crucible determines whether the selected Deployment Target is supported.
Define the behavior required when no Deployment Target is selected.
Define the behavior required when the selected Deployment Target is not supported.
Define the behavior required when an Infrastructure Resource is not supported by the selected Deployment Target.
Define the Deployment record required for a successful, unsuccessful, rejected, failed, or terminated Deployment.
----
===== Notes for Editors =====
This requirement page should retain the stable requirement identifier ''OR-002a''.
This page is a leaf requirement page and omits a trailing '':start'' from its namespace.
OR-002a governs deployment to a selected supported Deployment Target.
Separate requirements govern:
* Assessment of the completed Deployment against the Acceptance Criteria defined for the selected Deployment Target
* Recording of the Deployment acceptance result
Changes to the Statement should preserve:
* [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] as the responsible actor
* Deployment as the required behavior
* The Infrastructure Resources specified by a Deployment Description as the deployed subject
* The selected supported Deployment Target as the destination
To reference this requirement Statement from another wiki page, insert:
{{section>dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002:or-002a#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.