Skip to content
iam.alan.abreu
ACCEPTEDRoadmap: V1.0Draft2024-02-15 — updated 2024-03-10

ADR-001: GitOps over imperative pipelines

Use declarative reconciliation from Git instead of imperative deployment pipelines to drive cluster state.

Launch stateThese entries are placeholders while the real case studies and experiment write-ups are prepared for publication.

Context

  • Multiple product teams each ran their own deployment scripts, making cluster state hard to audit and recover.
  • Imperative pipelines failed in ways that left the cluster in an unknown intermediate state.

Decision

  • Adopt GitOps as the default deployment model. Cluster state is declared in Git and reconciled continuously.
  • Imperative pipelines are allowed only for build, scan and sign steps; they never mutate cluster state directly.

Alternatives considered

  • Keep imperative pipelines and add more checkpoints. Rejected because checkpoints do not make state recoverable.
  • Use a custom orchestrator. Rejected because it adds operational complexity without improving auditability.

Consequences

  • Cluster state is versioned, auditable and recoverable by re-applying a Git ref.
  • Teams must learn declarative patterns and reconciliation semantics.
  • Rollback becomes a Git operation, which is familiar to most engineers.

Roadmap & Marcos de Implementação

V1.0Core Platform Foundations
Progresso da Execução Arquitetural100% CONCLUÍDO
  • Codified Git State(Phase 1: Declarative Cluster Specification)Concluído

    Standardized all infrastructure, deployments, and RBAC manifests as pure declarative Git repository artifacts.

  • Continuous Controller Loop(Phase 2: Reconciliation Controller Setup)Concluído

    Implemented continuous cluster reconciliation agent actively pulling Git refs to converge drift automatically.

  • Read-Only Security CI Boundary(Phase 3: Imperative Pipeline Demotion)Concluído

    Restricted CI pipelines strictly to lint, build, vulnerability scan, and image signing without direct cluster access credentials.

  • Git-Ref Rollback Invariants(Phase 4: Automated Rollback Mechanics)Concluído

    Standardized rollbacks around fast Git reverts, eliminating non-reproducible operational state panics.

Linked from

Related suggestions