Change doc, icon and logo

This commit is contained in:
2024-04-10 13:53:58 +02:00
parent 3317459b0b
commit c780e6c2a2
10 changed files with 394 additions and 91 deletions

View File

@@ -35,14 +35,6 @@ The `generator` package is where object struct are defined, and where the `Gener
The generation is made by using a `HelmChart` object: The generation is made by using a `HelmChart` object:
```golang ```golang
chart := NewChart(appName string)
```
Then, some processes are made to detect the "main app verion" (tag for the main service image), bootstrapping declared
ports in labels, managing links to bind containers in one pods...
Then, a loop basically makes this:
```golang ```golang
for _, service := range project.Services { for _, service := range project.Services {
dep := NewDeployment(service) dep := NewDeployment(service)
@@ -52,7 +44,6 @@ for _, service := range project.Services {
Servicename: service.Name, Servicename: service.Name,
} }
} }
```
**A lot** of string manipulations are made by each `Yaml()` methods. This is where you find the complex and impacting **A lot** of string manipulations are made by each `Yaml()` methods. This is where you find the complex and impacting
operations. The `Yaml` methods **don't return a valid YAML content**. This is a Helm Chart Yaml content with template operations. The `Yaml` methods **don't return a valid YAML content**. This is a Helm Chart Yaml content with template

View File

@@ -42,9 +42,7 @@ that is in your `PATH`.
If you are a Linux user, you can use the "one line installation command" which will download the binary in your If you are a Linux user, you can use the "one line installation command" which will download the binary in your
`$HOME/.local/bin` directory if it exists. `$HOME/.local/bin` directory if it exists.
```bash
sh <(curl -sSL https://raw.githubusercontent.com/metal3d/katenary/master/install.sh) sh <(curl -sSL https://raw.githubusercontent.com/metal3d/katenary/master/install.sh)
```
!!! Info "Upgrading is integrated to the `katenary` command" !!! Info "Upgrading is integrated to the `katenary` command"
Katenary propose a `upgrade` subcommand to update the current binary to the latest stable release. Katenary propose a `upgrade` subcommand to update the current binary to the latest stable release.
@@ -61,21 +59,17 @@ sh <(curl -sSL https://raw.githubusercontent.com/metal3d/katenary/master/install
But, note that the "master" branch is not the "stable" version. It's preferable to switch to a tag, or to use the But, note that the "master" branch is not the "stable" version. It's preferable to switch to a tag, or to use the
releases. releases.
```bash
git clone https://github.com/metal3d/katenary.git git clone https://github.com/metal3d/katenary.git
cd katenary cd katenary
make build make build
make install make install
```
`make install` copies `./katenary` binary to your user binary path (`~/.local/bin`) `make install` copies `./katenary` binary to your user binary path (`~/.local/bin`)
You can install it in other directory by changing the `PREFIX` variable. E.g.: You can install it in other directory by changing the `PREFIX` variable. E.g.:
```bash
make build make build
sudo make install PREFIX=/usr/local sudo make install PREFIX=/usr/local
```
Check if everything is OK using `katenary version` and / or `katenary help` Check if everything is OK using `katenary version` and / or `katenary help`
@@ -84,10 +78,8 @@ Check if everything is OK using `katenary version` and / or `katenary help`
Katenary uses the very nice project named `cobra` to manage flags, argument and auto-completion. Katenary uses the very nice project named `cobra` to manage flags, argument and auto-completion.
You can activate it with: You can activate it with:
```bash
# replace "bash" by "zsh" if needed # replace "bash" by "zsh" if needed
source <(katenary completion bash) source <(katenary completion bash)
```
Add this line in you `~/.profile` or `~/.bashrc` file to have completion at startup. Add this line in you `~/.profile` or `~/.bashrc` file to have completion at startup.

View File

@@ -6,7 +6,7 @@
import "katenary/generator" import "katenary/generator"
``` ```
The generator package generates kubernetes objects from a compose file and transforms them into a helm chart. The generator package generates kubernetes objects from a "compose" file and transforms them into a helm chart.
The generator package is the core of katenary. It is responsible for generating kubernetes objects from a compose file and transforming them into a helm chart. Convertion manipulates Yaml representation of kubernetes object to add conditions, labels, annotations, etc. to the objects. It also create the values to be set to the values.yaml file. The generator package is the core of katenary. It is responsible for generating kubernetes objects from a compose file and transforming them into a helm chart. Convertion manipulates Yaml representation of kubernetes object to add conditions, labels, annotations, etc. to the objects. It also create the values to be set to the values.yaml file.
@@ -14,8 +14,6 @@ The generate.Convert\(\) create an HelmChart object and call "Generate\(\)" meth
If you want to change or override the write behavior, you can use the HelmChart.Generate\(\) function and implement your own write function. This function returns the helm chart object containing all kubernetes objects and helm chart ingormation. It does not write the helm chart to the disk. If you want to change or override the write behavior, you can use the HelmChart.Generate\(\) function and implement your own write function. This function returns the helm chart object containing all kubernetes objects and helm chart ingormation. It does not write the helm chart to the disk.
TODO: Manage cronjob \+ rbac TODO: create note.txt TODO: manage emptyDirs
## Constants ## Constants
<a name="KATENARY_PREFIX"></a> <a name="KATENARY_PREFIX"></a>

121
doc/docs/statics/icon.svg Normal file
View File

@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="svg211948"
viewBox="0 0 95.440796 85.01416"
height="85.01416"
width="95.440796"
version="1.1"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata211954">
<rdf:rdf>
<cc:work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:work>
</rdf:rdf>
</metadata>
<defs
id="defs211952" />
<linearGradient
spreadMethod="pad"
y2="0.30000001"
x2="-0.1"
y1="1.2"
x1="0.30000001"
id="3d_gradient2-logo-24885591-b378-4c55-b87b-b7d42ed10694">
<stop
id="stop211929"
stop-opacity="1"
stop-color="#ffffff"
offset="0%" />
<stop
id="stop211931"
stop-opacity="1"
stop-color="#000000"
offset="100%" />
</linearGradient>
<linearGradient
gradientTransform="rotate(-30)"
spreadMethod="pad"
y2="0.30000001"
x2="-0.1"
y1="1.2"
x1="0.30000001"
id="3d_gradient3-logo-24885591-b378-4c55-b87b-b7d42ed10694">
<stop
id="stop211934"
stop-opacity="1"
stop-color="#ffffff"
offset="0%" />
<stop
id="stop211936"
stop-opacity="1"
stop-color="#cccccc"
offset="50%" />
<stop
id="stop211938"
stop-opacity="1"
stop-color="#000000"
offset="100%" />
</linearGradient>
<g
id="logo-group"
transform="translate(-394.01147,-211.65063)">
<path
d="m 773.83594,234.02344 c -0.4545,0.0375 -0.92821,0.1629 -1.40821,0.3789 -1.91999,0.864 -2.68851,2.68743 -1.72851,4.60743 l 21.4082,44.35351 0.0957,0.0957 -9.5996,21.02344 c -0.96,2.112 -0.28778,3.74342 1.82421,4.60742 0.576,0.288 1.15252,0.38477 1.72852,0.38477 1.248,0 2.2072,-0.76703 2.7832,-2.20703 l 31.10352,-68.35352 c 0.96,-2.112 0.28778,-3.64772 -1.82422,-4.51172 -2.112,-0.864 -3.64742,-0.28748 -4.60742,1.72852 l -17.85547,39.35937 -18.7207,-39.45507 c -0.648,-1.44 -1.83572,-2.12422 -3.19922,-2.01172 z"
style="font-size:96px;line-height:0;font-family:Comfortaa;-inkscape-font-specification:Comfortaa;fill:#ff7f2a;stroke-width:51.0236;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0"
id="path9" />
<path
d="m 692.07617,233.63477 c -15.26398,0 -26.68945,11.51921 -26.68945,26.7832 0,15.26398 11.13594,26.68945 25.91992,26.68945 8.44799,0 15.64875,-3.84038 19.96875,-9.98437 v 5.85547 c 0,2.11199 1.53614,3.64843 3.74414,3.64843 2.112,0 3.74414,-1.53644 3.74414,-3.64843 v -22.56055 c -0.096,-15.26399 -11.51951,-26.7832 -26.6875,-26.7832 z m 0,6.7207 c 11.03999,0 19.39063,8.63851 19.39063,20.0625 0,11.42399 -8.35064,19.96875 -19.39063,19.96875 -11.03999,0 -19.48828,-8.54476 -19.48828,-19.96875 0,-11.42399 8.44829,-20.0625 19.48828,-20.0625 z"
style="font-size:96px;line-height:0;font-family:Comfortaa;-inkscape-font-specification:Comfortaa;fill:#ff7f2a;stroke-width:51.0236;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0"
id="path8" />
<path
d="m 566.60352,233.63477 c -14.78399,0 -25.15235,11.13521 -25.15235,26.7832 0,15.64798 11.03981,26.68945 26.5918,26.68945 5.95199,0 13.24866,-2.59224 17.47265,-6.24023 1.536,-1.344 1.4406,-3.36079 -0.1914,-4.80078 -1.344,-1.056 -3.26508,-0.9606 -4.70508,0.1914 -2.784,2.4 -7.96818,4.22461 -12.57617,4.22461 -10.65599,0 -18.52799,-7.20007 -19.58399,-17.66406 h 38.78516 c 2.016,0 3.45508,-1.34338 3.45508,-3.35938 0,-15.07198 -9.59972,-25.82421 -24.0957,-25.82421 z m 0,6.62304 c 9.69599,0 16.22359,6.72003 17.18359,16.41602 h -35.13477 c 1.344,-9.69599 8.15919,-16.41602 17.95118,-16.41602 z"
style="font-size:96px;line-height:0;font-family:Comfortaa;-inkscape-font-specification:Comfortaa;fill:#ff7f2a;stroke-width:51.0236;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0"
id="path7" />
<path
d="m 756.875,233.53906 c -6.71999,0 -12.67202,3.16757 -16.41602,8.35156 v -4.1289 c 0,-2.304 -1.34248,-3.64649 -3.64648,-3.64649 -2.304,0 -3.64844,1.34249 -3.64844,3.64649 v 45.2168 c 0,2.30399 1.34444,3.64843 3.64844,3.64843 2.304,0 3.64648,-1.34444 3.64648,-3.64843 v -28.70313 c 0,-8.92799 7.87302,-14.68851 18.625,-13.72852 3.168,0.192 5.75965,0.76867 6.43164,-2.11132 0.768,-3.168 -2.68863,-4.89649 -8.64062,-4.89649 z"
style="font-size:96px;line-height:0;font-family:Comfortaa;-inkscape-font-specification:Comfortaa;fill:#ff7f2a;stroke-width:51.0236;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0"
id="path6" />
<path
d="m 628.04297,233.53906 c -7.10399,0 -13.34271,2.87999 -17.4707,7.58399 v -3.26368 c 0,-2.20799 -1.44044,-3.74414 -3.64844,-3.74414 -2.208,0 -3.74414,1.53615 -3.74414,3.74414 v 45.11915 c 0,2.20799 1.53614,3.64843 3.74414,3.64843 2.208,0 3.64844,-1.44044 3.64844,-3.64843 V 254.5625 c 0,-7.96799 7.19913,-14.01563 16.70312,-14.01563 9.79199,0 17.18359,5.66467 17.18359,17.47266 v 24.95899 c 0,2.11199 1.63215,3.64843 3.74414,3.64843 2.016,0 3.64844,-1.53644 3.64844,-3.64843 v -24.95899 c 0,-15.83998 -10.2726,-24.48047 -23.80859,-24.48047 z"
style="font-size:96px;line-height:0;font-family:Comfortaa;-inkscape-font-specification:Comfortaa;fill:#ff7f2a;stroke-width:51.0236;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0"
id="path5" />
<path
d="m 512.17187,217.41016 c -2.11199,0 -3.64843,1.53614 -3.64843,3.74414 v 14.88086 h -6.24024 c -2.01599,0 -3.35937,1.34367 -3.35937,3.26367 0,1.824 1.34338,3.16797 3.35937,3.16797 h 6.24024 v 25.63281 c 0,10.65599 7.39207,18.43134 17.66406,18.52734 h 2.01562 c 2.304,0 4.03321,-1.53644 4.03321,-3.64843 0,-2.208 -1.44104,-3.74415 -3.45703,-3.74415 h -2.5918 c -5.95199,0 -10.27148,-4.60677 -10.27148,-11.13476 V 242.4668 h 10.84765 c 2.016,0 3.35938,-1.34397 3.35938,-3.16797 0,-1.92 -1.34338,-3.26367 -3.35938,-3.26367 H 515.91602 V 221.1543 c 0,-2.208 -1.53615,-3.74414 -3.74415,-3.74414 z"
style="font-size:96px;line-height:0;font-family:Comfortaa;-inkscape-font-specification:Comfortaa;fill:#ff7f2a;stroke-width:51.0236;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0"
id="path4" />
<image
xlink:href=""
id="container"
x="272"
y="144"
width="480"
height="480"
style="display:none" />
<image
xlink:href=""
id="icon_container"
style="display:none"
x="0"
y="0"
width="0"
height="0" />
<path
style="fill:#388ec7;fill-opacity:1;stroke:none;stroke-width:1.41128"
d="m 488.71354,251.36014 -33.31908,17.65778 -13.63054,6.42952 -13.63053,-6.42952 -33.31907,-17.65778 c 0,5.32502 -2.24747,16.12101 0.77828,20.72433 1.84892,2.81293 6.84753,4.46784 9.82323,6.09432 8.26868,4.51957 16.72019,8.751 24.98932,13.27082 3.1083,1.69895 7.62988,5.16897 11.35877,5.21476 3.70778,0.0455 8.2451,-3.55102 11.35878,-5.19752 8.33909,-4.40967 16.72005,-8.76818 24.98932,-13.28806 3.05286,-1.66866 8.68533,-3.49778 10.14461,-6.69253 2.3911,-5.23485 0.45691,-14.46175 0.45691,-20.12612 m -46.19236,16.00215 c 3.59731,-0.51544 7.48607,-3.47354 10.60152,-5.12097 7.58911,-4.0131 15.20174,-8.00941 22.71755,-12.13797 3.53683,-1.94283 9.05374,-3.7013 11.65911,-6.69847 3.28982,-3.78453 1.93068,-13.45759 -2.58668,-15.74886 -4.7363,-2.40229 -8.80251,1.12086 -12.85868,3.25251 l -21.20306,11.2665 c -2.56736,1.35182 -6.01463,4.01777 -9.08702,4.01777 -3.29073,0 -7.12524,-2.97742 -9.84427,-4.47101 -6.50984,-3.57597 -13.17851,-6.90091 -19.68854,-10.47698 -2.85668,-1.56921 -7.10587,-4.85415 -10.60153,-4.52437 -7.2756,0.6864 -9.69308,11.97712 -5.60111,16.68444 2.43875,2.80547 7.56529,4.49972 10.90188,6.26408 7.83167,4.14137 15.6667,8.28474 23.4748,12.46456 3.21433,1.72068 8.18431,5.79216 12.11603,5.22877 m 30.29007,-45.33762 v -1.39693 l -18.17404,-8.90973 -12.11603,4.65427 -12.87329,-4.72164 -18.93129,8.9771 v 1.39693 l 21.20305,11.17542 9.84427,4.34169 9.84428,-4.33415 z"
id="path1" />
<path
d="m 334.95508,211.65039 c -2.016,0 -3.74414,1.63214 -3.74414,3.74414 v 67.48828 c 0,2.112 1.72814,3.74414 3.74414,3.74414 2.112,0 3.74414,-1.63214 3.74414,-3.74414 v -24.57617 l 8.54492,-8.64062 26.11133,35.32812 c 0.768,1.152 1.82397,1.63281 3.16797,1.63281 2.68799,0 4.5115,-3.36112 2.6875,-5.95312 l -26.5918,-36.28711 26.30469,-26.30469 c 2.304,-2.592 1.24701,-6.43164 -2.20899,-6.43164 -1.152,0 -2.01461,0.38375 -2.97461,1.34375 l -35.04101,35.04102 v -32.64063 c 0,-2.112 -1.63214,-3.74414 -3.74414,-3.74414 z"
style="fill:#ff7f2a;stroke-width:51.0236;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:0"
id="path3" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@@ -58,9 +58,7 @@ For more complete label usage, see [the labels page](labels.md).
After having installed `katenary`, the standard usage is to call: After having installed `katenary`, the standard usage is to call:
```bash
katenary convert katenary convert
```
It will search standard compose files in the current directory and try to create a helm chart in "chart" directory. It will search standard compose files in the current directory and try to create a helm chart in "chart" directory.
@@ -71,9 +69,7 @@ It will search standard compose files in the current directory and try to create
Of course, you can provide others files than the default with (cummulative) `-c` options: Of course, you can provide others files than the default with (cummulative) `-c` options:
```bash
katenary convert -c file1.yaml -c file2.yaml katenary convert -c file1.yaml -c file2.yaml
```
## Some common labels to use ## Some common labels to use
@@ -90,7 +86,6 @@ to make you able to wait for a service to respond. But you'll probably need to a
See this compose file: See this compose file:
```yaml
version: "3" version: "3"
services: services:
@@ -103,14 +98,12 @@ services:
image: mariadb image: mariadb
environment: environment:
MYSQL_ROOT_PASSWORD: foobar MYSQL_ROOT_PASSWORD: foobar
```
In this case, `webapp` needs to know the `database` port because the `depends_on` points on it and Kubernetes has not In this case, `webapp` needs to know the `database` port because the `depends_on` points on it and Kubernetes has not
(yet) solution to check the database startup. Katenary wants to create a `initContainer` to hit on the related service. (yet) solution to check the database startup. Katenary wants to create a `initContainer` to hit on the related service.
So, instead of exposing the port in the compose definition, let's declare this to katenary with labels: So, instead of exposing the port in the compose definition, let's declare this to katenary with labels:
```yaml
version: "3" version: "3"
services: services:
@@ -126,14 +119,12 @@ services:
labels: labels:
katenary.v3/ports: |- katenary.v3/ports: |-
- 3306 - 3306
```
### Declare ingresses ### Declare ingresses
It's very common to have an `Ingress` on web application to deploy on Kuberenetes. The `katenary.io/ingress` declare the It's very common to have an `Ingress` on web application to deploy on Kuberenetes. The `katenary.io/ingress` declare the
port to bind. port to bind.
```yaml
# ... # ...
services: services:
webapp: webapp:
@@ -143,7 +134,6 @@ services:
katenary.v3/ingress: |- katenary.v3/ingress: |-
port: 5050 port: 5050
hostname: myapp.example.com hostname: myapp.example.com
```
Note that the port to bind is the one used by the container, not the used locally. This is because Katenary create a Note that the port to bind is the one used by the container, not the used locally. This is because Katenary create a
service to bind the container itself. service to bind the container itself.
@@ -156,7 +146,6 @@ example, to connect a PHP application to a database.
With a compose file, there is no problem as Docker/Podman allows to resolve the name by container name: With a compose file, there is no problem as Docker/Podman allows to resolve the name by container name:
```yaml
services: services:
webapp: webapp:
image: php:7-apache image: php:7-apache
@@ -165,13 +154,11 @@ services:
database: database:
image: mariadb image: mariadb
```
Katenary prefixes the services with `{{ .Release.Name }}` (to make it possible to install the application several times Katenary prefixes the services with `{{ .Release.Name }}` (to make it possible to install the application several times
in a namespace), so you need to "remap" the environment variable to the right one. in a namespace), so you need to "remap" the environment variable to the right one.
```yaml
services: services:
webapp: webapp:
image: php:7-apache image: php:7-apache
@@ -183,13 +170,11 @@ services:
database: database:
image: mariadb image: mariadb
```
This label can be used to map others environment for any others reason. E.g. to change an informational environment This label can be used to map others environment for any others reason. E.g. to change an informational environment
variable. variable.
```yaml
services: services:
webapp: webapp:
@@ -199,7 +184,6 @@ services:
labels: labels:
katenary.v3/mapenv: |- katenary.v3/mapenv: |-
RUNNING: kubernetes RUNNING: kubernetes
```
In the above example, `RUNNING` will be set to `kubernetes` when you'll deploy the application with helm, and it's In the above example, `RUNNING` will be set to `kubernetes` when you'll deploy the application with helm, and it's
`docker` for "podman" and "docker" executions. `docker` for "podman" and "docker" executions.

48
doc/fix.py Normal file
View File

@@ -0,0 +1,48 @@
""" Fix the markdown files to replace code blocs by lists when the code blocs are lists."""
import re
import sys
from typing import Tuple
# get markdown bloc code
re_code = re.compile(r"```(.*?)```", re.DOTALL)
def fix(text: str) -> Tuple[str, bool]:
"""Fix the markdown text to replace code blocs by lists when the code blocs are lists."""
# in the text, get the code blocs
code_blocs = re_code.findall(text)
# for each code bloc, if lines begin by a "-", this is a list. So,
# make it a mkdocs list and remove the block code
fixed = False
for code in code_blocs:
lines = code.split("\n")
lines = [line.strip() for line in lines if line.strip()]
if all(line.startswith("-") for line in lines):
fixed = True
# make a mkdocs list
lines = [f"- {line[1:]}" for line in lines]
# replace the code bloc by the list
text = text.replace(f"```{code}```", "\n".join(lines))
return text, fixed
def main(filename: str):
"""Fix and rewrite the markdown file."""
with open(filename, "r", encoding="utf-8") as f:
text = f.read()
content, fixed = fix(text)
if not fixed:
return
with open(sys.argv[1], "w", encoding="utf-8") as f:
f.write(content)
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: python fix.py <file>")
sys.exit(1)
main(sys.argv[1])

View File

@@ -3,7 +3,8 @@ docs_dir: ./docs
theme: theme:
name: material name: material
custom_dir: overrides custom_dir: overrides
logo: statics/logo-dark.svg logo: statics/logo-bright.svg
favicon: statics/icon.svg
palette: palette:
- scheme: slate - scheme: slate
toggle: toggle:
@@ -28,7 +29,7 @@ extra_css:
- statics/main.css - statics/main.css
extra_javascript: extra_javascript:
- statics/addons.js - statics/addons.js
copyright: Copyright &copy; 2021 - 2023 - Katenary authors copyright: Copyright &copy; 2021 - 2024 - Katenary authors
extra: extra:
generator: false generator: false
social: social:

View File

@@ -1,5 +1,5 @@
/* /*
The generator package generates kubernetes objects from a compose file and transforms them into a helm chart. The generator package generates kubernetes objects from a "compose" file and transforms them into a helm chart.
The generator package is the core of katenary. It is responsible for generating kubernetes objects from a compose file and transforming them into a helm chart. The generator package is the core of katenary. It is responsible for generating kubernetes objects from a compose file and transforming them into a helm chart.
Convertion manipulates Yaml representation of kubernetes object to add conditions, labels, annotations, etc. to the objects. It also create the values to be set to Convertion manipulates Yaml representation of kubernetes object to add conditions, labels, annotations, etc. to the objects. It also create the values to be set to
@@ -10,9 +10,5 @@ It saves the helm chart in the given directory.
If you want to change or override the write behavior, you can use the HelmChart.Generate() function and implement your own write function. This function returns If you want to change or override the write behavior, you can use the HelmChart.Generate() function and implement your own write function. This function returns
the helm chart object containing all kubernetes objects and helm chart ingormation. It does not write the helm chart to the disk. the helm chart object containing all kubernetes objects and helm chart ingormation. It does not write the helm chart to the disk.
TODO: Manage cronjob + rbac
TODO: create note.txt
TODO: manage emptyDirs
*/ */
package generator package generator