Post

Gitops

Gitops

GitOps Principles v1.0.0

  1. 1

    Declarative

    system managed by GitOps must have its desired state expressed declaratively.

  2. 2

    Versioned and Immutable

    Desired state is stored in a way that enforces immutability, versioning and retains a complete version history.

  3. 3

    Pulled Automatically

    Software agents automatically pull the desired state declarations from the source.

  4. 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.

Trending Tags