+ Simplify your deployment workflow by converting Compose files into + production-ready Helm Charts with ease. +
++ Generate complete Helm Charts from your Compose files effortlessly. +
+Customize deployments with `values.yaml` and environment labels.
++ Ensure proper service startup sequences using `depends_on` support. +
+Free, opensource, under the MIT license!
+Download Katenary’s binary and start using it today.
+sh <(curl -sSL https://raw.githubusercontent.com/Katenary/katenary/master/install.sh)
+ + Go to GitHub +
+
+ Katenary simply read your compose.yaml
file (or
+ docker-compose.yaml
) and use
+ official libraries to read it and generate Kubernetes
+ resources as YAML.
+
+ Then, it adds templating conditions, values file, define a
+ Chart.yaml
file, adapt dependencies if needed, and many
+ others things.
+
+ Using configuration files to be mounted? No problem,
+ Katenary will create ConfigMaps
if you declared that thes
+ directories or files are statics.
+
+ (Do not do this for sources of your project, use it for simple
+ configuration files)
+
+ The result is a complete "Helm Chart" that can be installed, configured, + packaged and shared. +
++ Almost everything can be overriden as Ingresses, Dependencies, values, + environment variables, secrets... +
+katenary convert
from the command line.
+ Install the binary, and use katenar convert
command line
+ inside your project directory
+
+ You can adapt your compose YAML file with labels, or add a
+ compose.katenary.yaml
file to override your project.
+
+ You may also use a specific katenary.yaml
file that accepts
+ the directives without using labels.
+
+ You can adapt, configure, or change the conversion behaviour addind + labels. +
+
+ It
+ doesn't change the docker compose
or
+ podman compose
+ behaviour. It is only used while using
+ katenary compose
command line
+
+ There are + plenty of labels + to help you to customize and adapt the resulting Helm Chart. +
+
+# your "docker-compose.yml", or "compose.yaml"
+services:
+web:
+ image: docker.io/nginx:latest
+ ports:
+ - "80:80"
+ labels:
+ # generate an ingress resource in the Helm Chart
+ katenary.io/ingress: |-
+ hostname: example.com
+ port: 80
+
+
+ Kubernetes somtimes lacks of automation. Katenary helps you to add
+ what is needed, like having a
+ depends_on
feature.
+
+# your "docker-compose.yml", or "compose.yaml"
+services:
+ db:
+ image: docker.io/postgres:latest
+ # ...
+ labels:
+ katenary.v3/ports: |-
+ - 5432
+
+ web:
+ image: php:fpm
+ # ...
+ depends_on:
+ - db
+
+ + A playlist + is progressivelly filled to help the Katenary adoption. Take a look and + learn how it is simple. +
+ +