Open ggjulio opened 9 months ago
For anyone interested in using pkl with argocd, I wrote a simple argocd configuration management plugin for pkl: https://github.com/inoc603/argocd-pkl
There is no reason why Pkl couldn't play nice with any other system, especially when it's currently implemented with a static format like JSON or YAML. If this is an ask for us to build that integration, I don't foresee that in the near future. Happy to assist anyone with issues they run into while building this, though, but I don't believe @inoc603 needed any help rolling their ArgoCD integration (awesome, btw)
an easy way to use pkl
with ArgoCD
or FluxCD
is when you merge a change to your source repository, generate the all the YAML
files and check them into your GitOps repository/branch that ArgoCD
/ FluxCD
watch
e.g.
# on a merge to main branch do this in CI.:
pkl eval -m releaseDir $(find . -name "*.pkl")
git add releaseDir
git commit -a -m "new release ofYAML files"
then ArgoCD
and FluxCD
can just work with canonical YAML files and not worry about grokking pkl
That certainly is a valid way to hold Pkl for these sorts of systems, but it's worth pointing out that does mean you're relying on reliable surfacing of errors in that chain. In other words: if, for whatever reason, Pkl wasn't run in that scenario, will you detect that?
Do you think
pkl
could be integrated with gitops tools likeargocd
/flux
an alternative tohelm
andkustomize
?There is a similar project named timoni that tackle
helm
drawbacks. Timoni can already be used with flux, and may end up with proper integration for bothargocd
andflux
:So I wonder if
pkl
could also play nicely withargocd
/flux
. Pkl could integrate with argocd in the first place using config managements plugins.For Flux support, it seem that a custom controller using the gitops toolkit api is the recommended way.