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
|
|
|
|
2022-06-13 13:18:31 +02:00
|
|
|
## Install Katenary
|
|
|
|
|
2024-11-22 15:12:44 +01:00
|
|
|
Katenary is developed using the :fontawesome-brands-golang:{ .gopher } [Go](https://go.dev) language.
|
2024-04-03 23:26:54 +02:00
|
|
|
The binary is statically linked, so you can simply download it from the [release
|
2025-07-13 00:43:21 +02:00
|
|
|
page](https://github.com/Katenary/katenary/releases) of the project in GitHub.
|
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
|
|
|
|
2024-10-18 09:34:57 +02:00
|
|
|
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
|
|
|
|
2022-06-14 09:25:43 +02:00
|
|
|
!!! Info "Upgrading is integrated to the `katenary` command"
|
2025-07-13 00:43:21 +02:00
|
|
|
Katenary propose a `upgrade` sub-command to update the current binary to the latest stable release.
|
2022-06-14 09:25:43 +02:00
|
|
|
|
|
|
|
Of course, you need to install Katenary once :smile:
|
|
|
|
|
|
|
|
!!! Note "You prefer to compile it, no need to install Go"
|
2025-07-13 00:43:21 +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.
|
|
|
|
|
2024-10-18 09:34:57 +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
|
|
|
|
2024-10-18 09:34:57 +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.
|
|
|
|
|
2024-04-10 14:19:07 +02:00
|
|
|
## License
|
|
|
|
|
|
|
|
Katenary is an open source project under the MIT license. You can use it, modify it, and distribute it as you want.
|