diff --git a/doc/docs/labels.md b/doc/docs/labels.md index d361eea..637db16 100644 --- a/doc/docs/labels.md +++ b/doc/docs/labels.md @@ -7,24 +7,24 @@ Katenary will try to Unmarshal these labels. ## Label list and types -| Label name | Description | Type | -| ----------------------------- | ---------------------------------------------------------------- | --------------------- | -| `katenary.v3/configmap-files` | Add files to the configmap. | list of strings | -| `katenary.v3/cronjob` | Create a cronjob from the service. | object | -| `katenary.v3/dependencies` | Add Helm dependencies to the service. | list of objects | -| `katenary.v3/description` | Description of the service | string | -| `katenary.v3/env-from` | Add environment variables from antoher service. | list of strings | -| `katenary.v3/exchange-volumes` | Add exchange volumes (empty directory on the node) to share data | list of objects | -| `katenary.v3/health-check` | Health check to be added to the deployment. | object | -| `katenary.v3/ignore` | Ignore the service | bool | -| `katenary.v3/ingress` | Ingress rules to be added to the service. | object | -| `katenary.v3/main-app` | Mark the service as the main app. | bool | -| `katenary.v3/map-env` | Map env vars from the service to the deployment. | object | -| `katenary.v3/ports` | Ports to be added to the service. | list of uint32 | -| `katenary.v3/same-pod` | Move the same-pod deployment to the target deployment. | string | -| `katenary.v3/secrets` | Env vars to be set as secrets. | list of string | -| `katenary.v3/values` | Environment variables to be added to the values.yaml | list of string or map | -| `katenary.v3/values-from` | Add values from another service. | map[string]string | +| Label name | Description | Type | +| ------------------------------ | ---------------------------------------------------------------- | -------------------------------- | +| `katenary.v3/configmap-files` | Add files to the configmap. | `[]string` | +| `katenary.v3/cronjob` | Create a cronjob from the service. | `object` | +| `katenary.v3/dependencies` | Add Helm dependencies to the service. | `[]object` | +| `katenary.v3/description` | Description of the service | `string` | +| `katenary.v3/env-from` | Add environment variables from antoher service. | `[]string` | +| `katenary.v3/exchange-volumes` | Add exchange volumes (empty directory on the node) to share data | `[]object` | +| `katenary.v3/health-check` | Health check to be added to the deployment. | `object` | +| `katenary.v3/ignore` | Ignore the service | `bool` | +| `katenary.v3/ingress` | Ingress rules to be added to the service. | `object` | +| `katenary.v3/main-app` | Mark the service as the main app. | `bool` | +| `katenary.v3/map-env` | Map env vars from the service to the deployment. | `map[string]string` | +| `katenary.v3/ports` | Ports to be added to the service. | `[]uint32` | +| `katenary.v3/same-pod` | Move the same-pod deployment to the target deployment. | `string` | +| `katenary.v3/secrets` | Env vars to be set as secrets. | `[]string` | +| `katenary.v3/values` | Environment variables to be added to the values.yaml | `[]string or map[string]string` | +| `katenary.v3/values-from` | Add values from another service. | `map[string]string` | @@ -35,7 +35,7 @@ Katenary will try to Unmarshal these labels. Add files to the configmap. -**Type**: `list of strings` +**Type**: `[]string` It makes a file or directory to be converted to one or more ConfigMaps and mounted in the pod. The file or directory is relative to the @@ -91,7 +91,7 @@ labels: Add Helm dependencies to the service. -**Type**: `list of objects` +**Type**: `[]object` Set the service to be, actually, a Helm dependency. This means that the service will not be exported as template. The dependencies are added to @@ -159,7 +159,7 @@ labels: Add environment variables from antoher service. -**Type**: `list of strings` +**Type**: `[]string` It adds environment variables from another service to the current service. @@ -185,7 +185,7 @@ service2: Add exchange volumes (empty directory on the node) to share data -**Type**: `list of objects` +**Type**: `[]object` This label allows sharing data between containres. The volume is created in the node and mounted in the pod. It is useful to share data between containers @@ -310,7 +310,7 @@ ghost: Map env vars from the service to the deployment. -**Type**: `object` +**Type**: `map[string]string` Because you may need to change the variable for Kubernetes, this label forces the value to another. It is also particullary helpful to use a template @@ -338,7 +338,7 @@ labels: Ports to be added to the service. -**Type**: `list of uint32` +**Type**: `[]uint32` Only useful for services without exposed port. It is mandatory if the service is a dependency of another service. @@ -382,7 +382,7 @@ php: Env vars to be set as secrets. -**Type**: `list of string` +**Type**: `[]string` This label allows setting the environment variables as secrets. The variable is removed from the environment and added to a secret object. @@ -406,7 +406,7 @@ labels: Environment variables to be added to the values.yaml -**Type**: `list of string or map` +**Type**: `[]string or map[string]string` By default, all environment variables in the "env" and environment files are added to configmaps with the static values set. This label diff --git a/doc/docs/packages/generator.md b/doc/docs/packages/generator.md index c918312..4bf6f23 100644 --- a/doc/docs/packages/generator.md +++ b/doc/docs/packages/generator.md @@ -61,6 +61,15 @@ 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]() + +```go +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]() diff --git a/generator/labels/katenaryLabels.go b/generator/labels/katenaryLabels.go index 7125f5b..54c9e38 100644 --- a/generator/labels/katenaryLabels.go +++ b/generator/labels/katenaryLabels.go @@ -166,9 +166,9 @@ func generateMarkdownHelp(names []string) string { } for _, name := range names { help := labelFullHelp[name] - maxNameLength = max(maxNameLength, len(name)+2+len(KatenaryLabelPrefix)) + maxNameLength = max(maxNameLength, len(name)+3+len(KatenaryLabelPrefix)) maxDescriptionLength = max(maxDescriptionLength, len(help.Short)) - maxTypeLength = max(maxTypeLength, len(help.Type)) + maxTypeLength = max(maxTypeLength, len(help.Type)+3) } fmt.Fprintf(&builder, "%s\n", generateTableHeader(maxNameLength, maxDescriptionLength, maxTypeLength)) @@ -179,7 +179,7 @@ func generateMarkdownHelp(names []string) string { fmt.Fprintf(&builder, "| %-*s | %-*s | %-*s |\n", maxNameLength, "`"+LabelName(name)+"`", // enclose in backticks maxDescriptionLength, help.Short, - maxTypeLength, help.Type, + maxTypeLength, "`"+help.Type+"`", ) } diff --git a/generator/labels/katenaryLabelsDoc.yaml b/generator/labels/katenaryLabelsDoc.yaml index 87f2d01..061ff58 100644 --- a/generator/labels/katenaryLabelsDoc.yaml +++ b/generator/labels/katenaryLabelsDoc.yaml @@ -69,7 +69,7 @@ This is the documentation for the variable to configure in values.yaml. It can be, of course, a multiline text. - type: "list of string or map" + type: "[]string or map[string]string" "secrets": short: "Env vars to be set as secrets." @@ -86,7 +86,7 @@ labels: {{ .KatenaryPrefix }}/secrets: |- - PASSWORD - type: "list of string" + type: "[]string" "ports": short: "Ports to be added to the service." @@ -98,7 +98,7 @@ {{ .KatenaryPrefix }}/ports: |- - 8080 - 8081 - type: "list of uint32" + type: "[]uint32" "ingress": short: "Ingress rules to be added to the service." @@ -131,7 +131,7 @@ {{ .KatenaryPrefix }}/map-env: |- RUNNING: kubernetes DB_HOST: '{{ "{{ include \"__APP__.fullname\" . }}" }}-database' - type: "object" + type: "map[string]string" "health-check": short: "Health check to be added to the deployment." @@ -221,7 +221,7 @@ database: mydatabasename username: myuser password: the secret password - type: "list of objects" + type: "[]object" "configmap-files": short: "Add files to the configmap." @@ -245,7 +245,7 @@ labels: {{ .KatenaryPrefix }}/configmap-files: |- - ./conf.d - type: "list of strings" + type: "[]string" "cronjob": short: "Create a cronjob from the service." @@ -267,7 +267,7 @@ "env-from": short: "Add environment variables from antoher service." - type: "list of strings" + type: "[]string" long: |- It adds environment variables from another service to the current service. example: |- @@ -286,7 +286,7 @@ "exchange-volumes": short: Add exchange volumes (empty directory on the node) to share data - type: "list of objects" + type: "[]object" long: |- This label allows sharing data between containres. The volume is created in the node and mounted in the pod. It is useful to share data between containers