helmfile2compose¶
The distribution that generates a working docker compose stack from your Kubernetes manifests. Same charts, same values, one script, one command.
The faithful asked: why build a lesser altar? And the architect answered: because the congregation will not climb the mountain. So the mountain was carried down, stone by stone, and reassembled in the valley — where it became, technically, a hill.
— De Vermis Mysteriis, On Conditions d'Utilisation (trust me on this one)
What is this?¶
helmfile2compose is a dekube distribution — the dekube-engine bundled with 8 extensions into a single helmfile2compose.py. It takes your Kubernetes manifests (from helmfile, Helm, or plain YAML) and produces a compose.yml + whatever configfile your proxy server will use, and everything needed to run your stack with docker compose up.
For the engine internals, extension development, and ecosystem architecture, see docs.dekube.io.
Quick start¶
# Download the distribution
curl -fsSL https://raw.githubusercontent.com/dekubeio/dekube-manager/main/dekube-manager.py -o dekube-manager.py
python3 dekube-manager.py
# Convert and run
python3 .dekube/helmfile2compose.py --helmfile-dir ~/my-project -e compose --output-dir .
docker compose up -d
See Getting started for the full setup guide.
Documentation¶
- Getting started — installation, first run, adapting helmfile2compose for your own helmfile
- How the conversion works — what happens to your Deployments, ConfigMaps, Ingresses, and everything else
- Configuration —
dekube.yamloverview, distribution-specific keys, and links to the full engine reference - dekube-manager — installing helmfile2compose and extensions via the package manager
- Operations — day-to-day: updating, data management
- Troubleshooting — when things break: installation, nerdctl, chart issues, alias collisions
- Advanced — cohabiting with existing infrastructure, multiple projects, disabling Caddy
- Known workarounds — sushi recipes for the tentacles that don't fit
- Glossary — terms, acronyms, and Lovecraftian vocabulary decoded
- Limitations — what gets lost in translation
Need help?
The documentation's tone is gallows humor — the support is real. If something doesn't work, open an issue on helmfile2compose. For extension-specific problems, use the extension's own repo (see catalogue). Not sure where to file? Use helmfile2compose — I'll triage.
Compatible projects¶
- stoatchat-platform — 15 services. Chat platform (Revolt rebranded).
- lasuite-platform — 22 services + 11 init jobs. Collaborative suite (La Suite Num.).
- mijn-bureau-infra — ~30 services. Dutch government digital workplace. Not officially supported, vaguely tested, and would mostly work. Requires
nginxandbitnamiextensions.
The ecosystem¶
| Repo | What it is |
|---|---|
| kubernetes2simple | Turnkey distribution — helmfile2compose + all extensions + automagic bootstrap script. |
| dekube-engine | Bare conversion engine — empty registries, no opinions. |
| helmfile2compose | This distribution — core + 9 bundled extensions (the Eight Monks + emptydir transform) → single helmfile2compose.py. |
| dekube-manager | Package manager — downloads distribution + extensions, resolves dependencies. |
| Extension catalogue | Single-file modules: providers, converters, transforms, rewriters. |
| dekube-docs | Engine documentation, extension development guides. |