Tool to create argo applications from a helmfile
Find a file
2026-05-05 21:47:02 +02:00
cmd Working but no recursion 2026-05-05 21:47:02 +02:00
internal/fileflag validating input files exist 2026-05-05 21:41:41 +02:00
testdata Adding some example files to test with from https://github.com/wmde/wbaas-deploy 2026-05-05 21:42:24 +02:00
go.mod Dependencies 2026-05-05 21:43:45 +02:00
go.sum Dependencies 2026-05-05 21:43:45 +02:00
helmfile2argo Initial cli created 2026-05-05 12:16:30 +02:00
LICENSE Update copyright and license 2026-05-05 21:45:05 +02:00
main.go Update copyright and license 2026-05-05 21:45:05 +02:00
README.md initial README.md 2026-05-05 21:41:03 +02:00

Helmfile to argocd automated replacement

This is an extremely naiive implementation and might be not what you really want, but it's better than nothing.

How it works

  • It strips ALL templating from the yaml file. Naiively, with a regex.
  • It removes the multidoc separator that helmfile weirdly uses for the environment stuff. Naiively, with a regex.
  • It then parses the yaml in golang against some stripped-down specs (I would like to use the argocd source and the helmfile source, but they aren't really designed to be reused)
  • It outputs a project with the contents of the helmfile repositories section whitelisted
  • Then it outputs individual application objects.

Things it won't do

  • "Magic". For example, it won't replace hardcoded https://path.to/some/tarball-helm-chart.tgz with something that is argo-compatible. Point to a real helm repo, an oci repo or a git repo, argo can deal with those.
  • Multiple environments. There's not an opinionated "this is how you do it in argo" for that, so you need to work out what to do there. You can pass the environment you want to use in, and if you're using "environment" values, they'll be included in the application object for you.