2024-04-10 22:25:07 +02:00
< div class = "md-center" >

< / div >
2022-06-13 13:18:31 +02:00
2022-06-14 09:25:43 +02:00
# Welcome to Katenary documentation
2022-06-13 13:18:31 +02:00
2024-04-04 09:50:17 +02:00
🚀 Unleash Productivity with Katenary! 🚀
2024-04-03 23:26:54 +02:00
2024-10-18 09:34:57 +02:00
Tired of manual conversions? Katenary harnesses the labels from your "compose" file to craft complete Helm Charts
2024-04-04 09:50:17 +02:00
effortlessly, saving you time and energy.
2022-06-13 13:18:31 +02:00
2024-11-22 15:12:44 +01:00
🛠️ Simple automated CLI: Katenary handles the grunt work, generating everything needed for seamless service binding
2024-04-04 09:50:17 +02:00
and Helm Chart creation.
2022-06-14 09:25:43 +02:00
2024-04-10 14:19:07 +02:00
💡 Effortless Efficiency: You only need to add labels when it's necessary to precise things. Then call `katenary convert`
and let the magic happen.
2024-04-04 09:50:17 +02:00
2024-04-10 04:51:45 +02:00
< div style = "margin: auto" class = "zoomable" >
2024-04-10 22:25:07 +02:00

2024-04-10 04:51:45 +02:00
< / div >
2024-04-10 14:19:07 +02:00
# What is it?
2022-06-14 09:25:43 +02:00
2024-11-22 15:12:44 +01:00
Katenary is a tool made to help you to transform "compose" files (`compose.yaml` , `docker-compose.yml` ,
`podman-compose.yml` ...) to complete and production ready [Helm Chart ](https://helm.sh ).
2022-06-14 09:25:43 +02:00
2024-10-18 09:34:57 +02:00
You'll be able to deploy your project in [:material-kubernetes: Kubernetes ](https://kubernetes.io ) in a few seconds
2024-04-03 23:26:54 +02:00
(of course, more if you need to tweak with labels).
2022-06-13 13:18:31 +02:00
2024-11-22 15:12:44 +01:00
It uses your current file and optionally labels to configure the result.
2022-06-13 13:18:31 +02:00
2024-11-22 15:12:44 +01:00
It's an open source project, under MIT license, originally partially developed at [Smile ](https://www.smile.eu ).
2024-04-24 13:59:21 +02:00
2024-11-22 15:12:44 +01:00
Today, it's partially developed in collaboration with [Klee Group ](https://www.kleegroup.com ). Note that Katenary is
and **will stay an open source and free (as freedom) project** . We are convinced that the best way to make it better is to
2024-04-24 13:59:21 +02:00
share it with the community.
< div id = "klee" >

< / div >
2025-08-19 23:36:48 +02:00
The main developer is [Patrice FERLET ](https://repo.katenary.io/metal3d ).
2024-04-24 13:59:21 +02:00
2024-10-18 09:34:57 +02:00
The project source
2025-08-19 23:36:48 +02:00
code is hosted on the [:fontawesome-brands-git: Katenary Repository ](https://repo.katenary.io/Katenary/katenary ).
2022-06-14 09:25:43 +02:00
2025-08-29 13:24:32 +02:00
# Install Katenary
2022-06-13 13:18:31 +02:00
2025-08-29 13:24:32 +02:00
## Linux / Windows package distribution or setup.exe
The simplest way to install Katenary is to install the package or use Windows installer from the page [packages page ](https://repo.katenary.io/Katenary/katenary/packages ).
You will find packages and instructions to install the repository for your distribution for :
- RPM (Fedora, Rocky, Alma, OpenSUSE...)
- DEB (Debian, Ubuntu, Mint...)
- Arch Linux (AUR)
- Windows (in the "generic" packages page, use the "setup" file)
!!! Note "Fedora >= 42"
The instruction is not updated for newest version of `dnf` . If the command to add the repository doesn't work, you can
try:
```bash
dnf config-manager addrepo \
--from-repofile https://repo.katenary.io/api/packages/Katenary/rpm.repo
```
As Katenary is developed using the :fontawesome-brands-golang:{ .gopher } [Go ](https://go.dev ) language the binary is statically
linked, so you can simply download it from the [generic package page ](https://repo.katenary.io/Katenary/katenary/packages ) and get the version
which is compatible with your operating system and architecture.
2022-06-13 13:18:31 +02:00
2024-10-18 09:34:57 +02:00
You need to select the right binary for your operating system and architecture, and copy the binary in a directory
2024-04-03 23:26:54 +02:00
that is in your `PATH` .
2022-06-13 13:18:31 +02:00
2025-08-29 13:24:32 +02:00
## Linux - one line installation command
If you are a Linux user, you can use the "one line installation command" which will download the **binary** in your
2024-04-03 23:26:54 +02:00
`$HOME/.local/bin` directory if it exists.
2022-06-13 13:18:31 +02:00
2024-04-10 14:19:07 +02:00
```bash
2025-08-19 23:36:48 +02:00
sh < (curl -sSL https://repo.katenary.io/Katenary/katenary/raw/branch/master/install.sh)
2024-04-10 14:19:07 +02:00
```
2022-06-13 13:18:31 +02:00
2025-08-29 13:24:32 +02:00
## Compile from sources
2022-06-14 09:25:43 +02:00
2025-08-29 13:24:32 +02:00
You can, of course, compile Katenary from sources.
2022-06-14 09:25:43 +02:00
!!! Note "You prefer to compile it, no need to install Go"
2025-08-29 13:24:32 +02:00
You can also build and install it yourself, the provided Makefile has got a `build` command that uses `podman` or
`docker` to build the binary.
2022-06-14 09:25:43 +02:00
So, you don't need to install Go compiler :+1:.
2024-04-03 23:26:54 +02:00
But, note that the "master" branch is not the "stable" version. It's preferable to switch to a tag, or to use the
releases.
2022-06-13 13:18:31 +02:00
2024-04-10 14:19:07 +02:00
To compile it, you can use the following commands:
```bash
2025-08-19 23:36:48 +02:00
git clone https://repo.katenary.io/Katenary/katenary.git
2022-06-13 13:18:31 +02:00
cd katenary
make build
2022-06-14 09:25:43 +02:00
make install
2024-04-10 14:19:07 +02:00
```
2022-06-14 09:25:43 +02:00
2024-10-18 09:34:57 +02:00
`make install` copies `./katenary` binary to your user binary path (`~/.local/bin` )
2022-06-14 09:25:43 +02:00
You can install it in other directory by changing the `PREFIX` variable. E.g.:
2024-04-10 14:19:07 +02:00
```bash
2022-06-14 09:25:43 +02:00
make build
sudo make install PREFIX=/usr/local
2024-04-10 14:19:07 +02:00
```
2022-06-13 13:18:31 +02:00
2022-06-14 09:25:43 +02:00
Check if everything is OK using `katenary version` and / or `katenary help`
2022-06-13 13:18:31 +02:00
## Install completion
Katenary uses the very nice project named `cobra` to manage flags, argument and auto-completion.
You can activate it with:
2024-04-10 14:19:07 +02:00
```bash
2022-06-13 13:18:31 +02:00
# replace "bash" by "zsh" if needed
source < (katenary completion bash)
2024-04-10 14:19:07 +02:00
```
Add this line in you `~/.profile` , `~/.bash_aliases` or `~/.bashrc` file to have completion at startup.
2025-08-29 13:24:32 +02:00
# What a name
2024-04-10 14:19:07 +02:00
A catenary is the curve that a hanging chain or cable assumes under its own weight when supported only at its ends.
I, the maintainer, decided to name "Katenary" this project because it's like a chain that links a boat to a dock.
Making the link between the "compose" world and the "Kubernetes" world is the main goal of this project.
Anyway, it's too late to change the name now :smile:
!!! Note "But I like this name!"
I spent time to find it :wink:
2022-06-13 13:18:31 +02:00
2025-08-29 13:24:32 +02:00
# Special thanks to
2024-04-10 14:19:07 +02:00
I really want to thank all the contributors, testers, and of course, the authors of the packages and tools that are used
2024-11-22 15:12:44 +01:00
in this project. There is too many to list here. Katenary can work because of all these people. Open source is a great
2024-04-10 14:19:07 +02:00
thing! :heart:
2022-06-13 13:18:31 +02:00
2024-10-18 09:34:57 +02:00
!!! Edit "Special thanks"
2024-04-04 09:50:17 +02:00
2025-07-13 00:43:21 +02:00
**Katenary is built with:** < br />
2024-04-04 09:50:17 +02:00
2024-11-22 15:12:44 +01:00
< a href = "https://go.dev" target = "_blank" > :fontawesome-brands-golang:{ .go-logo }< / a >
2024-04-04 09:50:17 +02:00
2024-11-22 15:12:44 +01:00
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Because Docker, Podman, Kubernetes, and Helm are written in Go, Katenary is also written in Go and borrows packages
from these projects to make it as efficient as possible.
2024-04-04 09:50:17 +02:00
2024-04-10 14:19:07 +02:00
Thanks to Kubernetes to provide [Kind ](https://kind.sigs.k8s.io ) that is used to test Katenary locally.
2024-04-04 09:50:17 +02:00
2024-04-10 14:19:07 +02:00
**Thanks to everyone who contributes to all these projects.**
2024-04-04 09:50:17 +02:00
2024-04-10 14:19:07 +02:00
Katenary can progress because of all these people. All contributions, as comments, issues, pull requests and
feedbacks are welcome.
2024-04-04 09:50:17 +02:00
2024-11-22 15:12:44 +01:00
**Everything was also possible because of:** < br />
2024-04-04 09:50:17 +02:00
2024-04-10 14:19:07 +02:00
< ul >
< li > < a href = "https://helm.sh" target = "_blank" > < img src = "https://helm.sh/img/helm.svg" style = "height: 1rem" / >
2024-11-22 15:12:44 +01:00
Helm< / a > that is the main toppic of Katenary, Kubernetes is easier to use with it.< / li >
2024-04-10 14:19:07 +02:00
< li > < a href = "https://cobra.dev/" > < img src = "https://cobra.dev/home/logo.png" style = "height: 1rem" / > Cobra< / a > that
makes command, subcommand and completion possible for Katenary with ease.< / li >
< li > Podman, Docker, Kubernetes that are the main tools that Katenary is made for.< / li >
2024-04-04 09:50:17 +02:00
< / ul >
2024-11-22 15:12:44 +01:00
**Documentation is built with:** < br />
2024-04-04 09:50:17 +02:00
< a href = "https://www.mkdocs.org/" target = "_blank" > MkDocs< / a > using < a
href="https://squidfunk.github.io/mkdocs-material/" target="_blank">Material for MkDocs< / a > theme template.
2025-08-29 13:24:32 +02:00
# License
2024-04-10 14:19:07 +02:00
Katenary is an open source project under the MIT license. You can use it, modify it, and distribute it as you want.