|
2 | 2 |
|
3 | 3 | ## Why Katenary?
|
4 | 4 |
|
5 |
| -The main author[^1] of Katenary is a big fan of Podman, Docker and makes a huge use of Compose. He uses it a lot in his daily work. When he started to work with Kubernetes, he wanted to have the same experience as with Docker Compose. He wanted to have a tool that could convert his `docker-compose` files to Kubernetes manifests, but also to Helm charts. |
| 5 | +The main author[^1] of Katenary is a big fan of Podman, Docker and makes a huge use of Compose. He uses it a lot in his |
| 6 | +daily work. When he started to work with Kubernetes, he wanted to have the same experience as with Docker Compose. |
| 7 | +He wanted to have a tool that could convert his `docker-compose` files to Kubernetes manifests, but also to Helm charts. |
6 | 8 |
|
7 |
| -Kompose was a good option. But the lacks of some options and configuration for the output Helm chart made him think about creating a new tool. He wanted to have a tool that could generate a complete Helm chart, with a lot of options and flexibility. |
| 9 | +Kompose was a good option. But the lacks of some options and configuration for the output Helm chart made him think |
| 10 | +about creating a new tool. He wanted to have a tool that could generate a complete Helm chart, with a lot of options |
| 11 | +and flexibility. |
8 | 12 |
|
9 |
| -[^1]: I'm talking about myself :sunglasses: - Patrice FERLET, aka metal3d, Tech Lead and DevOps Engineer at Klee Group. |
| 13 | +[^1]: I'm talking about myself :sunglasses: - Patrice FERLET, aka Metal3d, Tech Lead and DevOps Engineer at Klee Group. |
10 | 14 |
|
11 | 15 | ## What's the difference between Katenary and Kompose?
|
12 | 16 |
|
13 |
| -[Kompose](https://kompose.io/) is a very nice tool, made by the Kubernetes community. It's a tool to convert `docker-compose` files to Kubernetes manifests. It's a very good tool, and it's more mature than Katenary. |
| 17 | +[Kompose](https://kompose.io/) is a very nice tool, made by the Kubernetes community. It's a tool to convert |
| 18 | +`docker-compose` files to Kubernetes manifests. It's a very good tool, and it's more mature than Katenary. |
14 | 19 |
|
15 |
| -Kompose is able to genererate Helm charts, but [it could be not the case in future releases](https://github.com/kubernetes/kompose/issues/1716) for several reasons[^2]. |
| 20 | +Kompose is able to generate Helm charts, but [it could be not the case in future releases](https://github.com/kubernetes/kompose/issues/1716) for several reasons[^2]. |
16 | 21 |
|
17 |
| -[^2]: The author of Kompose explains that they have no bandwidth to maintain the Helm chart generation. It's a complex task, and we can confirm. Katenary takes a lot of time to be developed and maintained. This issue mentions Katenary as an alternative to Helm chart generation :smile: |
| 22 | +[^2]: The author of Kompose explains that they have no bandwidth to maintain the Helm chart generation. It's a complex |
| 23 | +task, and we can confirm. Katenary takes a lot of time to be developed and maintained. This issue mentions Katenary as |
| 24 | +an alternative to Helm chart generation :smile: |
18 | 25 |
|
19 |
| -The project is focused on Kubernetes manifests and proposes to use "kusomize" to adapt the manifests. Helm seems to be not the priority. |
| 26 | +The project is focused on Kubernetes manifests and proposes to use "kusomize" to adapt the manifests. Helm seems to be |
| 27 | +not the priority. |
20 | 28 |
|
21 |
| -Anyway, before this decision, the Helm chart generation was not what we expected. We wanted to have a more complete chart, with more options and more flexibility. |
| 29 | +Anyway, before this decision, the Helm chart generation was not what we expected. We wanted to have a more complete |
| 30 | +chart, with more options and more flexibility. |
22 | 31 |
|
23 | 32 | > That's why we decided to create Katenary.
|
24 | 33 |
|
25 |
| -Kompose didn't manage to generate a values file, complexe volume binding, and many other things. It was also not able to manage dependencies between services. |
| 34 | +Kompose didn't manage to generate a values file, complex volume binding, and many other things. It was also not able |
| 35 | +to manage dependencies between services. |
26 | 36 |
|
27 | 37 | > Be sure that we don't want to compete with Kompose. We just want to propose a different approach to the problem.
|
28 | 38 |
|
29 |
| -Kompose is an excellent tool, and we use it in some projects. It's a good choice if you want to convert your `docker-compose` files to Kubernetes manifests, but if you want to use Helm, Katenary is the tool you need. |
| 39 | +Kompose is an excellent tool, and we use it in some projects. It's a good choice if you want to convert |
| 40 | +your `docker-compose` files to Kubernetes manifests, but if you want to use Helm, Katenary is the tool you need. |
30 | 41 |
|
31 | 42 | ## Why not using "one label" for all the configuration?
|
32 | 43 |
|
33 |
| -That was a dicsussion I had with my colleagues. The idea was to use a single label to store all the configuration. But, it's not a good idea. |
| 44 | +That was a dicsussion I had with my colleagues. The idea was to use a single label to store all the configuration. |
| 45 | +But, it's not a good idea. |
34 | 46 |
|
35 |
| -Sometimes, you will have a long list of things to configure, like ports, ingress, dependecies, etc. It's better to have a clear and readable configuration. Segmented labels are easier to read and to maintain. It also avoids to have too many indentation levels in the YAML file. |
| 47 | +Sometimes, you will have a long list of things to configure, like ports, ingress, dependencies, etc. It's better to have |
| 48 | +a clear and readable configuration. Segmented labels are easier to read and to maintain. It also avoids having too |
| 49 | +many indentation levels in the YAML file. |
36 | 50 |
|
37 | 51 | It is also more flexible. You can add or remove labels without changing the others.
|
38 | 52 |
|
39 | 53 | ## Why not using a configuration file?
|
40 | 54 |
|
41 |
| -The idea was to keep the configuration at a same place, and using the go-compose library to read the labels. It's easier to have a single file to manage. |
| 55 | +The idea was to keep the configuration at a same place, and using the go-compose library to read the labels. It's |
| 56 | +easier to have a single file to manage. |
42 | 57 |
|
43 |
| -By the way, Katenary auto accepts a `compose.katenary.yaml` file in the same directory. It's a way to separate the configuration from the compose file. It uses the [overrides mecanism](https://docs.docker.com/compose/multiple-compose-files/merge/) like "compose" does. |
| 58 | +By the way, Katenary auto accepts a `compose.katenary.yaml` file in the same directory. It's a way to separate the |
| 59 | +configuration from the compose file. It uses |
| 60 | +the [overrides' mechanism](https://docs.docker.com/compose/multiple-compose-files/merge/) like "compose" does. |
44 | 61 |
|
45 |
| - |
46 |
| -## Why not developping with Rust? |
| 62 | +## Why not developing with Rust? |
47 | 63 |
|
48 | 64 | Seriously...
|
49 | 65 |
|
50 | 66 | OK, I will answer.
|
51 | 67 |
|
52 |
| -Rust is a good language. But, Podman, Docker, Kubernetes, Helm, and mostly all technologies around Kubernetes are written in Go. We have a large ecosystem in Go to manipulate, read, and write Kubernetes manifests as parsing Compose files. |
| 68 | +Rust is a good language. But, Podman, Docker, Kubernetes, Helm, and mostly all technologies around Kubernetes are |
| 69 | +written in Go. We have a large ecosystem in Go to manipulate, read, and write Kubernetes manifests as parsing |
| 70 | +Compose files. |
53 | 71 |
|
54 |
| -Go is better for this task. |
| 72 | +> Go is better for this task. |
55 | 73 |
|
56 | 74 | There is no reason to use Rust for this project.
|
57 | 75 |
|
58 | 76 | ## Any chance to have a GUI?
|
59 | 77 |
|
60 |
| -Yes, it's a possibility. But, it's not a priority. We have a lot of things to do before. We need to stabilize the project, to have a good documentation, to have a good test coverage, and to have a good community. |
| 78 | +Yes, it's a possibility. But, it's not a priority. We have a lot of things to do before. We need to stabilize the |
| 79 | +project, to have a good documentation, to have a good test coverage, and to have a good community. |
61 | 80 |
|
62 | 81 | But, in a not so far future, we could have a GUI. The choice of [Fyne.io](https://fyne.io) is already made and we tested some concepts.
|
63 | 82 |
|
64 |
| - |
65 | 83 | ## I'm rich (or not), I want to help you. How can I do?
|
66 | 84 |
|
67 | 85 | You can help us in many ways.
|
68 | 86 |
|
69 |
| -- The first things we really need, more than money, more than anything else, is to have feedback. If you use Katenary, if you have some issues, if you have some ideas, please open an issue on the [GitHub repository](https://github.com/metal3d/katenary). |
70 |
| -- The second things is to help us to fix issues. If you're a Go developper, or if you want to fix the documentation, your help is greatly appreciated. |
| 87 | +- The first things we really need, more than money, more than anything else, is to have feedback. If you use Katenary, |
| 88 | +if you have some issues, if you have some ideas, please open an issue on the [GitHub repository](https://github.com/metal3d/katenary). |
| 89 | +- The second things is to help us to fix issues. If you're a Go developper, or if you want to fix the documentation, |
| 90 | +your help is greatly appreciated. |
71 | 91 | - And then, of course, we need money, or sponsors.
|
72 | 92 |
|
73 | 93 | ### If you're a company
|
74 | 94 |
|
75 |
| -We will be happy to communicate your help by putting your logo on the website and in the documentaiton. You can sponsor us by giving us some money, or by giving us some time of your developers, or leaving us some time to work on the project. |
| 95 | +We will be happy to communicate your help by putting your logo on the website and in the documentaiton. You can sponsor |
| 96 | +us by giving us some money, or by giving us some time of your developers, or leaving us some time to work on the project. |
76 | 97 |
|
77 | 98 | ### If you're an individual
|
78 | 99 |
|
79 |
| -All donators will be listed on the website and in the documentation. You can give us some money by using the [GitHub Sponsors]() |
| 100 | +All donators will be listed on the website and in the documentation. You can give us some money by using |
| 101 | +the [GitHub Sponsors]() |
80 | 102 |
|
81 |
| -All main contributors[^3] will be listed on the website and in the documentation. |
| 103 | +All main contributors[^3] will be listed on the website and in the documentation. |
82 | 104 |
|
83 | 105 | > If you want to be anonymous, please tell us.
|
84 | 106 |
|
85 |
| - |
86 |
| -[^3]: Main contributors are the people who have made a significant contribution to the project. It could be code, documentation, or any other help. There is no defined rules, at this time, to evaluate the contribution. It's a subjective decision. |
87 |
| - |
| 107 | +[^3]: Main contributors are the people who have made a significant contribution to the project. It could be code, |
| 108 | +documentation, or any other help. There is no defined rules, at this time, to evaluate the contribution. |
| 109 | +It's a subjective decision. |
0 commit comments