updating to match everything in my homelab.
This commit is contained in:
57
diagrams/gitops-flux.mmd
Normal file
57
diagrams/gitops-flux.mmd
Normal file
@@ -0,0 +1,57 @@
|
||||
```plaintext
|
||||
%% GitOps Reconciliation Loop (ADR-0006)
|
||||
%% Flowchart showing Flux CD GitOps workflow
|
||||
|
||||
flowchart TB
|
||||
subgraph git["📂 Git Repositories"]
|
||||
direction TB
|
||||
homelab["homelab-k8s2<br/>(cluster config)"]
|
||||
apps["Application Repos<br/>(argo, kubeflow, etc.)"]
|
||||
end
|
||||
|
||||
subgraph flux["⚙️ Flux Controllers"]
|
||||
direction TB
|
||||
source["Source Controller<br/>📥 Fetches repos"]
|
||||
kustomize["Kustomize Controller<br/>🔧 Applies manifests"]
|
||||
helm["Helm Controller<br/>📦 Manages charts"]
|
||||
notification["Notification Controller<br/>📢 Alerts"]
|
||||
end
|
||||
|
||||
subgraph k8s["☸️ Kubernetes Cluster"]
|
||||
direction TB
|
||||
secrets["🔐 SOPS Secrets<br/>(Age decrypted)"]
|
||||
resources["📋 Deployed Resources<br/>(Pods, Services, etc.)"]
|
||||
drift["🔄 Drift Detection"]
|
||||
end
|
||||
|
||||
subgraph notify["📱 Notifications"]
|
||||
ntfy["ntfy<br/>(push alerts)"]
|
||||
end
|
||||
|
||||
%% GitOps flow
|
||||
homelab -->|"GitRepository CR"| source
|
||||
apps -->|"GitRepository CR"| source
|
||||
source -->|"Fetches every 5m"| kustomize
|
||||
source -->|"Fetches charts"| helm
|
||||
|
||||
kustomize -->|"Decrypts with Age"| secrets
|
||||
kustomize -->|"kubectl apply"| resources
|
||||
helm -->|"helm upgrade"| resources
|
||||
|
||||
resources -->|"Actual state"| drift
|
||||
drift -->|"Compares to Git"| kustomize
|
||||
drift -->|"Auto-corrects"| resources
|
||||
|
||||
notification -->|"Success/failure"| ntfy
|
||||
|
||||
classDef repo fill:#f5a623,color:black
|
||||
classDef controller fill:#4a90d9,color:white
|
||||
classDef cluster fill:#50c878,color:white
|
||||
classDef alert fill:#9b59b6,color:white
|
||||
|
||||
class homelab,apps repo
|
||||
class source,kustomize,helm,notification controller
|
||||
class secrets,resources,drift cluster
|
||||
class ntfy alert
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user