====== OR-002 — Deployment Environments ======
[[dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:start|Go to Operational Requirements]]
===== Original Requirement =====
> //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]]]
===== Assessment of Original Requirement =====
The Original Requirement identifies the intended range of deployment platforms, infrastructure categories, and operating conditions but does not define independently testable behavior.
The following findings apply:
* **The system** does not use the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]]
* **Support** is a weak verb that does not identify observable behavior
* **Deployment into** does not identify the deployed resources or the selected destination
* The listed entries do not represent one architectural category
* The Original Requirement does not identify how deployment success is assessed
* The Original Requirement does not require preservation of the assessment result
The decomposition separates:
* Deployment to a selected supported target
* Assessment of the completed Deployment
* Recording of the Deployment acceptance result
The decomposition preserves ''OR-002'' as the parent requirement identifier. Each proposed replacement requirement receives a lettered identifier and a separate leaf requirement page.
===== Proposed Statements =====
The Original Requirement is decomposed into the following proposed replacement requirements:
{{indexmenu>dido:02-crusible:99-annexes:annex-c-requirements:02-operational-requirements:or-002#1|js navbar nocookie maxjs#1 id#crucible_or_002_requirements_nav}}
===== Requirement Status =====
Review and approve the decomposition of OR-002 into OR-002a through OR-002c.
Confirm that OR-002a through OR-002c preserve the complete approved intent of OR-002.
Determine whether OR-002a through OR-002c supersede OR-002.
----
===== Issues =====
Define how Crucible determines whether a selected Deployment Target is supported.
Define the Acceptance Criteria for each supported Deployment Target.
Define the possible Deployment acceptance results.
Determine whether deployment within an Air-Gapped Environment requires separate requirements under the Air-Gap Operations requirement family.
----
===== Notes for Editors =====
This page should retain the stable parent requirement identifier ''OR-002''.
This page is a non-leaf requirement page and retains a trailing '':start'' in its namespace.
The child requirements are leaf requirement pages and omit a trailing '':start'' from their namespaces.
The explicit child links may be removed after the child requirement pages have been finalized because the ''indexmenu'' displays the pages within the OR-002 namespace.
The proposed child Statements should preserve the following intent:
* OR-002a requires [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] to 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]]
* OR-002b requires Crucible to assess each completed [[dido:99_annexes:annex-b-terms-and-definitions:d:deployment|Deployment]] against the Acceptance Criteria defined for the selected Deployment Target
* OR-002c requires Crucible to record whether each completed Deployment satisfies those Acceptance Criteria
The Original Requirement should not be marked as superseded until the requirement owner approves the three child requirements and confirms that they collectively preserve its complete intent.
----
© 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.