diff --git a/README.md b/README.md
index 47e8818..8b72a5d 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,8 @@
[](https://katenary.readthedocs.io/en/latest/?badge=latest)
-[](https://goreportcard.com/report/github.com/metal3d/katenary)
-[](https://github.com/metal3d/katenary/releases)
+[](https://goreportcard.com/report/github.com/Katenary/katenary)
+[](https://github.com/Katenary/katenary/releases)
[](https://sonarcloud.io/summary/new_code?id=metal3d_katenary)
[](https://sonarcloud.io/summary/new_code?id=metal3d_katenary)
[](https://sonarcloud.io/summary/new_code?id=metal3d_katenary)
@@ -41,16 +41,16 @@ The main developer is [Patrice FERLET](https://github.com/metal3d).
## Install
-You can download the binaries from the [Release](https://github.com/metal3d/katenary/releases) section. Copy the binary
+You can download the binaries from the [Release](https://github.com/Katenary/katenary/releases) section. Copy the binary
and rename it to `katenary`. Place the binary inside your `PATH`. You should now be able to call the `katenary` command.
-You can of course get the binary with `go install -u github.com/metal3d/katenary/cmd/katenary/...` but the `main` branch
+You can of course get the binary with `go install -u github.com/Katenary/katenary/cmd/katenary/...` but the `main` branch
is continuously updated. It's preferable to use releases.
You can use this commands on Linux:
```bash
-sh <(curl -sSL https://raw.githubusercontent.com/metal3d/katenary/master/install.sh)
+sh <(curl -sSL https://raw.githubusercontent.com/Katenary/katenary/master/install.sh)
```
## Or, build yourself
@@ -137,69 +137,69 @@ Flags:
Use "katenary [command] --help" for more information about a command.
```
- Katenary will try to find a `docker-compose.yaml` or `docker-compose.yml` file inside the current directory. It will
- check *the existence of the `chart` directory to create a new Helm Chart inside a named subdirectory. Katenary will ask
- you if you want to delete it before recreating.
+Katenary will try to find a `docker-compose.yaml` or `docker-compose.yml` file inside the current directory. It will
+check \*the existence of the `chart` directory to create a new Helm Chart inside a named subdirectory. Katenary will ask
+you if you want to delete it before recreating.
It creates a subdirectory inside `chart` that is named with the `appname` option (default is `MyApp`)
- > To respect the ability to install the same application in the same namespace, Katenary will create variable names
- > like `{{ .Release.Name }}-servicename`. So, you will need to use some labels inside your docker-compose file to help
- > Katenary to build a correct helm chart.
+> To respect the ability to install the same application in the same namespace, Katenary will create variable names
+> like `{{ .Release.Name }}-servicename`. So, you will need to use some labels inside your docker-compose file to help
+> Katenary to build a correct helm chart.
- Example of a possible `docker-compose.yaml` file:
+Example of a possible `docker-compose.yaml` file:
```yaml
services:
- webapp:
- image: php:7-apache
- environment:
- # note that "database" is a "compose" service name
- # so we need to adapt it with the map-env label
- DB_HOST: database
- # a pitty to repeat this values, isn't it?
- # so, let's change them with "values-from" label
- DB_USER: foo
- DB_PASSWORD: bar
- expose:
- - 80
- depends_on:
- # this will create a init container waiting for 3306 port
- # because it's the "exposed" port
- - database
- labels:
- # expose the port 80 as an ingress
- katenary.v3/ingress: |-
- hostname: myapp.example.com
- port: 80
- # make adaptations, DB_HOST environment is actually the service name
- katenary.v3/map-env: |-
- DB_HOST: '{{ .Release.Name }}-database'
- # get the values from the "database" service
- # this will use the database secrets and environment,
- # see the "database" service to see the values
- katenary.v3/values-from: |-
- DB_USER: database.MARIADB_USER
- DB_PASSWORD: database.MARIADB_PASSWORD
+ webapp:
+ image: php:7-apache
+ environment:
+ # note that "database" is a "compose" service name
+ # so we need to adapt it with the map-env label
+ DB_HOST: database
+ # a pitty to repeat this values, isn't it?
+ # so, let's change them with "values-from" label
+ DB_USER: foo
+ DB_PASSWORD: bar
+ expose:
+ - 80
+ depends_on:
+ # this will create a init container waiting for 3306 port
+ # because it's the "exposed" port
+ - database
+ labels:
+ # expose the port 80 as an ingress
+ katenary.v3/ingress: |-
+ hostname: myapp.example.com
+ port: 80
+ # make adaptations, DB_HOST environment is actually the service name
+ katenary.v3/map-env: |-
+ DB_HOST: '{{ .Release.Name }}-database'
+ # get the values from the "database" service
+ # this will use the database secrets and environment,
+ # see the "database" service to see the values
+ katenary.v3/values-from: |-
+ DB_USER: database.MARIADB_USER
+ DB_PASSWORD: database.MARIADB_PASSWORD
- database:
- image: mariadb:10
- env_file:
- # this valuse will be added in a configMap
- - my_env.env
- environment:
- MARIADB_USER: foo
- MARIADB_ROOT_PASSWORD: foobar
- MARIADB_PASSWORD: bar
- labels:
- # no need to declare this port in docker-compose
- # but katenary will need it
- katenary.v3/ports: |-
- - 3306
- # these variables are secrets
- katenary.v3/secrets: |-
- - MARIADB_ROOT_PASSWORD
- - MARIADB_PASSWORD
+ database:
+ image: mariadb:10
+ env_file:
+ # this valuse will be added in a configMap
+ - my_env.env
+ environment:
+ MARIADB_USER: foo
+ MARIADB_ROOT_PASSWORD: foobar
+ MARIADB_PASSWORD: bar
+ labels:
+ # no need to declare this port in docker-compose
+ # but katenary will need it
+ katenary.v3/ports: |-
+ - 3306
+ # these variables are secrets
+ katenary.v3/secrets: |-
+ - MARIADB_ROOT_PASSWORD
+ - MARIADB_PASSWORD
```
## Labels
@@ -237,25 +237,25 @@ For example, instead of using this:
```yaml
services:
- web:
- image: nginx:latest
- katenary.v3/ingress: |-
- hostname: myapp.example.com
- port: 80
+ web:
+ image: nginx:latest
+ katenary.v3/ingress: |-
+ hostname: myapp.example.com
+ port: 80
```
You can remove the labels, and use a kanetary.yaml file:
```yaml
web:
- ingress:
- hostname: myapp.example.com
- port: 80
+ ingress:
+ hostname: myapp.example.com
+ port: 80
```
To validate the `katenary.yaml` file, you can use the JSON schema using the "master" raw content:
-`https://raw.githubusercontent.com/metal3d/katenary/refs/heads/master/katenary.json`
+`https://raw.githubusercontent.com/Katenary/katenary/refs/heads/master/katenary.json`
It's easy to configure in [LazyVim](https://www.lazyvim.org/), using `nvim-lspconfig`,
create a Lua file in your `plugins` directory, or apply the settings as the example below:
@@ -272,7 +272,7 @@ return {
settings = {
yaml = {
schemas = {
- ["https://raw.githubusercontent.com/metal3d/katenary/master/katenary.json"] = "katenary.yaml",
+ ["https://raw.githubusercontent.com/Katenary/katenary/master/katenary.json"] = "katenary.yaml",
},
},
},
@@ -287,9 +287,9 @@ Use this address to validate the `katenary.yaml` file in VSCode:
```json
{
- "yaml.schemas": {
- "https://raw.githubusercontent.com/metal3d/katenary/master/katenary.json": "katenary.yaml"
- }
+ "yaml.schemas": {
+ "https://raw.githubusercontent.com/Katenary/katenary/master/katenary.json": "katenary.yaml"
+ }
}
```
diff --git a/doc/docs/faq.md b/doc/docs/faq.md
index 9314751..75d23ec 100644
--- a/doc/docs/faq.md
+++ b/doc/docs/faq.md
@@ -19,9 +19,10 @@ and flexibility.
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].
-[^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:
+[^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:
The project is focused on Kubernetes manifests and proposes to use "Kustomize" to adapt the manifests. Helm seems to be
not the priority.
@@ -86,9 +87,9 @@ tested some concepts.
You can help us in many ways.
- 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).
+ if you have some issues, if you have some ideas, please open an issue on the [GitHub repository](https://github.com/Katenary/katenary).
- The second thing is to help us to fix issues. If you're a Go developer, or if you want to fix the documentation,
-your help is greatly appreciated.
+ your help is greatly appreciated.
- And then, of course, we need money, or sponsors.
### If you're a company
@@ -105,6 +106,7 @@ All main contributors[^3] will be listed on the website and in the documentation
> If you want to be anonymous, please tell us.
-[^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.
+[^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.
diff --git a/doc/docs/index.md b/doc/docs/index.md
index 8d6de25..f1b4d3a 100644
--- a/doc/docs/index.md
+++ b/doc/docs/index.md
@@ -42,13 +42,13 @@ share it with the community.
The main developer is [Patrice FERLET](https://github.com/metal3d).
The project source
-code is hosted on the [:fontawesome-brands-github: Katenary GitHub Repository](https://github.com/metal3d/katenary).
+code is hosted on the [:fontawesome-brands-github: Katenary GitHub Repository](https://github.com/Katenary/katenary).
## Install Katenary
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 [release
-page](https://github.com/metal3d/katenary/releases) of the project in GitHub.
+page](https://github.com/Katenary/katenary/releases) of the project in GitHub.
You need to select the right binary for your operating system and architecture, and copy the binary in a directory
that is in your `PATH`.
@@ -57,17 +57,17 @@ If you are a Linux user, you can use the "one line installation command" which w
`$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/Katenary/katenary/master/install.sh)
```
!!! Info "Upgrading is integrated to the `katenary` command"
- Katenary propose a `upgrade` sub-command to update the current binary to the latest stable release.
+Katenary propose a `upgrade` sub-command to update the current binary to the latest stable release.
Of course, you need to install Katenary once :smile:
!!! Note "You prefer to compile it, no need to install Go"
- 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.
+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.
So, you don't need to install Go compiler :+1:.
@@ -77,7 +77,7 @@ sh <(curl -sSL https://raw.githubusercontent.com/metal3d/katenary/master/install
To compile it, you can use the following commands:
```bash
-git clone https://github.com/metal3d/katenary.git
+git clone https://github.com/Katenary/katenary.git
cd katenary
make build
make install
@@ -127,7 +127,7 @@ thing! :heart:
!!! Edit "Special thanks"
- **Katenary is built with:**
+ **Katenary is built with:**
:fontawesome-brands-golang:{ .go-logo }
diff --git a/doc/docs/packages/generator.md b/doc/docs/packages/generator.md
index 9b029da..ad75de0 100644
--- a/doc/docs/packages/generator.md
+++ b/doc/docs/packages/generator.md
@@ -35,7 +35,7 @@ var Version = "master" // changed at compile time
```
-## func [Convert](
)
+## func [Convert]()
```go
func Convert(config ConvertOptions, dockerComposeFile ...string) error
@@ -44,7 +44,7 @@ func Convert(config ConvertOptions, dockerComposeFile ...string) error
Convert a compose \(docker, podman...\) project to a helm chart. It calls Generate\(\) to generate the chart and then write it to the disk.
-## func [GetLabels]()
+## func [GetLabels]()
```go
func GetLabels(serviceName, appName string) map[string]string
@@ -53,7 +53,7 @@ func GetLabels(serviceName, appName string) map[string]string
GetLabels returns the labels for a service. It uses the appName to replace the \_\_replace\_\_ in the labels. This is used to generate the labels in the templates.
-## func [GetMatchLabels]()
+## func [GetMatchLabels]()
```go
func GetMatchLabels(serviceName, appName string) map[string]string
@@ -62,7 +62,7 @@ func GetMatchLabels(serviceName, appName string) map[string]string
GetMatchLabels returns the matchLabels for a service. It uses the appName to replace the \_\_replace\_\_ in the labels. This is used to generate the matchLabels in the templates.
-## func [GetVersion]()
+## func [GetVersion]()
```go
func GetVersion() string
@@ -71,7 +71,7 @@ func GetVersion() string
GetVersion return the version of katneary. It's important to understand that the version is set at compile time for the github release. But, it the user get katneary using \`go install\`, the version should be different.
-## func [Helper]()
+## func [Helper]()
```go
func Helper(name string) string
@@ -80,7 +80,7 @@ func Helper(name string) string
Helper returns the \_helpers.tpl file for a chart.
-## func [NewCronJob]()
+## func [NewCronJob]()
```go
func NewCronJob(service types.ServiceConfig, chart *HelmChart, appName string) (*CronJob, *RBAC)
@@ -89,7 +89,7 @@ func NewCronJob(service types.ServiceConfig, chart *HelmChart, appName string) (
NewCronJob creates a new CronJob from a compose service. The appName is the name of the application taken from the project name.
-## func [ToK8SYaml]()
+## func [ToK8SYaml]()
```go
func ToK8SYaml(obj any) ([]byte, error)
@@ -98,7 +98,7 @@ func ToK8SYaml(obj any) ([]byte, error)
-## func [UnWrapTPL]()
+## func [UnWrapTPL]()
```go
func UnWrapTPL(in []byte) []byte
@@ -107,7 +107,7 @@ func UnWrapTPL(in []byte) []byte
UnWrapTPL removes the line wrapping from a template.
-## type [ChartTemplate]()
+## type [ChartTemplate]()
ChartTemplate is a template of a chart. It contains the content of the template and the name of the service. This is used internally to generate the templates.
@@ -119,7 +119,7 @@ type ChartTemplate struct {
```
-## type [ConfigMap]()
+## type [ConfigMap]()
ConfigMap is a kubernetes ConfigMap. Implements the DataMap interface.
@@ -131,7 +131,7 @@ type ConfigMap struct {
```
-### func [NewConfigMap]()
+### func [NewConfigMap]()
```go
func NewConfigMap(service types.ServiceConfig, appName string, forFile bool) *ConfigMap
@@ -140,7 +140,7 @@ func NewConfigMap(service types.ServiceConfig, appName string, forFile bool) *Co
NewConfigMap creates a new ConfigMap from a compose service. The appName is the name of the application taken from the project name. The ConfigMap is filled by environment variables and labels "map\-env".
-### func [NewConfigMapFromDirectory]()
+### func [NewConfigMapFromDirectory]()
```go
func NewConfigMapFromDirectory(service types.ServiceConfig, appName, path string) *ConfigMap
@@ -149,7 +149,7 @@ func NewConfigMapFromDirectory(service types.ServiceConfig, appName, path string
NewConfigMapFromDirectory creates a new ConfigMap from a compose service. This path is the path to the file or directory. If the path is a directory, all files in the directory are added to the ConfigMap. Each subdirectory are ignored. Note that the Generate\(\) function will create the subdirectories ConfigMaps.
-### func \(\*ConfigMap\) [AddBinaryData]()
+### func \(\*ConfigMap\) [AddBinaryData]()
```go
func (c *ConfigMap) AddBinaryData(key string, value []byte)
@@ -158,7 +158,7 @@ func (c *ConfigMap) AddBinaryData(key string, value []byte)
AddBinaryData adds binary data to the configmap. Append or overwrite the value if the key already exists.
-### func \(\*ConfigMap\) [AddData]()
+### func \(\*ConfigMap\) [AddData]()
```go
func (c *ConfigMap) AddData(key, value string)
@@ -167,7 +167,7 @@ func (c *ConfigMap) AddData(key, value string)
AddData adds a key value pair to the configmap. Append or overwrite the value if the key already exists.
-### func \(\*ConfigMap\) [AppendDir]()
+### func \(\*ConfigMap\) [AppendDir]()
```go
func (c *ConfigMap) AppendDir(path string) error
@@ -176,7 +176,7 @@ func (c *ConfigMap) AppendDir(path string) error
AppendDir adds files from given path to the configmap. It is not recursive, to add all files in a directory, you need to call this function for each subdirectory.
-### func \(\*ConfigMap\) [AppendFile]()
+### func \(\*ConfigMap\) [AppendFile]()
```go
func (c *ConfigMap) AppendFile(path string) error
@@ -185,7 +185,7 @@ func (c *ConfigMap) AppendFile(path string) error
-### func \(\*ConfigMap\) [Filename]()
+### func \(\*ConfigMap\) [Filename]()
```go
func (c *ConfigMap) Filename() string
@@ -194,7 +194,7 @@ func (c *ConfigMap) Filename() string
Filename returns the filename of the configmap. If the configmap is used for files, the filename contains the path.
-### func \(\*ConfigMap\) [SetData]()
+### func \(\*ConfigMap\) [SetData]()
```go
func (c *ConfigMap) SetData(data map[string]string)
@@ -203,7 +203,7 @@ func (c *ConfigMap) SetData(data map[string]string)
SetData sets the data of the configmap. It replaces the entire data.
-### func \(\*ConfigMap\) [Yaml]()
+### func \(\*ConfigMap\) [Yaml]()
```go
func (c *ConfigMap) Yaml() ([]byte, error)
@@ -212,7 +212,7 @@ func (c *ConfigMap) Yaml() ([]byte, error)
Yaml returns the yaml representation of the configmap
-## type [ConfigMapMount]()
+## type [ConfigMapMount]()
@@ -223,7 +223,7 @@ type ConfigMapMount struct {
```
-## type [ConvertOptions]()
+## type [ConvertOptions]()
ConvertOptions are the options to convert a compose project to a helm chart.
@@ -241,7 +241,7 @@ type ConvertOptions struct {
```
-## type [CronJob]()
+## type [CronJob]()
CronJob is a kubernetes CronJob.
@@ -253,7 +253,7 @@ type CronJob struct {
```
-### func \(\*CronJob\) [Filename]()
+### func \(\*CronJob\) [Filename]()
```go
func (c *CronJob) Filename() string
@@ -264,7 +264,7 @@ Filename returns the filename of the cronjob.
Implements the Yaml interface.
-### func \(\*CronJob\) [Yaml]()
+### func \(\*CronJob\) [Yaml]()
```go
func (c *CronJob) Yaml() ([]byte, error)
@@ -275,7 +275,7 @@ Yaml returns the yaml representation of the cronjob.
Implements the Yaml interface.
-## type [CronJobValue]()
+## type [CronJobValue]()
CronJobValue is a cronjob configuration that will be saved in values.yaml.
@@ -289,7 +289,7 @@ type CronJobValue struct {
```
-## type [DataMap]()
+## type [DataMap]()
DataMap is a kubernetes ConfigMap or Secret. It can be used to add data to the ConfigMap or Secret.
@@ -301,7 +301,7 @@ type DataMap interface {
```
-## type [Deployment]()
+## type [Deployment]()
Deployment is a kubernetes Deployment.
@@ -313,7 +313,7 @@ type Deployment struct {
```
-### func [NewDeployment]()
+### func [NewDeployment]()
```go
func NewDeployment(service types.ServiceConfig, chart *HelmChart) *Deployment
@@ -322,7 +322,7 @@ func NewDeployment(service types.ServiceConfig, chart *HelmChart) *Deployment
NewDeployment creates a new Deployment from a compose service. The appName is the name of the application taken from the project name. It also creates the Values map that will be used to create the values.yaml file.
-### func \(\*Deployment\) [AddContainer]()
+### func \(\*Deployment\) [AddContainer]()
```go
func (d *Deployment) AddContainer(service types.ServiceConfig)
@@ -331,7 +331,7 @@ func (d *Deployment) AddContainer(service types.ServiceConfig)
AddContainer adds a container to the deployment.
-### func \(\*Deployment\) [AddHealthCheck]()
+### func \(\*Deployment\) [AddHealthCheck]()
```go
func (d *Deployment) AddHealthCheck(service types.ServiceConfig, container *corev1.Container)
@@ -340,7 +340,7 @@ func (d *Deployment) AddHealthCheck(service types.ServiceConfig, container *core
-### func \(\*Deployment\) [AddIngress]()
+### func \(\*Deployment\) [AddIngress]()
```go
func (d *Deployment) AddIngress(service types.ServiceConfig, appName string) *Ingress
@@ -349,7 +349,7 @@ func (d *Deployment) AddIngress(service types.ServiceConfig, appName string) *In
AddIngress adds an ingress to the deployment. It creates the ingress object.
-### func \(\*Deployment\) [AddLegacyVolume]()
+### func \(\*Deployment\) [AddLegacyVolume]()
```go
func (d *Deployment) AddLegacyVolume(name, kind string)
@@ -358,7 +358,7 @@ func (d *Deployment) AddLegacyVolume(name, kind string)
-### func \(\*Deployment\) [AddVolumes]()
+### func \(\*Deployment\) [AddVolumes]()
```go
func (d *Deployment) AddVolumes(service types.ServiceConfig, appName string)
@@ -367,7 +367,7 @@ func (d *Deployment) AddVolumes(service types.ServiceConfig, appName string)
AddVolumes adds a volume to the deployment. It does not create the PVC, it only adds the volumes to the deployment. If the volume is a bind volume it will warn the user that it is not supported yet.
-### func \(\*Deployment\) [BindFrom]()
+### func \(\*Deployment\) [BindFrom]()
```go
func (d *Deployment) BindFrom(service types.ServiceConfig, binded *Deployment)
@@ -376,7 +376,7 @@ func (d *Deployment) BindFrom(service types.ServiceConfig, binded *Deployment)
-### func \(\*Deployment\) [BindMapFilesToContainer]()
+### func \(\*Deployment\) [BindMapFilesToContainer]()
```go
func (d *Deployment) BindMapFilesToContainer(service types.ServiceConfig, secrets []string, appName string) (*corev1.Container, int)
@@ -385,7 +385,7 @@ func (d *Deployment) BindMapFilesToContainer(service types.ServiceConfig, secret
-### func \(\*Deployment\) [DependsOn]()
+### func \(\*Deployment\) [DependsOn]()
```go
func (d *Deployment) DependsOn(to *Deployment, servicename string) error
@@ -394,7 +394,7 @@ func (d *Deployment) DependsOn(to *Deployment, servicename string) error
DependsOn adds a initContainer to the deployment that will wait for the service to be up.
-### func \(\*Deployment\) [Filename]()
+### func \(\*Deployment\) [Filename]()
```go
func (d *Deployment) Filename() string
@@ -403,7 +403,7 @@ func (d *Deployment) Filename() string
Filename returns the filename of the deployment.
-### func \(\*Deployment\) [MountExchangeVolumes]()
+### func \(\*Deployment\) [MountExchangeVolumes]()
```go
func (d *Deployment) MountExchangeVolumes()
@@ -412,7 +412,7 @@ func (d *Deployment) MountExchangeVolumes()
-### func \(\*Deployment\) [SetEnvFrom]()
+### func \(\*Deployment\) [SetEnvFrom]()
```go
func (d *Deployment) SetEnvFrom(service types.ServiceConfig, appName string, samePod ...bool)
@@ -421,7 +421,7 @@ func (d *Deployment) SetEnvFrom(service types.ServiceConfig, appName string, sam
SetEnvFrom sets the environment variables to a configmap. The configmap is created.
-### func \(\*Deployment\) [Yaml]()
+### func \(\*Deployment\) [Yaml]()
```go
func (d *Deployment) Yaml() ([]byte, error)
@@ -430,7 +430,7 @@ func (d *Deployment) Yaml() ([]byte, error)
Yaml returns the yaml representation of the deployment.
-## type [FileMapUsage]()
+## type [FileMapUsage]()
FileMapUsage is the usage of the filemap.
@@ -448,7 +448,7 @@ const (
```
-## type [HelmChart]()
+## type [HelmChart]()
HelmChart is a Helm Chart representation. It contains all the templates, values, versions, helpers...
@@ -471,7 +471,7 @@ type HelmChart struct {
```
-### func [Generate]()
+### func [Generate]()
```go
func Generate(project *types.Project) (*HelmChart, error)
@@ -491,7 +491,7 @@ The Generate function will create the HelmChart object this way:
- Merge the same\-pod services.
-### func [NewChart]()
+### func [NewChart]()
```go
func NewChart(name string) *HelmChart
@@ -500,7 +500,7 @@ func NewChart(name string) *HelmChart
NewChart creates a new empty chart with the given name.
-### func \(\*HelmChart\) [SaveTemplates]()
+### func \(\*HelmChart\) [SaveTemplates]()
```go
func (chart *HelmChart) SaveTemplates(templateDir string)
@@ -509,7 +509,7 @@ func (chart *HelmChart) SaveTemplates(templateDir string)
SaveTemplates the templates of the chart to the given directory.
-## type [Ingress]()
+## type [Ingress]()
@@ -521,7 +521,7 @@ type Ingress struct {
```
-### func [NewIngress]()
+### func [NewIngress]()
```go
func NewIngress(service types.ServiceConfig, Chart *HelmChart) *Ingress
@@ -530,7 +530,7 @@ func NewIngress(service types.ServiceConfig, Chart *HelmChart) *Ingress
NewIngress creates a new Ingress from a compose service.
-### func \(\*Ingress\) [Filename]()
+### func \(\*Ingress\) [Filename]()
```go
func (ingress *Ingress) Filename() string
@@ -539,7 +539,7 @@ func (ingress *Ingress) Filename() string
-### func \(\*Ingress\) [Yaml]()
+### func \(\*Ingress\) [Yaml]()
```go
func (ingress *Ingress) Yaml() ([]byte, error)
@@ -548,7 +548,7 @@ func (ingress *Ingress) Yaml() ([]byte, error)
-## type [IngressValue]()
+## type [IngressValue]()
IngressValue is a ingress configuration that will be saved in values.yaml.
@@ -564,7 +564,7 @@ type IngressValue struct {
```
-## type [PersistenceValue]()
+## type [PersistenceValue]()
PersistenceValue is a persistence configuration that will be saved in values.yaml.
@@ -578,7 +578,7 @@ type PersistenceValue struct {
```
-## type [RBAC]()
+## type [RBAC]()
RBAC is a kubernetes RBAC containing a role, a rolebinding and an associated serviceaccount.
@@ -591,7 +591,7 @@ type RBAC struct {
```
-### func [NewRBAC]()
+### func [NewRBAC]()
```go
func NewRBAC(service types.ServiceConfig, appName string) *RBAC
@@ -600,7 +600,7 @@ func NewRBAC(service types.ServiceConfig, appName string) *RBAC
NewRBAC creates a new RBAC from a compose service. The appName is the name of the application taken from the project name.
-## type [RepositoryValue]()
+## type [RepositoryValue]()
RepositoryValue is a docker repository image and tag that will be saved in values.yaml.
@@ -612,7 +612,7 @@ type RepositoryValue struct {
```
-## type [Role]()
+## type [Role]()
Role is a kubernetes Role.
@@ -624,7 +624,7 @@ type Role struct {
```
-### func \(\*Role\) [Filename]()
+### func \(\*Role\) [Filename]()
```go
func (r *Role) Filename() string
@@ -633,7 +633,7 @@ func (r *Role) Filename() string
-### func \(\*Role\) [Yaml]()
+### func \(\*Role\) [Yaml]()
```go
func (r *Role) Yaml() ([]byte, error)
@@ -642,7 +642,7 @@ func (r *Role) Yaml() ([]byte, error)
-## type [RoleBinding]()
+## type [RoleBinding]()
RoleBinding is a kubernetes RoleBinding.
@@ -654,7 +654,7 @@ type RoleBinding struct {
```
-### func \(\*RoleBinding\) [Filename]()
+### func \(\*RoleBinding\) [Filename]()
```go
func (r *RoleBinding) Filename() string
@@ -663,7 +663,7 @@ func (r *RoleBinding) Filename() string
-### func \(\*RoleBinding\) [Yaml]()
+### func \(\*RoleBinding\) [Yaml]()
```go
func (r *RoleBinding) Yaml() ([]byte, error)
@@ -672,7 +672,7 @@ func (r *RoleBinding) Yaml() ([]byte, error)
-## type [Secret]()
+## type [Secret]()
Secret is a kubernetes Secret.
@@ -686,7 +686,7 @@ type Secret struct {
```
-### func [NewSecret]()
+### func [NewSecret]()
```go
func NewSecret(service types.ServiceConfig, appName string) *Secret
@@ -695,7 +695,7 @@ func NewSecret(service types.ServiceConfig, appName string) *Secret
NewSecret creates a new Secret from a compose service
-### func \(\*Secret\) [AddData]()
+### func \(\*Secret\) [AddData]()
```go
func (s *Secret) AddData(key, value string)
@@ -704,7 +704,7 @@ func (s *Secret) AddData(key, value string)
AddData adds a key value pair to the secret.
-### func \(\*Secret\) [Filename]()
+### func \(\*Secret\) [Filename]()
```go
func (s *Secret) Filename() string
@@ -713,7 +713,7 @@ func (s *Secret) Filename() string
Filename returns the filename of the secret.
-### func \(\*Secret\) [SetData]()
+### func \(\*Secret\) [SetData]()
```go
func (s *Secret) SetData(data map[string]string)
@@ -722,7 +722,7 @@ func (s *Secret) SetData(data map[string]string)
SetData sets the data of the secret.
-### func \(\*Secret\) [Yaml]()
+### func \(\*Secret\) [Yaml]()
```go
func (s *Secret) Yaml() ([]byte, error)
@@ -731,7 +731,7 @@ func (s *Secret) Yaml() ([]byte, error)
Yaml returns the yaml representation of the secret.
-## type [Service]()
+## type [Service]()
Service is a kubernetes Service.
@@ -743,7 +743,7 @@ type Service struct {
```
-### func [NewService]()
+### func [NewService]()
```go
func NewService(service types.ServiceConfig, appName string) *Service
@@ -752,7 +752,7 @@ func NewService(service types.ServiceConfig, appName string) *Service
NewService creates a new Service from a compose service.
-### func \(\*Service\) [AddPort]()
+### func \(\*Service\) [AddPort]()
```go
func (s *Service) AddPort(port types.ServicePortConfig, serviceName ...string)
@@ -761,7 +761,7 @@ func (s *Service) AddPort(port types.ServicePortConfig, serviceName ...string)
AddPort adds a port to the service.
-### func \(\*Service\) [Filename]()
+### func \(\*Service\) [Filename]()
```go
func (s *Service) Filename() string
@@ -770,7 +770,7 @@ func (s *Service) Filename() string
Filename returns the filename of the service.
-### func \(\*Service\) [Yaml]()
+### func \(\*Service\) [Yaml]()
```go
func (s *Service) Yaml() ([]byte, error)
@@ -779,7 +779,7 @@ func (s *Service) Yaml() ([]byte, error)
Yaml returns the yaml representation of the service.
-## type [ServiceAccount]()
+## type [ServiceAccount]()
ServiceAccount is a kubernetes ServiceAccount.
@@ -791,7 +791,7 @@ type ServiceAccount struct {
```
-### func \(\*ServiceAccount\) [Filename]()
+### func \(\*ServiceAccount\) [Filename]()
```go
func (r *ServiceAccount) Filename() string
@@ -800,7 +800,7 @@ func (r *ServiceAccount) Filename() string
-### func \(\*ServiceAccount\) [Yaml]()
+### func \(\*ServiceAccount\) [Yaml]()
```go
func (r *ServiceAccount) Yaml() ([]byte, error)
@@ -809,7 +809,7 @@ func (r *ServiceAccount) Yaml() ([]byte, error)
-## type [TLS]()
+## type [TLS]()
@@ -821,7 +821,7 @@ type TLS struct {
```
-## type [Value]()
+## type [Value]()
Value will be saved in values.yaml. It contains configuration for all deployment and services.
@@ -841,7 +841,7 @@ type Value struct {
```
-### func [NewValue]()
+### func [NewValue]()
```go
func NewValue(service types.ServiceConfig, main ...bool) *Value
@@ -852,7 +852,7 @@ NewValue creates a new Value from a compose service. The value contains the nece
If \`main\` is true, the tag will be empty because it will be set in the helm chart appVersion.
-### func \(\*Value\) [AddIngress]()
+### func \(\*Value\) [AddIngress]()
```go
func (v *Value) AddIngress(host, path string)
@@ -861,7 +861,7 @@ func (v *Value) AddIngress(host, path string)
-### func \(\*Value\) [AddPersistence]()
+### func \(\*Value\) [AddPersistence]()
```go
func (v *Value) AddPersistence(volumeName string)
@@ -870,7 +870,7 @@ func (v *Value) AddPersistence(volumeName string)
AddPersistence adds persistence configuration to the Value.
-## type [VolumeClaim]()
+## type [VolumeClaim]()
VolumeClaim is a kubernetes VolumeClaim. This is a PersistentVolumeClaim.
@@ -882,7 +882,7 @@ type VolumeClaim struct {
```
-### func [NewVolumeClaim]()
+### func [NewVolumeClaim]()
```go
func NewVolumeClaim(service types.ServiceConfig, volumeName, appName string) *VolumeClaim
@@ -891,7 +891,7 @@ func NewVolumeClaim(service types.ServiceConfig, volumeName, appName string) *Vo
NewVolumeClaim creates a new VolumeClaim from a compose service.
-### func \(\*VolumeClaim\) [Filename]()
+### func \(\*VolumeClaim\) [Filename]()
```go
func (v *VolumeClaim) Filename() string
@@ -900,7 +900,7 @@ func (v *VolumeClaim) Filename() string
Filename returns the suggested filename for a VolumeClaim.
-### func \(\*VolumeClaim\) [Yaml]()
+### func \(\*VolumeClaim\) [Yaml]()
```go
func (v *VolumeClaim) Yaml() ([]byte, error)
@@ -909,7 +909,7 @@ func (v *VolumeClaim) Yaml() ([]byte, error)
Yaml marshals a VolumeClaim into yaml.
-## type [Yaml]()
+## type [Yaml]()
Yaml is a kubernetes object that can be converted to yaml.
diff --git a/doc/docs/packages/generator/extrafiles.md b/doc/docs/packages/generator/extrafiles.md
index 82ba2e2..5987179 100644
--- a/doc/docs/packages/generator/extrafiles.md
+++ b/doc/docs/packages/generator/extrafiles.md
@@ -8,7 +8,7 @@ import "katenary/generator/extrafiles"
Package extrafiles provides function to generate the Chart files that are not objects. Like README.md and notes.txt...
-## func [NotesFile]()
+## func [NotesFile]()
```go
func NotesFile(services []string) string
@@ -17,7 +17,7 @@ func NotesFile(services []string) string
NotesFile returns the content of the note.txt file.
-## func [ReadMeFile]()
+## func [ReadMeFile]()
```go
func ReadMeFile(charname, description string, values map[string]any) string
diff --git a/doc/docs/packages/generator/katenaryfile.md b/doc/docs/packages/generator/katenaryfile.md
index a2a1824..acd3d03 100644
--- a/doc/docs/packages/generator/katenaryfile.md
+++ b/doc/docs/packages/generator/katenaryfile.md
@@ -12,7 +12,7 @@ A katenary file, named "katenary.yml" or "katenary.yaml", is a file where you ca
Formely, the file describe the same structure as in labels, and so that can be validated and completed by LSP. It also ease the use of katenary.
-## func [GenerateSchema]()
+## func [GenerateSchema]()
```go
func GenerateSchema() string
@@ -21,7 +21,7 @@ func GenerateSchema() string
GenerateSchema generates the schema for the katenary.yaml file.
-## func [OverrideWithConfig]()
+## func [OverrideWithConfig]()
```go
func OverrideWithConfig(project *types.Project)
@@ -30,7 +30,7 @@ func OverrideWithConfig(project *types.Project)
OverrideWithConfig overrides the project with the katenary.yaml file. It will set the labels of the services with the values from the katenary.yaml file. It work in memory, so it will not modify the original project.
-## type [Service]()
+## type [Service]()
Service is a struct that contains the service configuration for katenary
@@ -56,7 +56,7 @@ type Service struct {
```
-## type [StringOrMap]()
+## type [StringOrMap]()
StringOrMap is a struct that can be either a string or a map of strings. It's a helper struct to unmarshal the katenary.yaml file and produce the schema
diff --git a/doc/docs/packages/generator/labels.md b/doc/docs/packages/generator/labels.md
index 9728333..1d01d9f 100644
--- a/doc/docs/packages/generator/labels.md
+++ b/doc/docs/packages/generator/labels.md
@@ -17,7 +17,7 @@ const KatenaryLabelPrefix = "katenary.v3"
```
-## func [GetLabelHelp]()
+## func [GetLabelHelp]()
```go
func GetLabelHelp(asMarkdown bool) string
@@ -26,7 +26,7 @@ func GetLabelHelp(asMarkdown bool) string
GetLabelHelp return the help for the labels.
-## func [GetLabelHelpFor]()
+## func [GetLabelHelpFor]()
```go
func GetLabelHelpFor(labelname string, asMarkdown bool) string
@@ -35,7 +35,7 @@ func GetLabelHelpFor(labelname string, asMarkdown bool) string
GetLabelHelpFor returns the help for a specific label.
-## func [GetLabelNames]()
+## func [GetLabelNames]()
```go
func GetLabelNames() []string
@@ -44,7 +44,7 @@ func GetLabelNames() []string
GetLabelNames returns a sorted list of all katenary label names.
-## func [Prefix]()
+## func [Prefix]()
```go
func Prefix() string
@@ -53,7 +53,7 @@ func Prefix() string
-## type [Help]()
+## type [Help]()
Help is the documentation of a label.
@@ -67,7 +67,7 @@ type Help struct {
```
-## type [Label]()
+## type [Label]()
Label is a katenary label to find in compose files.
@@ -99,7 +99,7 @@ const (
```
-### func [LabelName]()
+### func [LabelName]()
```go
func LabelName(name string) Label
diff --git a/doc/docs/packages/generator/labels/labelstructs.md b/doc/docs/packages/generator/labels/labelstructs.md
index 9170aa6..7fbe210 100644
--- a/doc/docs/packages/generator/labels/labelstructs.md
+++ b/doc/docs/packages/generator/labels/labelstructs.md
@@ -8,7 +8,7 @@ import "katenary/generator/labels/labelstructs"
Package labelstructs is a package that contains the structs used to represent the labels in the yaml files.
-## type [ConfigMapFile]()
+## type [ConfigMapFile]()
@@ -17,7 +17,7 @@ type ConfigMapFile []string
```
-### func [ConfigMapFileFrom]()
+### func [ConfigMapFileFrom]()
```go
func ConfigMapFileFrom(data string) (ConfigMapFile, error)
@@ -26,7 +26,7 @@ func ConfigMapFileFrom(data string) (ConfigMapFile, error)
-## type [CronJob]()
+## type [CronJob]()
@@ -40,7 +40,7 @@ type CronJob struct {
```
-### func [CronJobFrom]()
+### func [CronJobFrom]()
```go
func CronJobFrom(data string) (*CronJob, error)
@@ -49,7 +49,7 @@ func CronJobFrom(data string) (*CronJob, error)
-## type [Dependency]()
+## type [Dependency]()
Dependency is a dependency of a chart to other charts.
@@ -64,7 +64,7 @@ type Dependency struct {
```
-### func [DependenciesFrom]()
+### func [DependenciesFrom]()
```go
func DependenciesFrom(data string) ([]Dependency, error)
@@ -73,7 +73,7 @@ func DependenciesFrom(data string) ([]Dependency, error)
DependenciesFrom returns a slice of dependencies from the given string.
-## type [EnvFrom]()
+## type [EnvFrom]()
@@ -82,7 +82,7 @@ type EnvFrom []string
```
-### func [EnvFromFrom]()
+### func [EnvFromFrom]()
```go
func EnvFromFrom(data string) (EnvFrom, error)
@@ -91,7 +91,7 @@ func EnvFromFrom(data string) (EnvFrom, error)
EnvFromFrom returns a EnvFrom from the given string.
-## type [ExchangeVolume]()
+## type [ExchangeVolume]()
@@ -105,7 +105,7 @@ type ExchangeVolume struct {
```
-### func [NewExchangeVolumes]()
+### func [NewExchangeVolumes]()
```go
func NewExchangeVolumes(data string) ([]*ExchangeVolume, error)
@@ -114,7 +114,7 @@ func NewExchangeVolumes(data string) ([]*ExchangeVolume, error)
-## type [HealthCheck]()
+## type [HealthCheck]()
@@ -126,7 +126,7 @@ type HealthCheck struct {
```
-### func [ProbeFrom]()
+### func [ProbeFrom]()
```go
func ProbeFrom(data string) (*HealthCheck, error)
@@ -135,7 +135,7 @@ func ProbeFrom(data string) (*HealthCheck, error)
-## type [Ingress]()
+## type [Ingress]()
@@ -152,7 +152,7 @@ type Ingress struct {
```
-### func [IngressFrom]()
+### func [IngressFrom]()
```go
func IngressFrom(data string) (*Ingress, error)
@@ -161,7 +161,7 @@ func IngressFrom(data string) (*Ingress, error)
IngressFrom creates a new Ingress from a compose service.
-## type [MapEnv]()
+## type [MapEnv]()
@@ -170,7 +170,7 @@ type MapEnv map[string]string
```
-### func [MapEnvFrom]()
+### func [MapEnvFrom]()
```go
func MapEnvFrom(data string) (MapEnv, error)
@@ -179,7 +179,7 @@ func MapEnvFrom(data string) (MapEnv, error)
MapEnvFrom returns a MapEnv from the given string.
-## type [Ports]()
+## type [Ports]()
@@ -188,7 +188,7 @@ type Ports []uint32
```
-### func [PortsFrom]()
+### func [PortsFrom]()
```go
func PortsFrom(data string) (Ports, error)
@@ -197,7 +197,7 @@ func PortsFrom(data string) (Ports, error)
PortsFrom returns a Ports from the given string.
-## type [Secrets]()
+## type [Secrets]()
@@ -206,7 +206,7 @@ type Secrets []string
```
-### func [SecretsFrom]()
+### func [SecretsFrom]()
```go
func SecretsFrom(data string) (Secrets, error)
@@ -215,7 +215,7 @@ func SecretsFrom(data string) (Secrets, error)
-## type [TLS]()
+## type [TLS]()
@@ -226,7 +226,7 @@ type TLS struct {
```
-## type [ValueFrom]()
+## type [ValueFrom]()
@@ -235,7 +235,7 @@ type ValueFrom map[string]string
```
-### func [GetValueFrom]()
+### func [GetValueFrom]()
```go
func GetValueFrom(data string) (*ValueFrom, error)
diff --git a/doc/docs/packages/parser.md b/doc/docs/packages/parser.md
index a283b11..4a17872 100644
--- a/doc/docs/packages/parser.md
+++ b/doc/docs/packages/parser.md
@@ -8,7 +8,7 @@ import "katenary/parser"
Package parser is a wrapper around compose\-go to parse compose files.
-## func [Parse]()
+## func [Parse]()
```go
func Parse(profiles []string, envFiles []string, dockerComposeFile ...string) (*types.Project, error)
diff --git a/doc/docs/packages/utils.md b/doc/docs/packages/utils.md
index 3afadd0..70c5c24 100644
--- a/doc/docs/packages/utils.md
+++ b/doc/docs/packages/utils.md
@@ -17,7 +17,7 @@ const DirectoryPermission = 0o755
```
-## func [AsResourceName]()
+## func [AsResourceName]()
```go
func AsResourceName(name string) string
@@ -26,7 +26,7 @@ func AsResourceName(name string) string
AsResourceName returns a resource name with underscores to respect the kubernetes naming convention. It's the opposite of FixedResourceName.
-## func [Confirm]()
+## func [Confirm]()
```go
func Confirm(question string, icon ...Icon) bool
@@ -35,7 +35,7 @@ func Confirm(question string, icon ...Icon) bool
Confirm asks a question and returns true if the answer is y.
-## func [CountStartingSpaces]()
+## func [CountStartingSpaces]()
```go
func CountStartingSpaces(line string) int
@@ -44,7 +44,7 @@ func CountStartingSpaces(line string) int
CountStartingSpaces counts the number of spaces at the beginning of a string.
-## func [EncodeBasicYaml]()
+## func [EncodeBasicYaml]()
```go
func EncodeBasicYaml(data any) ([]byte, error)
@@ -53,7 +53,7 @@ func EncodeBasicYaml(data any) ([]byte, error)
EncodeBasicYaml encodes a basic yaml from an interface.
-## func [FixedResourceName]()
+## func [FixedResourceName]()
```go
func FixedResourceName(name string) string
@@ -62,7 +62,7 @@ func FixedResourceName(name string) string
FixedResourceName returns a resource name without underscores to respect the kubernetes naming convention.
-## func [GetContainerByName]()
+## func [GetContainerByName](