this post was submitted on 23 Jun 2023
5 points (85.7% liked)

DevOps

1690 readers
1 users here now

DevOps integrates and automates the work of software development (Dev) and IT operations (Ops) as a means for improving and shortening the systems development life cycle.

Rules:

Icon base by Lorc under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
top 1 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 1 year ago

This is a very interesting approach that we are starting to fully adopt in our organization for our Kubernetes deployments.

We switched from Helm (using Helmfile) to ArgoCD to deploy applications into our clusters.

The main challenge here is how to design a good repository structure to organize the ArgoCD applications because there is nothing said about which is the best approach that must be followed.

Finally we decided to use ApplicationSets to deploy umbrella charts that are defined in the repo. The Chart.yaml of our umbrellas contain the charts that we really want to deploy as if they were dependencies (such as as Ingress Nginx) and their chart versions and the values.yaml contains the values for a particular cluster.

Another interesting issue is how we manage secrets. We were using sops along with helm secrets plugin to automatically decrypt secrets when running helmfile apply. Fortunatelly the helm secrets plugin can be installed as an addon on ArgoCD via an initScript or developing a custom ArgoCD image.