====== FR-DSO-002 — GitOps Workflow Integration ====== [[dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-08-devsecops-integration:start|Go to C.3.8 DevSecOps Integration]] ===== Statement ===== [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] SHALL integrate with [[dido:99_annexes:annex-b-terms-and-definitions:g:gitops|GitOps]] [[dido:99_annexes:annex-b-terms-and-definitions:w:workflow|Workflows]]. ===== Derived From ===== This requirement derives from: * Crucible System Requirements Specification, Version 1.1 Draft, Functional Requirements, FR-DSO-002 The Original Requirement states: > //The system shall integrate with GitOps workflows.//[[dido:02-crusible:99-annexes:annex-b:cr-001|[C1]]] FR-DSO-002: * Replaces **The system** with the defined system name [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] * Changes **shall** to the established uppercase normative form **SHALL** * Links [[dido:99_annexes:annex-b-terms-and-definitions:g:gitops|GitOps]] and [[dido:99_annexes:annex-b-terms-and-definitions:w:workflow|Workflow]] to their controlling definitions * Retains the source behavior **integrate with GitOps workflows** No other substantive normalization is required. ===== Rationale ===== A [[dido:99_annexes:annex-b-terms-and-definitions:g:gitops|GitOps]] [[dido:99_annexes:annex-b-terms-and-definitions:w:workflow|Workflow]] records declarative desired state in a [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control_system|Version Control System]] and coordinates automated reconciliation of actual operational state with that desired state. Integration with GitOps Workflows enables Crucible operations to participate in the controlled application of approved [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]]. A GitOps Workflow can involve: * Identification of an approved repository state * Retrieval of Declarative Configuration * Comparison of desired state with actual state * Detection of configuration drift * Reconciliation of actual state with desired state * Reporting of reconciliation status * Identification of reconciliation failure This requirement establishes integration with GitOps Workflows without prescribing: * A particular GitOps product * A particular Git-hosting service * A particular repository provider * A branch strategy * A reconciliation tool * A reconciliation interval * A deployment platform * A triggering mechanism * A [[dido:99_annexes:annex-b-terms-and-definitions:c:ci_cd_pipeline|CI/CD Pipeline]] * Automated build execution * Automated validation execution Separate requirements, architecture specifications, workflow definitions, and operational policies govern those subjects and behaviors. ===== 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:g:gitops|GitOps]] * [[dido:99_annexes:annex-b-terms-and-definitions:w:workflow|Workflows]] * [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]] * GitOps integration operations ===== Verification ===== Verification confirms that: - A GitOps Workflow is selected for testing - The selected Workflow identifies declarative desired state stored in a Version Control System - [[dido:99_annexes:annex-b-terms-and-definitions:c:crucible|Crucible]] participates in the selected GitOps Workflow - Crucible accesses or receives the desired-state information required by the tested Workflow - The tested Crucible operation uses the identified desired state - The resulting behavior demonstrates integration with the selected GitOps Workflow ===== Referenced By ===== The following pages reference this requirement: {{backlinks>.#dido:02-crusible}} ===== Implementation Status ===== Implemented and Verified ===== Requirement Status ===== Review and approve FR-DSO-002 as a leaf requirement. ---- ===== Issues ===== Determine whether separate requirements identify the GitOps operations that Crucible must perform. Determine whether separate requirements govern desired-state retrieval, drift detection, reconciliation, and reconciliation-status reporting. Determine whether separate requirements govern repository authentication, authorization, and credential management for GitOps Workflows. ---- ===== Notes for Editors ===== This requirement page retains the stable requirement identifier ''FR-DSO-002''. This page is a leaf requirement page and omits a trailing '':start'' from its namespace. The Statement uses the following controlling Terms and Definitions entries: * [[dido:99_annexes:annex-b-terms-and-definitions:g:gitops|GitOps]] * [[dido:99_annexes:annex-b-terms-and-definitions:w:workflow|Workflow]] * [[dido:99_annexes:annex-b-terms-and-definitions:d:declarative_configuration|Declarative Configuration]] * [[dido:99_annexes:annex-b-terms-and-definitions:v:version_control_system|Version Control System]] The Statement addresses integration with GitOps Workflows. It does not require a particular GitOps product, repository provider, branch strategy, reconciliation tool, deployment platform, or triggering mechanism. FR-DSO-001 governs integration with general Git-based Workflows. FR-DSO-003 governs CI/CD Pipeline integration. FR-DSO-004 through FR-DSO-006 govern automated build, deployment, and validation execution. Do not add particular reconciliation operations, GitOps products, hosting services, branch policies, authentication methods, or automated execution obligations unless the controlling requirement changes through an approved requirements process. To reference this requirement Statement from another wiki page, insert: {{section>dido:02-crusible:99-annexes:annex-c-requirements:03-functional-requirements:03-08-devsecops-integration:fr-dso-002#Statement&noheader&nofooter&noeditbtn}} ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.