Gitops
Gitops
GitOps Principles v1.0.0
1
Declarative
A system managed by GitOps must have its desired state expressed declaratively.
2
Versioned and Immutable
Desired state is stored in a way that enforces immutability, versioning and retains a complete version history.
3
Pulled Automatically
Software agents automatically pull the desired state declarations from the source.
4
Continuously Reconciled
Software agents continuously observe actual system state and attempt to apply the desired state.
graph BT
style O fill:#f9d79b,stroke:#f1c40f,stroke-width:2px,color:#333
style D fill:#aed6f1,stroke:#3498db,stroke-width:2px,color:#333
style CI fill:#f5b7b1,stroke:#e74c3c,stroke-width:2px,color:#333
style A fill:#d7bde2,stroke:#8e44ad,stroke-width:2px,color:#333
style I fill:#a9dfbf,stroke:#27ae60,stroke-width:2px,color:#333
style AR fill:#d7bde2,stroke:#8e44ad,stroke-width:2px,color:#333
style CR fill:#aed6f1,stroke:#3498db,stroke-width:2px,color:#333
style R fill:#a9dfbf,stroke:#27ae60,stroke-width:2px,color:#333
style K fill:#f5b7b1,stroke:#e74c3c,stroke-width:2px,color:#333
subgraph "Production Environment"
O{Controller}
K[Compute Node]
end
subgraph "DevOps Team"
OP((Operator))-.-D((Developer))
end
subgraph "CI Pipeline"
CI -->|Builds and tests| A[App]
A -->|Packages into| I
end
subgraph "Storage"
AR[(App Repository)]
CR[(Config Repository)]
R[(Container Repository)]
end
O -..- |Watches |CR
O{Controller} -->|Deploys| K
O<--->|Pulls|R
AR -->|Triggers| CI[Automation]
I -->|Pushed to| R
D -->|Pushes app changes| AR
OP -->|Pushes config changes| CR
This post is licensed under CC BY 4.0 by the author.