Lets get started >>
Florian Dambrine - Principal Engineer
#4 Software agents ensure correctness and alert on divergence
#1 The entire system is described declaratively
#2 The canonical desired system state versioned in git
#3 Approved changes that can be automatically applied to the system
git://verity-onprem-ops/releases/gitops/demo
releases:
- name: "demo--{{ .Environment.Name }}"
<<: *monochart
values:
- "./values/{{`{{ .Release.Name }}`}}.yaml"
replicaCount: 1
image:
repository: docker/whalesay
tag: latest
pullPolicy: IfNotPresent
deployment:
enabled: true
revisionHistoryLimit: 10
pod:
annotations: {}
labels: {}
command:
- "/bin/bash"
- "-c"
- "--"
args:
- "while true; do cowsay -f docker 'I love Gitops from Staging'; sleep 30; done;"
Templates
Values
Canonical Desired States
demo--production
demo--staging
myapp:staging
myapp:v1.0.0
staging.yaml
production.yaml
demo--production
demo--staging
Canonical Desired States
demo--production
└── monochart
└── templates
└── deployment.yaml
demo--staging
└── monochart
└── templates
└── deployment.yaml
git://verity-onprem-gitops
Files rendered when repository is tagged
Files rendered after PR merged on master
demo--production
└── monochart
└── templates
└── deployment.yaml
demo--staging
└── monochart
└── templates
└── deployment.yaml
demo--production
└── monochart
└── templates
└── deployment.yaml
demo--staging
└── monochart
└── templates
└── deployment.yaml
ArgoCD
Canonical Desired States
demo--production
demo--staging
myapp:staging
myapp:v1.0.0
staging.yaml
production.yaml
$ helmfile --environement <env> template
helmfile repo
canonical state repo
Files rendered when repository is tagged
Files rendered after PR merged on master
demo--production
└── monochart
└── templates
└── deployment.yaml
demo--staging
└── monochart
└── templates
└── deployment.yaml
ArgoCD
demo--production
└── monochart
└── templates
└── deployment.yaml
demo--staging
└── monochart
└── templates
└── deployment.yaml