initial README.md
This commit is contained in:
parent
fedef7c6f3
commit
97a7bbe29f
1 changed files with 17 additions and 0 deletions
17
README.md
Normal file
17
README.md
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Helmfile to argocd automated replacement
|
||||||
|
|
||||||
|
| :exclamation: | 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.
|
||||||
Loading…
Add table
Reference in a new issue