kapitan
kapitan copied to clipboard
Bring back static binaries
Describe the bug/feature We depend on the static binary for 0.30.0. Our use case is to use kapitan in combination with ArgoCD. We used to download the binary in an InitContainer and mount the binary in ArgoCD so it was able to execute Kapitan commands. Doesn't really work that great when using pip, because we don't have a Python environment inside the ArgoCD container.
To Reproduce Steps to reproduce the behavior:
- Install the package with pip
- It's not a binary.
Hey @RobKenis, the binary was removed in 0.30.0 because it was simply not sustainable to make it work. See details in #740
I currently run kapitan 0.30.0 in production with ArgoCD by prepackaging kapitan as a pex myself. This is fairly easy:
pip install pex
pex kapitan==0.30.0 --python=python3 -m kapitan -o kapitan.pex
You can run kapitan.pex as long as the python version used to build it is the same when you run it. E.g. running kapitan.pex with python 3.8 requires kapitan.pex to be built with python 3.8
ArgoCD's repo server container image does include python by default so this will fairly trivial to implement.
We are looking into releasing pex binaries (or other similar approaches) in further releases but I don't know if we can commit to having a fully functional "proper" binary. Naturally, we are looking for ideas and contributions to make this work best for everyone.
Closing due newer version in #923