#helmfile - July 2025

AlmogBaku
AlmogBakuover 1 year ago(edited)
im not sure if i understand this well...

1. I have a mono repo.
2. when i push to master, gh workflow build and push my docker to ghcr, and update the helmfile's environment config with the appropriate tag
now what? how do i do the cd/deployment? argocd? how does argocd integrates?
Pranay Verma
Pranay Vermaover 1 year ago(edited)
when you push to master, your workflow builds and pushes a docker image to ghcr and updates your helmfile config with the new image tag. that’s the "ci" part done. now for "cd" this is where something like argo cd fits in. argo cd is a gitops based continuous deployment tool that keeps your cluster in sync with your git repo. you would typically store your helmfile in a separate gitops repo or a deployment folder in your mono repo. argo cd watches that repo (or subfolder) for changes. so, when your ci workflow updates the helmfile with the new image tag and pushes that change, argo cd detects it and automatically applies the update to your cluster. in short, argo cd integrates by continuously monitoring your git repo and sync it to the actual state of the cluster. you define what "should be running" in git, and argo makes sure the cluster reflects that.
AlmogBaku
AlmogBakuover 1 year ago
thanks

I told claude to implement using this. i hope itll work, lol
https://christianhuth.de/deploying-helm-charts-using-argocd-and-helmfile/
AlmogBaku
AlmogBakuover 1 year ago
not sure how to handle the sops thingy now :W
AlmogBaku
AlmogBakuover 1 year ago
Can I have references like this pseudo code in my environment file?
temporal:
  address: temporal.svc.addr
  api_key: 1234

my_server:
   temporal_addr: $temporal.address

Alex
Alexover 1 year ago(edited)
Hey all!

I’m trying to setup a gitops solution based on helm.
All of my yamls are in a monorepo, and I'm not building any charts manually using helm dependency build or any other helm command.

In my solution I will need nested dependencies to be resolved automatically, as I want several layers of values (with overrides for each layer) For example:
/clusters/01/Chart.yaml will have a dependency of /environments/prod
/environments/prod/Chart.yaml will have a dependency of /region/US
/region/US/Chart.yaml will depend on an "umbrella" chart, that this umbrella chart will deploy all apps, while overriding the values according to the precedence of the dependencies.

Using helm in Flux/ArgoCD, I was not able to do that as helm doesn't support recursive dependency building, so only the first 2 charts were deployed.
I tried using basic helmfile examples, but the same limitation still in place.

I wonder if I can somehow leverage helmfile to dynamically resolve all nested dependencies of an helm chart without having to commit all charts' tgz files?