WARNING
The version of the "master" branch, v2.x, will no longer be supported once the "develop" branch (v3.x) is merged. Version 3.x brings a large number of modifications and fixes, such as support for static files, improved generation of the
values.yaml
file, better support for dependencies, etc. If you'd like to help speed up development of version 3, please refer to the "develop" branch.
Warning! Katenary will be soon go to release v3. This is a full rewrite of the tool, using official go-compose and kubernetes libraries to generate object. The current state of the source code started to be unmaintainable and too complex to fix. I decided to revise and recreate the tool. This will change some commands and the labels to use.
The current v2 version will be frozen to the current state.
No panic, the v3 detects the v2 syntax and will not break your helm chart.
Katenary is a tool to help to transform docker-compose
files to a working Helm Chart for Kubernetes.
Important Note: Katenary is a tool to help to build Helm Chart from a docker-compose file, but docker-compose doesn't propose as many features as what can do Kubernetes. So, we strongly recommend to use Katenary as a "bootstrap" tool and then to manually enhance the generated helm chart.
This project is partially made at Smile
You can download the binaries from the Release section. Copy the binary and rename it to katenary
. Place the binary inside your PATH
. You should now be able to call the katenary
command.
You can of course get the binary with go install -u github.com/metal3d/katenary/cmd/katenary/...
but the main
branch is continuously updated. It's preferable to use releases.
You can use this commands on Linux:
sh <(curl -sSL https://github.com/metal3d/katenary/master/install.sh)
If you've got podman
or docker
, you can build katenary
by using:
make build
You can then install it with:
make install
It will use the default PREFIX (~/.local/
) to install the binary in the bin
subdirectory. You can force the PREFIX value at install time, but maybe you need to use "sudo":
sudo make install PREFIX=/usr/local
If that goes wrong, you can use your local Go compiler:
make build GO=local
# To force OS or architecture
make build GO=local GOOS=linux GOARCH=arm64
Then place the katenary
binary file inside your PATH.
We strongly recommand to add the "completion" call to you SHELL using the common bashrc, or whatever the profile file you use.
E.g.:
# bash in ~/.bashrc file
source <(katenary completion bash)
# if the documentation breaks a bit your completion:
source <(katenary completion bash --no-description)
# zsh in ~/.zshrc
source <(katenary completion zsh)
# fish in ~/.config/fish/config.fish
katenary completion fish | source
# powershell (as we don't provide any support on Windows yet, please avoid this...)