add common docs

This commit is contained in:
Kjeld Schouten
2025-10-15 15:11:59 +02:00
parent 285f235bd2
commit 899cfb71b3
89 changed files with 23477 additions and 1 deletions
+250
View File
@@ -0,0 +1,250 @@
---
title: Addons
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/addons#full-examples) section for complete examples.
:::
## Appears in
- `.Values.addons`
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `addons`
Addons to the workloads
| | |
| ---------- | -------- |
| Key | `addons` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
addons: {}
```
---
### `addons.$addon`
COnfigure the addon
:::note
Available addons:
- CodeServer
- Netshoot
- GlueTun
- Tailscale
:::
| | |
| ---------- | --------------- |
| Key | `addons.$addon` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
addons:
codeserver: {}
netshoot: {}
gluetun: {}
tailscale: {}
```
---
#### `addons.$addon.enabled`
Enables or Disables the Addon
| | |
| ---------- | ----------------------- |
| Key | `addons.$addon.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
addons:
codeserver:
enabled: true
```
---
#### `addons.$addon.targetSelector`
Define the workloads to add the addon to
| | |
| ---------- | ------------------------------ |
| Key | `addons.$addon.targetSelector` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `["main"]` |
Example
```yaml
addons:
codeserver:
targetSelector:
- main
- other-workload
```
---
#### `addons.$addon.container`
Define additional options for the container
:::tip
See container options in the [container](/truecharts-common/container) section.
:::
| | |
| ---------- | ----------------------------------------------- |
| Key | `addons.$addon.container` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | Depends on the addon (See common's values.yaml) |
Example
```yaml
addons:
codeserver:
container: {}
```
---
#### `addons.$addon.service`
Define additional options for the service
:::tip
See service options in the [service](/truecharts-common/service) section.
:::
:::note
Only applies to:
- Codeserver
:::
| | |
| ---------- | ----------------------------------------------- |
| Key | `addons.$addon.service` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | Depends on the addon (See common's values.yaml) |
Example
```yaml
addons:
codeserver:
service: {}
```
---
#### `addons.$addon.ingress`
Define additional options for the ingress
:::tip
See ingress options in the [ingress](/truecharts-common/ingress) section.
:::
:::note
Only applies to:
- Codeserver
:::
| | |
| ---------- | ----------------------------------------------- |
| Key | `addons.$addon.ingress` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | Depends on the addon (See common's values.yaml) |
Example
```yaml
addons:
codeserver:
ingress: {}
```
---
## Full Examples
```yaml
addons:
codeserver:
enabled: true
container:
resources:
limits:
cpu: 3333m
memory: 3333Mi
service:
enabled: true
ports:
codeserver:
enabled: true
port: 12345
targetPort: 12345
ingress:
enabled: true
hosts:
- host: code.chart-example.local
paths:
- path: /
pathType: Prefix
```
+304
View File
@@ -0,0 +1,304 @@
---
title: Certificate
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/certificate#full-examples) section for complete examples.
:::
## Appears in
- `.Values.certificate`
## Naming scheme
- `$FullName-$CertificateName` (release-name-chart-name-certificateName)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `certificate`
Define certificates
| | |
| ---------- | ------------- |
| Key | `certificate` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
certificate: {}
```
---
### `$name`
Define certificate
| | |
| ---------- | ------------------- |
| Key | `certificate.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
certificate:
certificate-name: {}
```
---
#### `enabled`
Enables or Disables the certificate
| | |
| ---------- | --------------------------- |
| Key | `certificate.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
certificate:
certificate-name:
enabled: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | ----------------------------- |
| Key | `certificate.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `""` |
Example
```yaml
certificate:
certificate-name:
namespace: some-namespace
```
---
#### `labels`
Define the labels for this certificate
| | |
| ---------- | -------------------------- |
| Key | `certificate.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
certificate:
certificate-name:
labels:
key: value
```
---
#### `annotations`
Define the annotations for this certificate
| | |
| ---------- | ------------------------------- |
| Key | `certificate.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
certificate:
certificate-name:
annotations:
key: value
```
---
#### `certificateIssuer`
Define the certificate issuer for this certificate
| | |
| ---------- | ------------------------------------- |
| Key | `certificate.$name.certificateIssuer` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
certificate:
certificate-name:
certificateIssuer: some-issuer
```
---
#### `hosts`
Define the hosts for this certificate
| | |
| ---------- | ------------------------- |
| Key | `certificate.$name.hosts` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On each entry) |
| Default | `false` |
Example
```yaml
certificate:
certificate-name:
hosts:
- host1
- host2
```
---
#### `certificateSecretTemplate`
Define the certificate secret template for this certificate
:::note
At least one of the following keys must be defined
[`labels`](/truecharts-common/certificate#labels-1), [`annotations`](/truecharts-common/certificate#annotations-1)
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `certificate.$name.certificateSecretTemplate` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
certificate:
certificate-name:
certificateSecretTemplate: {}
```
---
##### `labels`
Define the labels for this certificate secret template
| | |
| ---------- | ---------------------------------------------------- |
| Key | `certificate.$name.certificateSecretTemplate.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
certificate:
certificate-name:
certificateSecretTemplate:
labels:
key: value
```
---
##### `annotations`
Define the annotations for this certificate secret template
| | |
| ---------- | --------------------------------------------------------- |
| Key | `certificate.$name.certificateSecretTemplate.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
certificate:
certificate-name:
certificateSecretTemplate:
annotations:
key: value
```
---
## Full Examples
```yaml
certificate:
my-certificate1:
enabled: true
hosts:
- "{{ .Values.host }}"
certificateIssuer: "{{ .Values.issuer }}"
my-certificate2:
enabled: true
hosts:
- host2
certificateIssuer: some-other-issuer
certificateSecretTemplate:
labels:
label1: label1
label2: label2
annotations:
annotation1: annotation1
annotation2: annotation2
```
+202
View File
@@ -0,0 +1,202 @@
---
title: Configmap
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/configmap#full-examples) section for complete examples.
:::
## Appears in
- `.Values.configmap`
## Naming scheme
- `$FullName-$ConfigmapName` (release-name-chart-name-configmap-name)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `configmap`
Create Configmap objects
| | |
| ---------- | ----------- |
| Key | `configmap` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
configmap: {}
```
---
### `$name`
Define Configmap
| | |
| ---------- | ----------------- |
| Key | `configmap.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
configmap:
configmap-name: {}
```
---
#### `enabled`
Enables or Disables the Configmap
| | |
| ---------- | ------------------------- |
| Key | `configmap.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
configmap:
configmap-name:
enabled: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | --------------------------- |
| Key | `configmap.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
configmap:
configmap-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for configmap
| | |
| ---------- | ------------------------ |
| Key | `configmap.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
configmap:
configmap-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for configmap
| | |
| ---------- | ----------------------------- |
| Key | `configmap.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
configmap:
configmap-name:
annotations:
key: value
```
---
#### `data`
Define the data of the configmap
| | |
| ---------- | ---------------------- |
| Key | `configmap.$name.data` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Example | `{}` |
```yaml
configmap:
configmap-name:
data:
key: value
```
---
## Full Examples
```yaml
configmap:
configmap-name:
enabled: true
labels:
key: value
keytpl: "{{ .Values.some.value }}"
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
data:
key: value
other-configmap-name:
enabled: true
namespace: some-namespace
data:
key: |
multi line
text value
```
@@ -0,0 +1,109 @@
---
title: Args
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/args#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
---
## `args`
Define arg(s). If it's single, can be defined as string
| | |
| ---------- | ---------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.args` |
| Type | `string` or `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `[]` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
args:
- arg1
- arg2
# Or
workload:
workload-name:
podSpec:
containers:
container-name:
args: arg
```
---
## `extraArgs`
Define extraArg(s).
:::note
Those are appended **after** the `args`.
Useful for adding args after the ones defined by the chart.
:::
| | |
| ---------- | --------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.extraArgs` |
| Type | `string` or `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `[]` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
extraArgs:
- extraArg1
- extraArg2
# Or
workload:
workload-name:
podSpec:
containers:
container-name:
extraArgs: extraArg
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
args: arg
extraArgs:
- extraArg
```
@@ -0,0 +1,54 @@
---
title: Command
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/command#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
- `.Values.workload.$name.podSpec.containers.$name.probes.liveness`
- `.Values.workload.$name.podSpec.containers.$name.probes.readiness`
- `.Values.workload.$name.podSpec.containers.$name.probes.startup`
---
## `command`
Define command(s). If it's single, can be defined as string
| | |
| ---------- | ------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.command` |
| Type | `string` or `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `[]` |
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
# As a list
command:
- command1
- command2
# As a string
command: command
```
+427
View File
@@ -0,0 +1,427 @@
---
title: Env
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/env#full-examples) section for complete examples.
:::
:::tip
Variable names will be scanned for duplicates across all
[secrets](/truecharts-common/secret), [configmaps](/truecharts-common/configmap),
[env](/truecharts-common/container/env), [envList](/truecharts-common/container/envlist) and [fixedEnv](/truecharts-common/container/fixedenv)
and will throw an error if it finds any.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
---
## `env`
Define env(s) for the container
| | |
| ---------- | --------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (Only value) |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env: {}
```
---
### `env.$key`
Define the env key
| | |
| ---------- | -------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key` |
| Type | `string` or `map` |
| Required | ✅ |
| Helm `tpl` | ✅ (Only on value, when it's a string) |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME: ""
```
---
#### `env.$key.configMapKeyRef`
Define variable from configMapKeyRef
| | |
| ---------- | ------------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.env.$key.configMapKeyRef` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
configMapKeyRef: {}
```
---
##### `env.$key.configMapKeyRef.name`
Define the configMap name
:::note
This will be automatically expanded to `fullname-secret-name`.
You can opt out of this by setting [`expandObjectName`](/truecharts-common/container/env#envkeyconfigmapkeyrefexpandobjectname) to `false`
:::
| | |
| ---------- | ----------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.configMapKeyRef.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
configMapKeyRef:
name: some-configmap-name
```
---
##### `env.$key.configMapKeyRef.key`
Define the configMap key
| | |
| ---------- | ---------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.configMapKeyRef.key` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
configMapKeyRef:
key: some-configmap-key
```
---
##### `env.$key.configMapKeyRef.expandObjectName`
Whether to expand (adding the fullname as prefix) the configmap name
| | |
| ---------- | ----------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.configMapKeyRef.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
configMapKeyRef:
expandObjectName: false
```
---
#### `env.$key.secretKeyRef`
Define variable from secretKeyRef
| | |
| ---------- | --------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.secretKeyRef` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
secretKeyRef: {}
```
---
##### `env.$key.secretKeyRef.name`
Define the secret name
:::note
This will be automatically expanded to `fullname-secret-name`.
You can opt out of this by setting [`expandObjectName`](/truecharts-common/container/env#envkeysecretkeyrefexpandobjectname) to `false`
:::
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.secretKeyRef.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
secretKeyRef:
name: some-secret-name
```
---
##### `env.$key.secretKeyRef.key`
Define the secret key
| | |
| ---------- | ------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.secretKeyRef.key` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
secretKeyRef:
key: some-secret-key
```
---
##### `env.$key.secretKeyRef.expandObjectName`
Whether to expand (adding the fullname as prefix) the secret name
| | |
| ---------- | -------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.secretKeyRef.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
secretKeyRef:
expandObjectName: false
```
---
#### `env.$key.fieldRef`
Define variable from fieldRef
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.fieldRef` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
fieldRef: {}
```
---
##### `env.$key.fieldRef.fieldPath`
Define the field path
| | |
| ---------- | --------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.fieldRef.fieldPath` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
fieldRef:
fieldPath: metadata.name
```
---
##### `env.$key.fieldRef.apiVersion`
Define the apiVersion
| | |
| ---------- | ---------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.env.$key.fieldRef.apiVersion` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
env:
ENV_NAME:
fieldRef:
apiVersion: v1
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
env:
ENV_NAME1: ENV_VALUE
ENV_NAME2: "{{ .Values.some.path }}"
ENV_NAME3:
configMapKeyRef:
# This will be expanded to 'fullname-configmap-name'
name: configmap-name
key: configmap-key
ENV_NAME4:
secretKeyRef:
name: secret-name
key: secret-key
expandObjectName: false
ENV_NAME5:
fieldRef:
fieldPath: metadata.name
apiVersion: v1
```
@@ -0,0 +1,239 @@
---
title: EnvFrom
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/envfrom#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
---
## `envFrom`
Define envFrom for the container
| | |
| ---------- | ------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.envFrom` |
| Type | `list` of `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envFrom: []
```
---
### `envFrom.secretRef`
Define the secretRef
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.envFrom[].secretRef` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envFrom:
- secretRef: {}
```
---
#### `envFrom.secretRef.name`
Define the secret name
:::note
This will be automatically expanded to `fullname-secret-name`.
You can opt out of this by setting [`expandObjectName`](/truecharts-common/container/envfrom#envfromsecretrefexpandobjectname) to `false`
:::
| | |
| ---------- | ------------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.envFrom[].secretRef.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envFrom:
- secretRef:
name: secret-name
```
---
#### `envFrom.secretRef.expandObjectName`
Whether to expand (adding the fullname as prefix) the secret name
| | |
| ---------- | ------------------------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.envFrom[].secretRef.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envFrom:
- secretRef:
name: secret-name
expandObjectName: false
```
---
### `envFrom.configMapRef`
Define the configMapRef
| | |
| ---------- | ---------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.envFrom[].configMapRef` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envFrom:
- configMapRef: {}
```
---
#### `envFrom.configMapRef.name`
Define the configmap name
:::note
This will be automatically expanded to `fullname-configmap-name`.
You can opt out of this by setting [`expandObjectName`](/truecharts-common/container/envfrom#envfromconfigmaprefexpandobjectname) to `false`
:::
| | |
| ---------- | --------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.envFrom[].configMapRef.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envFrom:
- configMapRef:
name: configmap-name
```
---
#### `envFrom.configMapRef.expandObjectName`
Whether to expand (adding the fullname as prefix) the configmap name
| | |
| ---------- | --------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.envFrom[].configMapRef.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envFrom:
- configMapRef:
name: configmap-name
expandObjectName: false
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
envFrom:
- secretRef:
# This will be expanded to `fullname-secret-name`
name: secret-name
- configMapRef:
name: configmap-name
expandObjectName: false
```
@@ -0,0 +1,132 @@
---
title: EnvList
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/envlist#full-examples) section for complete examples.
:::
:::tip
Variable names will be scanned for duplicates across all
[secrets](/truecharts-common/secret), [configmaps](/truecharts-common/configmap),
[env](/truecharts-common/container/env), [envList](/truecharts-common/container/envlist) and [fixedEnv](/truecharts-common/container/fixedenv)
and will throw an error if it finds any.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
---
## `envList`
Define env(s) for the container
:::note
- This should not be used unless you have instructions from the maintainer to do so.
- For native helm charts, use [env](/truecharts-common/container/env) instead.
:::
| | |
| ---------- | ------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.envList` |
| Type | `list` of `strings` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envList: []
```
---
### `envList.name`
Define the env name
| | |
| ---------- | -------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.envList[].name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envList:
- name: ENV_NAME
```
---
### `envList.value`
Define the env value
| | |
| ---------- | --------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.envList[].value` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
envList:
- name: ENV_NAME
value: ENV_VALUE
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
envList:
- name: ENV_NAME1
value: ENV_VALUE
- name: ENV_NAME2
value: "{{ .Values.some.path }}"
- name: ENV_NAME3
value: ""
```
@@ -0,0 +1,194 @@
---
title: FixedEnv
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/fixedenv#full-examples) section for complete examples.
:::
:::tip
Variable names will be scanned for duplicates across all
[secrets](/truecharts-common/secret), [configmaps](/truecharts-common/configmap),
[env](/truecharts-common/container/env), [envList](/truecharts-common/container/envlist) and [fixedEnv](/truecharts-common/container/fixedenv)
and will throw an error if it finds any.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
---
## `fixedEnv`
Override fixedEnv for the container
:::note
By default it will set the following environment variables:
- `TZ`: [Default TZ](/truecharts-common#tz) or [fixedEnv.TZ](/truecharts-common/container/fixedenv#fixedenvtz)
- `UMASK`: [Default UMASK](/truecharts-common/securitycontext#securitycontextcontainerumask) or [fixedEnv.UMASK](/truecharts-common/container/fixedenv#fixedenvumask)
- `UMASK_SET`: [Default UMASK](/truecharts-common/securitycontext#securitycontextcontainerumask) or [fixedEnv.UMASK](/truecharts-common/container/fixedenv#fixedenvumask)
- `S6_READ_ONLY_ROOT`: `1`
- Only when [`readOnlyRootFilesystem`](/truecharts-common/container/securitycontext#securitycontextreadonlyrootfilesystem) or [`runAsNonRoot`](/truecharts-common/container/securitycontext#securitycontextrunasnonroot) is `true`
- `PUID`, `USER_ID`, `UID`: [Default PUID](/truecharts-common/securitycontext#securitycontextcontainerpuid) or [fixedEnv.PUID](/truecharts-common/container/fixedenv#fixedenvpuid)
- Only when [`runAsUser`](/truecharts-common/securitycontext#securitycontextcontainerrunasuser) or [`runAsGroup`](/truecharts-common/securitycontext#securitycontextcontainerrunasgroup) is `0`
- `PGID`, `GROUP_ID`, `GID`: Same as [`fsGroup`](/truecharts-common/securitycontext#securitycontextpodfsgroup)
- Only when [`runAsUser`](/truecharts-common/securitycontext#securitycontextcontainerrunasuser) or [`runAsGroup`](/truecharts-common/securitycontext#securitycontextcontainerrunasgroup) is `0`
- `NVIDIA_DRIVER_CAPABILITIES`: [Default NVIDIA_CAPS](/truecharts-common/containeroptions#nvidia_caps) or [fixedEnv.NVIDIA_CAPS](/truecharts-common/container/fixedenv#fixedenvnvidia_caps)
- Only when `nvidia.com/gpu` is set to `> 0` under [`resources`](/truecharts-common/container/resources)
:::
| | |
| ---------- | -------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.fixedEnv` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
fixedEnv: {}
```
---
### `fixedEnv.TZ`
Override the timezone for the container
| | |
| ---------- | ----------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.fixedEnv.TZ` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common#tz) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
fixedEnv:
TZ: "America/New_York"
```
---
### `fixedEnv.UMASK`
Override the umask for the container
| | |
| ---------- | -------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.fixedEnv.UMASK` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext/#securitycontextcontainerumask) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
fixedEnv:
UMASK: "003"
```
---
### `fixedEnv.PUID`
Override the PUID for the container
| | |
| ---------- | ------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.fixedEnv.PUID` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext/#securitycontextcontainerpuid) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
fixedEnv:
PUID: "0"
```
---
### `fixedEnv.NVIDIA_CAPS`
Override the NVIDIA_CAPS for the container
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.fixedEnv.NVIDIA_CAPS` |
| Type | `list` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/containeroptions#nvidia_caps) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
fixedEnv:
NVIDIA_CAPS:
- compute
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
fixedEnv:
TZ: "America/New_York"
NVIDIA_CAPS:
- compute
UMASK: "003"
PUID: "0"
```
@@ -0,0 +1,307 @@
---
title: Containers / Init Containers
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
:::tip
Replace references to `$name` with the actual name you want to use.
:::
## Notes
Every option under `workload.$name.podSpec.containers.$name` is also
available under `workload.$name.podSpec.initContainers.$name`.
Unless otherwise noted.
---
## `enabled`
Define if the container is enabled or not
| | |
| ---------- | ------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
enabled: true
```
---
## `type`
Define the type of container
:::note
- Only applies to `initContainers`
- Init containers for each type are executed in an alphabetical order based on their name.
:::
| | |
| ---------- | -------------------------------------------------- |
| Key | `workload.$name.podSpec.initContainers.$name.type` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `init` |
Valid Values:
- `init` (Runs before the containers is started.)
- `install` (Runs before the containers is started and only on install.)
- `upgrade` (Runs before the containers is started and only on upgrade.)
Example
```yaml
workload:
workload-name:
podSpec:
initContainers:
container-name:
type: init
```
---
## `imageSelector`
Define the image `map` to use
| | |
| ---------- | ------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.imageSelector` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `image` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
imageSelector: image
```
---
## `primary`
Define if the container is primary or not
:::note
Does **not** apply to `initContainers`
:::
| | |
| ---------- | ------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.primary` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
primary: true
```
---
## `stdin`
Define if the container should have stdin enabled or not
| | |
| ---------- | ----------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.stdin` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
stdin: true
```
---
## `tty`
Define if the container should have tty enabled or not
| | |
| ---------- | --------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.tty` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
tty: true
```
---
## `command`
See [command](/truecharts-common/container/command)
---
## `args`
See [args](/truecharts-common/container/args#args)
---
## `extraArgs`
See [extraArgs](/truecharts-common/container/args#extraargs)
---
## `termination`
See [termination](/truecharts-common/container/termination)
---
## `lifecycle`
:::note
Does **not** apply to `initContainers`
:::
See [lifecycle](/truecharts-common/container/lifecycle)
---
## `probes`
:::note
Does **not** apply to `initContainers`
:::
See [probes](/truecharts-common/container/probes)
---
## `resources`
See [resources](/truecharts-common/resources)
---
## `securityContext`
See [securityContext](/truecharts-common/securitycontext)
---
## `envFrom`
See [envFrom](/truecharts-common/container/envfrom)
---
## `fixedEnv`
See [fixedEnv](/truecharts-common/container/fixedenv)
---
## `env`
See [env](/truecharts-common/container/env)
---
## `envList`
See [envList](/truecharts-common/container/envlist)
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
imageSelector: image
stdin: true
tty: true
initContainers:
init-container-name:
enabled: true
type: init
imageSelector: image
stdin: true
tty: true
```
@@ -0,0 +1,305 @@
---
title: Lifecycle
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/lifecycle#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
---
## `lifecycle`
Define lifecycle for the container
| | |
| ---------- | --------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.lifecycle` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
lifecycle: {}
```
---
### `lifecycle.preStop`
Define preStop lifecycle
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.lifecycle.preStop` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
lifecycle:
preStop: {}
```
---
### `lifecycle.postStart`
Define preStop lifecycle
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.lifecycle.postStart` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
lifecycle:
postStart: {}
```
---
#### `lifecycle.$hook.type`
Define hook type
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.lifecycle.$hook.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Valid Values:
- `exec`
- `http`
- `https`
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
lifecycle:
preStop:
type: exec
```
---
#### `lifecycle.$hook.command`
Define command(s)
:::note
- Only applies when `type: exec`
- It is **required**
:::
See [Command](/truecharts-common/container/command#command) for more information.
---
#### `lifecycle.$hook.port`
Define the port
:::note
- Only applies when `type: http` or `type: https`
- It is **required**
:::
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.lifecycle.$hook.port` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
lifecycle:
postStart:
type: http
port: 8080
```
---
#### `lifecycle.$hook.host`
Define the host
:::note
- Only applies when `type: http` or `type: https`
:::
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.lifecycle.$hook.host` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
lifecycle:
postStart:
type: http
port: 8080
host: localhost
```
---
#### `lifecycle.$hook.path`
Define the path
:::note
- Only applies when `type: http` or `type: https`
:::
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.lifecycle.$hook.path` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `"/"` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
lifecycle:
postStart:
type: http
port: 8080
host: localhost
path: /path
```
---
#### `lifecycle.$hook.httpHeaders`
Define the httpHeaders
| | |
| ---------- | --------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.lifecycle.$hook.httpHeaders` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
lifecycle:
postStart:
type: http
port: 8080
host: localhost
path: /path
httpHeaders:
key: value
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
lifecycle:
preStop:
type: exec
command:
- command
postStart:
type: http
port: 8080
host: localhost
path: /path
httpHeaders:
key: value
```
@@ -0,0 +1,513 @@
---
title: Probes
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/probes#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
---
## `probes`
Define probes for the container
| | |
| ---------- | ------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes: {}
```
### `probes.liveness`
Define the liveness probe
| | |
| ---------- | --------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.liveness` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness: {}
```
---
### `probes.readiness`
Define the readiness probe
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.readiness` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
readiness: {}
```
---
### `probes.startup`
Define the startup probe
| | |
| ---------- | -------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.startup` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
startup: {}
```
---
#### `probes.$probe.enabled`
Enable or disable the probe
| | |
| ---------- | --------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
enabled: true
```
---
#### `probes.$probe.type`
Define probe type
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `http` |
Valid Values:
- `exec`
- `http`
- `https`
- `tcp`
- `grpc`
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
type: http
```
---
#### `probes.$probe.command`
Define command(s)
:::note
- Only applies when `type: exec`
- It is **required**
:::
See [Command](/truecharts-common/container/command#command) for more information.
---
#### `probes.$probe.port`
Define the port
:::note
- Only applies when `type: grpc/tcp/http/https`
:::
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.port` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | unset |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
port: 8080
```
---
#### `probes.$probe.path`
Define the path
:::note
- Only applies when `type: http/https`
:::
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.path` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `/` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
path: /healthz
```
---
#### `probes.$probe.httpHeaders`
Define the httpHeaders
:::note
- Only applies when `type: http/https`
:::
| | |
| ---------- | ------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.httpHeaders` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
httpHeaders:
key1: value1
key2: value2
```
---
#### `probes.$probe.spec`
Define the probe spec
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec: {}
```
---
##### `probes.$probe.spec.initialDelaySeconds`
Define the initialDelaySeconds in seconds
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.initialDelaySeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec:
initialDelaySeconds: 10
```
---
##### `probes.$probe.spec.periodSeconds`
Define the periodSeconds in seconds
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.periodSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec:
periodSeconds: 10
```
---
##### `probes.$probe.spec.timeoutSeconds`
Define the timeoutSeconds in seconds
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.timeoutSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec:
timeoutSeconds: 10
```
---
##### `probes.$probe.spec.failureThreshold`
Define the failureThreshold in seconds
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.failureThreshold` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
liveness:
spec:
failureThreshold: 10
```
---
##### `probes.$probe.spec.successThreshold`
Define the successThreshold in seconds. `liveness` and `startup` must always be 1
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.probes.$probe.spec.successThreshold` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See defaults for each probe [here](/truecharts-common/fallbackdefaults#probetimeouts) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
probes:
readiness:
spec:
successThreshold: 10
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
probes:
liveness:
enabled: true
type: https
port: 8080
path: /healthz
httpHeaders:
key1: value1
key2: value2
spec:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 10
failureThreshold: 10
successThreshold: 10
readiness:
enabled: true
type: tcp
port: 8080
spec:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 10
failureThreshold: 10
successThreshold: 10
startup:
enabled: true
type: exec
command:
- command1
- command2
spec:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 10
failureThreshold: 10
successThreshold: 10
```
@@ -0,0 +1,301 @@
---
title: Resources
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/resources#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
## Notes
- [CPU Regex Validation](https://regex101.com/r/D4HouI/1)
- [Memory Regex Validation](https://regex101.com/r/4X3Z9V/1)
---
## `resources`
The resources that the container can use.
| | |
| ---------- | --------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.resources` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/resources#defaults) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources: {}
```
---
### `resources.requests`
The minimum amount of resources that the container needs.
:::note
Requests are **required**, because without it, kubernetes uses the `limits` as the `requests`.
Which can lead pods to be evicted or not even scheduled when they reach their `limits`.
:::
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.resources.requests` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/resources#resourcesrequests) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
requests: {}
```
---
#### `resources.requests.cpu`
The minimum amount of CPU that the container can use.
| | |
| ---------- | ---------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.resources.requests.cpu` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/resources#resourcesrequestscpu) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
requests:
cpu: 10m
```
---
#### `resources.requests.memory`
The minimum amount of memory that the container can use.
| | |
| ---------- | ------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.resources.requests.memory` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/resources#resourcesrequestsmemory) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
requests:
memory: 50Mi
```
---
### `resources.limits`
The maximum amount of resources that the container can use.
:::note
Limits are **optional**, can be set to "unlimited" by setting it's values (`cpu` and `memory`) to `0`.
:::
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.resources.limits` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/resources#resourceslimits) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
limits: {}
```
---
#### `resources.limits.cpu`
The maximum amount of CPU that the container can use.
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.resources.limits.cpu` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/resources#resourceslimitscpu) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
limits:
cpu: "1"
```
---
#### `resources.limits.memory`
The maximum amount of memory that the container can use.
| | |
| ---------- | ----------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.resources.limits.memory` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/resources#resourceslimitsmemory) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
limits:
memory: 1Gi
```
---
#### `resources.limits."gpu.intel.com/i915"`
An Intel GPU added when available
_Note that `gpu.intel.com/i915` is a single key, despite of the `.`_
Default
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
limits:
gpu.intel.com/i915: 1
```
---
#### `resources.limits."nvidia.com/gpu"`
An NVIDIA GPU added when available
_Note that `nvidia.com/gpu` is a single key, despite of the `.`_
Default
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
limits:
nvidia.com/gpu: 1
```
---
#### `resources.limits."amd.com/gpu"`
An AMD GPU added when available
_Note that `amd.com/gpu` is a single key, despite of the `.`_
Default
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
resources:
limits:
amd.com/gpu: 1
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
resources:
limits:
cpu: "1"
memory: 1Gi
requests:
cpu: 10m
memory: 50Mi
```
@@ -0,0 +1,415 @@
---
title: Security Context
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/securitycontext#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
- `.Values.workload.$name.podSpec.initContainers.$name`
---
## `securityContext`
Define securityContext for the container
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainer) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext: {}
```
---
### `securityContext.runAsUser`
Define the runAsUser for the container
| | |
| ---------- | ----------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext.runAsUser` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerrunasuser) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
runAsUser: 568
```
---
### `securityContext.runAsGroup`
Define the runAsGroup for the container
| | |
| ---------- | ------------------------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.securityContext.runAsGroup` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerrunasgroup) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
runAsGroup: 568
```
---
### `securityContext.readOnlyRootFilesystem`
Define the readOnlyRootFilesystem for the container
| | |
| ---------- | ------------------------------------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.securityContext.readOnlyRootFilesystem` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerreadonlyrootfilesystem) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
readOnlyRootFilesystem: true
```
---
### `securityContext.allowPrivilegeEscalation`
Define the allowPrivilegeEscalation for the container
| | |
| ---------- | -------------------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext.allowPrivilegeEscalation` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerallowprivilegeescalation) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
allowPrivilegeEscalation: false
```
---
### `securityContext.privileged`
Define the privileged for the container
| | |
| ---------- | ------------------------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.securityContext.privileged` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerprivileged) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
privileged: false
```
---
### `securityContext.runAsNonRoot`
Define the runAsNonRoot for the container
| | |
| ---------- | -------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext.runAsNonRoot` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerrunasnonroot) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
runAsNonRoot: true
```
---
### `securityContext.capabilities`
Define the capabilities for the container
:::note
If at least one capability is defined in either [`add`](/truecharts-common/container/securitycontext/#securitycontextcapabilitiesadd) or [`drop`](/truecharts-common/container/securitycontext/#securitycontextcapabilitiesdrop)
on container level, it will **NOT** get merged with the value(s) from the `.Values.securityContext.container.capabilities.[add/drop]`.
But it will override them.
:::
:::tip
When setting capabilities for containers, remember to **NOT** include `CAP_` prefix.
For example, `CAP_NET_ADMIN` should be `NET_ADMIN`. This is not specific to this chart,
but a general Kubernetes thing.
:::
| | |
| ---------- | -------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext.capabilities` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainercapabilities) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
capabilities: {}
```
---
#### `securityContext.capabilities.add`
Define the capabilities.add for the container
| | |
| ---------- | ----------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext.capabilities.add` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainercapabilitiesadd) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
capabilities:
add: []
```
---
#### `securityContext.capabilities.drop`
Define the capabilities.drop for the container
| | |
| ---------- | ------------------------------------------------------------------------------------ |
| Key | `workload.$name.podSpec.containers.$name.securityContext.capabilities.drop` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainercapabilitiesdrop) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
capabilities:
drop: []
```
---
### `securityContext.seccompProfile`
Define the seccompProfile for the container
| | |
| ---------- | ---------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext.seccompProfile` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerseccompprofile) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
seccompProfile: {}
```
---
#### `securityContext.seccompProfile.type`
Define the seccompProfile.type for the container
| | |
| ---------- | -------------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext.seccompProfile.type` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerseccompprofiletype) |
Valid Values:
- `RuntimeDefault`
- `Localhost`
- `Unconfined`
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
seccompProfile:
type: Localhost
```
---
#### `securityContext.seccompProfile.profile`
Define the seccompProfile.profile for the container
:::note
Only **required** when `securityContext.seccompProfile.type` is `Localhost`.
:::
| | |
| ---------- | ----------------------------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.securityContext.seccompProfile.profile` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#securitycontextcontainerseccompprofileprofile) |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
securityContext:
seccompProfile:
type: Localhost
profile: path/to/profile.json
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
securityContext:
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
privileged: false
seccompProfile:
type: Localhost
profile: path/to/profile.json
capabilities:
add: []
drop:
- ALL
```
@@ -0,0 +1,110 @@
---
title: Termination
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/container/termination#full-examples) section for complete examples.
:::
## Appears in
- `.Values.workload.$name.podSpec.containers.$name`
---
## `termination`
Define termination for the container
| | |
| ---------- | ----------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.termination` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
termination: {}
```
---
### `termination.messagePath`
Define termination message path for the container
| | |
| ---------- | ----------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.termination.messagePath` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
termination:
messagePath: /dev/termination-log
```
---
### `termination.messagePolicy`
Define termination message policy for the container
| | |
| ---------- | ------------------------------------------------------------------- |
| Key | `workload.$name.podSpec.containers.$name.termination.messagePolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
podSpec:
containers:
container-name:
termination:
messagePolicy: File
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
podSpec:
containers:
container-name:
enabled: true
primary: true
termination:
messagePath: /dev/termination-log
messagePolicy: File
```
@@ -0,0 +1,56 @@
---
title: Container Options
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/containeroptions#full-examples) section for complete examples.
:::
## Appears in
- `.Values.containerOptions`
## Defaults
```yaml
containerOptions:
NVIDIA_CAPS:
- all
```
---
## `NVIDIA_CAPS`
Defines the NVIDIA_CAPS to be passed as an environment variable to the container.
| | |
| ---------- | ------------------------------ |
| Key | `containerOptions.NVIDIA_CAPS` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `["all"]` |
Example:
```yaml
containerOptions:
NVIDIA_CAPS:
- compute
- utility
```
---
## Full Examples
```yaml
containerOptions:
NVIDIA_CAPS:
- compute
- utility
```
+383
View File
@@ -0,0 +1,383 @@
---
title: credentials
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/credentials#full-examples) section for complete examples.
:::
## Appears in
- `.Values.credentials`
## Naming scheme
- `$FullName-$credentialsName` (release-name-chart-name-credentials-name)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `credentials`
Create credentials objects
| | |
| ---------- | ------------- |
| Key | `credentials` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
credentials: {}
```
---
### `$name`
Define credentials
| | |
| ---------- | ------------------- |
| Key | `credentials.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
credentials:
credentials-name: {}
```
---
#### `type`
Define the type of the credentials
| | |
| ---------- | ------------------------ |
| Key | `credentials.$name.type` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Example | `s3` |
```yaml
credentials:
credentials-name:
type: s3
```
---
#### `url`
Define the url of the credentials
:::tip
In some cases, such as when using an IP instead of a hostname, it might be
necessary to manually specify the connection's [region](/truecharts-common/credentials#region).
:::
| | |
| ---------- | ------------------------ |
| Key | `credentials.$name.url` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Example | `https://mys3server.com` |
```yaml
credentials:
credentials-name:
url: "https://mys3server.com"
```
---
#### `region`
Override the region to use when connecting to the endpoint
:::note
Setting this manually is usually not necessary as the region should normally
be automatically detected from the [URL](/truecharts-common/credentials#url).
:::
| | |
| ---------- | -------------------------- |
| Key | `credentials.$name.region` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Example | `""` |
```yaml
credentials:
credentials-name:
region: "us-east-1"
```
---
#### `customCASecretRef`
Reference a secret containing a custom CA to be used when connecting to the
endpoint defined by `url` over HTTPS.
:::note
Defining both this and [customCA](/truecharts-common/credentials#customca) is invalid and
will result in an error.
:::
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `credentials.$name.customCASecretRef` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Example | `{}` |
```yaml
credentials:
credentials-name:
customCASecretRef: {}
```
---
##### `customCASecretRef.name`
Define the secret name
:::note
This will be automatically expanded to `fullname-secret-name`.
You can opt out of this by setting [`expandObjectName`](/truecharts-common/credentials#customcasecretrefexpandobjectname) to `false`
:::
| | |
| ---------- | ------------------------------------------ |
| Key | `credentials.$name.customCASecretRef.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Example | `""` |
```yaml
credentials:
credentials-name:
customCASecretRef:
name: secret-name
```
---
##### `customCASecretRef.key`
Define the key in the secret data containing the CA
| | |
| ---------- | ------------------------------------------ |
| Key | `credentials.$name.customCASecretRef.key` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Example | `""` |
```yaml
credentials:
credentials-name:
customCASecretRef:
key: ca.crt
```
---
##### `customCASecretRef.expandObjectName`
Whether to expand (adding the fullname as prefix) the secret name
| | |
| ---------- | ------------------------------------------------------ |
| Key | `credentials.$name.customCASecretRef.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Example | `true` |
```yaml
credentials:
credentials-name:
customCASecretRef:
expandObjectName: false
```
---
#### `customCA`
Define a custom CA certificate to be used when connecting to the endpoint
defined by `url` over HTTPS.
:::note
Defining both this and [customCASecretRef](/truecharts-common/credentials#customcasecretref)
is invalid and will result in an error.
:::
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `credentials.$name.customCA` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Example | `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----` |
```yaml
credentials:
credentials-name:
customCA: |-
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
```
---
#### `path`
Define the optional path-override of the credentials
| | |
| ---------- | ------------------------ |
| Key | `credentials.$name.path` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Example | `/somecustompath` |
```yaml
credentials:
credentials-name:
path: "/somecustompath"
```
---
#### `bucket`
Define the bucket of the credentials
| | |
| ---------- | -------------------------- |
| Key | `credentials.$name.bucket` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Example | `mybucket` |
```yaml
credentials:
credentials-name:
bucket: mybucket
```
---
#### `accessKey`
Define the accessKey of the credentials
| | |
| ---------- | ----------------------------- |
| Key | `credentials.$name.accessKey` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Example | `mysecretaccesskey` |
```yaml
credentials:
credentials-name:
accessKey: myaccesskeyid
```
---
#### `secretKey`
Define the secretKey of the credentials
| | |
| ---------- | ----------------------------- |
| Key | `credentials.$name.secretKey` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Example | `mysecretkey` |
```yaml
credentials:
credentials-name:
secretKey: mysecretkey
```
---
#### `encrKey`
Define the encryption key of the credentials
| | |
| ---------- | --------------------------- |
| Key | `credentials.$name.encrKey` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Example | `myencryptionkey` |
```yaml
credentials:
credentials-name:
encrKey: myencryptionkey
```
---
## Full Examples
```yaml
credentials:
mys3:
type: s3
url: "https://mys3server.com"
bucket: "mybucket"
accessKey: "mysecretaccesskey"
secretKey: "mysecretkey"
encrKey: "myencryptionkey"
```
@@ -0,0 +1,829 @@
---
title: Fallback Defaults
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/fallbackdefaults#full-examples) section for complete examples.
:::
## Appears in
- `.Values.fallbackDefaults`
---
## Defaults
```yaml
fallbackDefaults:
probeType: http
serviceProtocol: tcp
serviceType: ClusterIP
storageClass:
persistenceType: emptyDir
pvcRetain: true
pvcSize: 100Gi
vctSize: 100Gi
accessModes:
- ReadWriteOnce
probeTimeouts:
liveness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
readiness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 2
startup:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 60
successThreshold: 1
topologyKey: kubernetes.io/hostname
```
## `probeType`
Define default probe type when not defined in the container level
| | |
| ---------- | ---------------------------- |
| Key | `fallbackDefaults.probeType` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `http` |
Valid Values:
- See [Probe Types](/truecharts-common/container/probes#probesprobetype)
Example
```yaml
fallbackDefaults:
probeType: http
```
---
## `serviceProtocol`
Define default service protocol when not defined in the service
| | |
| ---------- | ---------------------------------- |
| Key | `fallbackDefaults.serviceProtocol` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `tcp` |
Valid Values:
- See [Service Protocols](/truecharts-common/service/ports#protocol)
Example
```yaml
fallbackDefaults:
serviceProtocol: tcp
```
---
## `serviceType`
Define default service type when not defined in the service
| | |
| ---------- | ------------------------------ |
| Key | `fallbackDefaults.serviceType` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `ClusterIP` |
Valid Values:
- See [Service Types](/truecharts-common/service#type)
Example
```yaml
fallbackDefaults:
serviceType: ClusterIP
```
---
## `storageClass`
Define default storage class when not defined in the persistence
| | |
| ---------- | ------------------------------- |
| Key | `fallbackDefaults.storageClass` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
fallbackDefaults:
storageClass: some-storage-class
```
---
## `persistenceType`
Define default persistence type when not defined in the persistence
| | |
| ---------- | ---------------------------------- |
| Key | `fallbackDefaults.persistenceType` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `emptyDir` |
Valid Values:
- See [Persistence Types](/truecharts-common/persistence#type)
Example
```yaml
fallbackDefaults:
persistenceType: pvc
```
---
## `pvcRetain`
Define default pvc retain when not defined in the persistence
| | |
| ---------- | ---------------------------- |
| Key | `fallbackDefaults.pvcRetain` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
fallbackDefaults:
pvcRetain: true
```
---
## `pvcSize`
Define default pvc size when not defined in the persistence
| | |
| ---------- | -------------------------- |
| Key | `fallbackDefaults.pvcSize` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `100Gi` |
Example
```yaml
fallbackDefaults:
pvcSize: 100Gi
```
---
## `vctSize`
Define default vct size when not defined in the persistence
| | |
| ---------- | -------------------------- |
| Key | `fallbackDefaults.vctSize` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `100Gi` |
Example
```yaml
fallbackDefaults:
vctSize: 100Gi
```
---
## `accessModes`
Define default access modes when not defined in the persistence
| | |
| ---------- | ------------------------------ |
| Key | `fallbackDefaults.accessModes` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `ReadWriteOnce` |
Example
```yaml
fallbackDefaults:
accessModes:
- ReadWriteOnce
```
---
## `probeTimeouts`
Define default probe timeouts if not defined in the container
| | |
| ---------- | -------------------------------- |
| Key | `fallbackDefaults.probeTimeouts` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
Default
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
readiness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 2
startup:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 60
successThreshold: 1
```
Example
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
readiness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 2
startup:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 60
successThreshold: 1
```
---
### `probeTimeouts.liveness`
Define default liveness probe timeouts if not defined in the container
| | |
| ---------- | ----------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.liveness` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
Default
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
```
Example
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
```
---
#### `probeTimeouts.liveness.initialDelaySeconds`
Define default liveness probe initialDelaySeconds if not defined in the container
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.liveness.initialDelaySeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `10` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
initialDelaySeconds: 10
```
---
#### `probeTimeouts.liveness.periodSeconds`
Define default liveness probe periodSeconds if not defined in the container
| | |
| ---------- | ------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.liveness.periodSeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `10` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
periodSeconds: 10
```
---
#### `probeTimeouts.liveness.timeoutSeconds`
Define default liveness probe timeoutSeconds if not defined in the container
| | |
| ---------- | -------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.liveness.timeoutSeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `5` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
timeoutSeconds: 5
```
---
#### `probeTimeouts.liveness.failureThreshold`
Define default liveness probe failureThreshold if not defined in the container
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.liveness.failureThreshold` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `5` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
failureThreshold: 5
```
---
#### `probeTimeouts.liveness.successThreshold`
Define default liveness probe successThreshold if not defined in the container
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.liveness.successThreshold` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `1` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
liveness:
successThreshold: 1
```
---
### `probeTimeouts.readiness`
Define default readiness probe timeouts if not defined in the container
| | |
| ---------- | ------------------------------------------ |
| Key | `fallbackDefaults.probeTimeouts.readiness` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
Default
```yaml
fallbackDefaults:
probeTimeouts:
readiness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 2
```
Example
```yaml
fallbackDefaults:
probeTimeouts:
readiness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 2
```
---
#### `probeTimeouts.readiness.initialDelaySeconds`
Define default readiness probe initialDelaySeconds if not defined in the container
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.readiness.initialDelaySeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `10` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
readiness:
initialDelaySeconds: 10
```
---
#### `probeTimeouts.readiness.periodSeconds`
Define default readiness probe periodSeconds if not defined in the container
| | |
| ---------- | -------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.readiness.periodSeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `10` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
readiness:
periodSeconds: 10
```
---
#### `probeTimeouts.readiness.timeoutSeconds`
Define default readiness probe timeoutSeconds if not defined in the container
| | |
| ---------- | --------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.readiness.timeoutSeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `5` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
readiness:
timeoutSeconds: 5
```
---
#### `probeTimeouts.readiness.failureThreshold`
Define default readiness probe failureThreshold if not defined in the container
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.readiness.failureThreshold` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `5` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
readiness:
failureThreshold: 5
```
---
#### `probeTimeouts.readiness.successThreshold`
Define default readiness probe successThreshold if not defined in the container
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.readiness.successThreshold` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `2` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
readiness:
successThreshold: 2
```
---
### `probeTimeouts.startup`
Define default startup probe timeouts if not defined in the container
| | |
| ---------- | ---------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.startup` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
Default
```yaml
fallbackDefaults:
probeTimeouts:
startup:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 60
successThreshold: 1
```
Example
```yaml
fallbackDefaults:
probeTimeouts:
startup:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 60
successThreshold: 1
```
---
#### `probeTimeouts.startup.initialDelaySeconds`
Define default startup probe initialDelaySeconds if not defined in the container
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `fallbackDefaults.probeTimeouts.startup.initialDelaySeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `10` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
startup:
initialDelaySeconds: 10
```
---
#### `probeTimeouts.startup.periodSeconds`
Define default startup probe periodSeconds if not defined in the container
| | |
| ---------- | ------------------------------------------------------ |
| Key | `fallbackDefaults.probeTimeouts.startup.periodSeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `5` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
startup:
periodSeconds: 5
```
---
#### `probeTimeouts.startup.timeoutSeconds`
Define default startup probe timeoutSeconds if not defined in the container
| | |
| ---------- | ------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.startup.timeoutSeconds` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `2` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
startup:
timeoutSeconds: 2
```
---
#### `probeTimeouts.startup.failureThreshold`
Define default startup probe failureThreshold if not defined in the container
| | |
| ---------- | --------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.startup.failureThreshold` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `60` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
startup:
failureThreshold: 60
```
---
#### `probeTimeouts.startup.successThreshold`
Define default startup probe successThreshold if not defined in the container
| | |
| ---------- | --------------------------------------------------------- |
| Key | `fallbackDefaults.probeTimeouts.startup.successThreshold` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `1` |
Example
```yaml
fallbackDefaults:
probeTimeouts:
startup:
successThreshold: 1
```
---
## `topologyKey`
Define default topologyKey for topologySpreadConstraints in podOptions
| | |
| ---------- | ------------------------------ |
| Key | `fallbackDefaults.topologyKey` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `kubernetes.io/hostname` |
---
## Full Examples
```yaml
fallbackDefaults:
probeType: http
serviceProtocol: tcp
serviceType: ClusterIP
persistenceType: pvc
probeTimeouts:
liveness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 1
readiness:
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
successThreshold: 2
startup:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
failureThreshold: 60
successThreshold: 1
topologyKey: truecharts.org/example
```
+260
View File
@@ -0,0 +1,260 @@
---
title: Global
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/global#full-examples) section for complete examples.
:::
## Appears in
- `.Values.global`
---
## Defaults
```yaml
global:
labels: {}
annotations: {}
namespace: ""
minNodePort: 9000
stopAll: false
metallb:
addServiceAnnotations: true
traefik:
addServiceAnnotations: true
```
---
## `labels`
Additional Labels that apply to all objects
| | |
| ---------- | ----------------- |
| Key | `global.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
global:
labels:
key: value
```
---
## `annotations`
Additional Annotations that apply to all objects
| | |
| ---------- | -------------------- |
| Key | `global.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
global:
annotations:
key: value
```
---
## `namespace`
Namespace to apply to all objects, also applies to chart deps
| | |
| ---------- | ------------------ |
| Key | `global.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
global:
namespace: ""
```
---
## `minNodePort`
Minimum Node Port Allowed
| | |
| ---------- | -------------------- |
| Key | `global.minNodePort` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `9000` |
Example
```yaml
global:
minNodePort: 9000
```
---
## `stopAll`
Applies different techniques to stop all objects in the chart and its dependencies
| | |
| ---------- | ---------------- |
| Key | `global.stopAll` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
global:
stopAll: false
```
## `metallb`
Settings for metallb integration
| | |
| ---------- | ---------------- |
| Key | `global.metallb` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
Default
```yaml
global:
metallb:
addServiceAnnotations: true
```
Example
```yaml
global:
metallb:
addServiceAnnotations: false
```
---
## `traefik`
Settings for traefik integration
| | |
| ---------- | ---------------- |
| Key | `global.traefik` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
Default
```yaml
global:
traefik:
addServiceAnnotations: true
```
Example
```yaml
global:
traefik:
addServiceAnnotations: false
```
---
### `traefik.addServiceAnnotations`
Add annotations to services for traefik
| | |
| ---------- | -------------------------------------- |
| Key | `global.traefik.addServiceAnnotations` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
global:
traefik:
addServiceAnnotations: true
```
---
### `traefik.commonMiddlewares`
Define middlewares that will be applied to all ingresses
| | |
| ---------- | ----------------------------------- |
| Key | `global.traefik.commonMiddlewares` |
| Type | `list` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[{name: tc-basic-secure-headers}]` |
Example
```yaml
global:
traefik:
commonMiddlewares:
- name: tc-basic-secure-headers
```
---
## Full Examples
```yaml
global:
labels:
key: value
annotations:
key: value
namespace: ""
minNodePort: 9000
stopAll: false
metallb:
addServiceAnnotations: true
traefik:
addServiceAnnotations: true
commonMiddlewares:
- name: tc-basic-secure-headers
```
@@ -0,0 +1,392 @@
---
title: Image Pull Secret
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/imagepullsecret#full-examples) section for complete examples.
:::
## Appears in
- `.Values.imagePullSecret`
## Naming scheme
- `$FullName-$ImagePullSecretName` (release-name-chart-name-imagePullSecretName)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## Target Selector
- `targetSelectAll` (bool): Whether to assign the secret to all pods or not. `targetSelector` is ignored in this case
- `targetSelector` (list): Define the pod(s) to assign the secret
- `targetSelector` (empty): Assign the secret to the primary pod
---
## `imagePullSecret`
Define image pull secrets
| | |
| ---------- | ----------------- |
| Key | `imagePullSecret` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
imagePullSecret: {}
```
---
### `$name`
Define image pull secret
| | |
| ---------- | ----------------------- |
| Key | `imagePullSecret.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
imagePullSecret:
pull-secret-name: {}
```
---
#### `enabled`
Enables or Disables the image pull secret
| | |
| ---------- | ------------------------------- |
| Key | `imagePullSecret.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
imagePullSecret:
pull-secret-name:
enabled: true
```
---
#### `existingSecret`
Define the existing secret name
:::note
If this is defined, only the following keys are used:
- `enabled`
- `targetSelectAll`
- `targetSelector`
:::
| | |
| ---------- | -------------------------------------- |
| Key | `imagePullSecret.$name.existingSecret` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
imagePullSecret:
pull-secret-name:
enabled: true
existingSecret: some-existing-secret
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | --------------------------------- |
| Key | `imagePullSecret.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `""` |
Example
```yaml
imagePullSecret:
pull-secret-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for image pull secret
| | |
| ---------- | ------------------------------ |
| Key | `imagePullSecret.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
imagePullSecret:
pull-secret-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for image pull secret
| | |
| ---------- | ----------------------------------- |
| Key | `imagePullSecret.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
imagePullSecret:
pull-secret-name:
annotations:
key: value
```
---
#### `targetSelectAll`
Whether to assign the secret to all pods or not
| | |
| ---------- | --------------------------------------- |
| Key | `imagePullSecret.$name.targetSelectAll` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
imagePullSecret:
pull-secret-name:
targetSelectAll: true
```
---
#### `targetSelector`
Define the pod(s) to assign the secret
| | |
| ---------- | -------------------------------------- |
| Key | `imagePullSecret.$name.targetSelector` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
imagePullSecret:
pull-secret-name:
targetSelector:
- workload-name1
- workload-name2
```
---
#### `data`
Define the data of the image pull secret
| | |
| ---------- | ---------------------------- |
| Key | `imagePullSecret.$name.data` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
imagePullSecret:
pull-secret-name:
data: {}
```
---
##### `data.registry`
Define the registry of the image pull secret
| | |
| ---------- | ------------------------------------- |
| Key | `imagePullSecret.$name.data.registry` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
imagePullSecret:
pull-secret-name:
data:
registry: quay.io
```
---
##### `data.username`
Define the username of the image pull secret
| | |
| ---------- | ------------------------------------- |
| Key | `imagePullSecret.$name.data.username` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
imagePullSecret:
pull-secret-name:
data:
username: my_user
```
---
##### `data.password`
Define the password of the image pull secret
| | |
| ---------- | ------------------------------------- |
| Key | `imagePullSecret.$name.data.password` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
imagePullSecret:
pull-secret-name:
data:
password: my_pass
```
---
##### `data.email`
Define the email of the image pull secret
| | |
| ---------- | ---------------------------------- |
| Key | `imagePullSecret.$name.data.email` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
imagePullSecret:
pull-secret-name:
data:
email: my_email@example.com
```
---
## Full Examples
```yaml
imagePullSecret:
pull-secret-name:
enabled: true
namespace: some-namespace
labels:
key: value
keytpl: "{{ .Values.some.value }}"
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
data:
registry: quay.io
username: my_user
password: my_pass
email: my_mail@example.com
targetSelectAll: true
other-pull-secret-name:
enabled: true
namespace: some-namespace
data:
registry: "{{ .Values.my_registry }}"
username: "{{ .Values.my_user }}"
password: "{{ .Values.my_pass }}"
email: "{{ .Values.my_mail }}"
targetSelector:
- workload-name1
- workload-name2
```
+587 -1
View File
@@ -1 +1,587 @@
Somepage
---
title: Common Chart Documentation
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common#full-examples) section for complete examples.
:::
## Appears in
- `.Values`
## Notes
This applies across all the documentation:
- Helm `tpl`:
- ❌ means that the value is not templated
- ✅ means that the value is templated,
for example instead of a hardcoded value, you can set it to `{{ .Values.some.value }}`.
and it will be replaced by the value contained in `.Values.some.value` at the installation/upgrade time.
---
## `global`
Global values that apply to all charts
:::note
See more info about global values [here](/truecharts-common/global)
:::
| | |
| ---------- | ----------------------------------- |
| Key | `global` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/global#defaults) |
Example
```yaml
global: {}
```
---
## `fallbackDefaults`
The fallback defaults are used when a value is not defined in the chart.
:::note
- See more info about fallbackDefaults [here](/truecharts-common/fallbackdefaults)
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `fallbackDefaults` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/fallbackdefaults#defaults) |
---
## `extraTpl`
Define kubernetes resources, 1 per list item, tpl will be resolved
| | |
| ---------- | ------------------ |
| Key | `extraTpl` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `[]` |
Example
```yaml
extraTpl:
- |
apiVersion: v1
kind: Deployment
...
```
---
## `operator`
Contains specific settings for helm charts containing or using system
| | |
| ---------- | ---------- |
| Key | `operator` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
Default
```yaml
operator:
register: false
verify:
enabled: true
additionalsystem: []
```
Example
```yaml
operator:
register: true
verify:
enabled: true
additionalsystem:
- operator1
- operator2
```
---
### `operator.register`
Adds a configmap in the operator's namespace to register the chart as an operator
| | |
| ---------- | ------------------- |
| Key | `operator.register` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
operator:
register: true
```
---
### `operator.verify`
Contains specific settings for verifying system
| | |
| ---------- | ----------------- |
| Key | `operator.verify` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
Default
```yaml
operator:
verify:
enabled: true
additionalsystem: []
```
Example
```yaml
operator:
verify:
enabled: true
additionalsystem:
- operator1
- operator2
```
---
#### `operator.verify.enabled`
Enables or disables the verification of system
| | |
| ---------- | ------------------------- |
| Key | `operator.verify.enabled` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
operator:
verify:
enabled: true
```
---
#### `operator.verify.additionalsystem`
Additional system to verify
| | |
| ---------- | ---------------------------------- |
| Key | `operator.verify.additionalsystem` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
operator:
verify:
additionalsystem:
- operator1
- operator2
```
---
## `podOptions`
Options that apply to all pods, unless overridden at the pod level
:::note
See more info about podOptions [here](/truecharts-common/podoptions)
:::
| | |
| ---------- | --------------------------------------- |
| Key | `podOptions` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/podoptions#defaults) |
Example
```yaml
podOptions:
enableServiceLinks: false
hostNetwork: false
hostPID: false
hostUsers: false
hostIPC: false
shareProcessNamespace: false
restartPolicy: Always
dnsPolicy: ClusterFirst
dnsConfig:
options:
- name: ndots
value: "1"
hostAliases: []
tolerations: []
runtimeClassName: ""
automountServiceAccountToken: false
terminationGracePeriodSeconds: 120
```
---
## `containerOptions`
Options that apply to all containers, unless overridden at the container level
:::note
See more info about containerOptions [here](/truecharts-common/containeroptions)
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `containerOptions` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/containeroptions#defaults) |
Example
```yaml
containerOptions:
NVIDIA_CAPS:
- all
```
---
## `TZ`
Timezone that is used everywhere applicable, unless overridden at the container level
| | |
| ---------- | ----- |
| Key | `TZ` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `UTC` |
Example
```yaml
TZ: UTC
```
---
## `namespace`
Namespace to apply to all objects, unless overridden at the object level
:::note
Does not apply to chart deps, use global.namespace for that
:::
---
## `resources`
Define resources for all containers, unless overridden at the container level
:::note
Resources apply to **EACH** container, not to the pod as a whole.
:::
| | |
| ---------- | -------------------------------------- |
| Key | `resources` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/resources#defaults) |
Example
```yaml
resources:
limits:
cpu: 4000m
memory: 8Gi
requests:
cpu: 10m
memory: 50Mi
```
---
## `securityContext`
Define security context for all containers and pods, unless overridden at the container/pod level
:::note
See more info about securityContext [here](/truecharts-common/securitycontext)
:::
| | |
| ---------- | -------------------------------------------- |
| Key | `securityContext` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | See [here](/truecharts-common/securitycontext#defaults) |
Example
```yaml
securityContext:
container:
PUID: 568
UMASK: "002"
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
privileged: false
seccompProfile:
type: RuntimeDefault
capabilities:
add: []
drop:
- ALL
pod:
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
supplementalGroups: []
sysctls: []
```
---
## Images
:::tip
Use [`imageSelector`](/truecharts-common/container#imageselector) to select the image to use for a container.
:::
Images are defined in the following format:
```yaml
image:
repository: ""
tag: ""
pullPolicy: IfNotPresent
```
For additional images, you can define them in the following format:
```yaml
nameImage:
repository: ""
tag: ""
pullPolicy: IfNotPresent
```
:::note
There isn't anything special in the above format (`nameImage`), it's just a convention.
It's also a format that some external tools can use for automatic image updates.
For example, [Renovate](https://docs.renovatebot.com/modules/manager/helm-values/#additional-information)
:::
---
### `image`
Defines the image details
| | |
| ---------- | ------- |
| Key | `image` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
Default
```yaml
image:
repository: ""
tag: ""
pullPolicy: IfNotPresent
```
Example
```yaml
image:
repository: "my-repo"
tag: "latest"
pullPolicy: IfNotPresent
```
---
### `image.repository`
Defines the image repository
| | |
| ---------- | ------------------ |
| Key | `image.repository` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
image:
repository: "my-repo"
```
---
### `image.tag`
Defines the image tag
| | |
| ---------- | ----------- |
| Key | `image.tag` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
image:
tag: "latest"
```
---
### `image.pullPolicy`
Defines the image pull policy
| | |
| ---------- | ------------------ |
| Key | `image.pullPolicy` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `IfNotPresent` |
Example
```yaml
image:
pullPolicy: IfNotPresent
```
---
## Additional Documentation
- [certificate](/truecharts-common/certificate)
- [configmap](/truecharts-common/configmap)
- [container](/truecharts-common/container)
- [containerOptions](/truecharts-common/containeroptions)
- [imagePullSecret](/truecharts-common/imagepullsecret)
- [ingress](/truecharts-common/ingress)
- [middlewares](/truecharts-common/middlewares)
- [notes](/truecharts-common/notes)
- [persistence](/truecharts-common/persistence)
- [podDisruptionBudget](/truecharts-common/poddisruptionbudget)
- [priorityClass](/truecharts-common/priorityclass)
- [rbac](/truecharts-common/rbac)
- [resources](/truecharts-common/resources)
- [secret](/truecharts-common/secret)
- [securityContext](/truecharts-common/securitycontext)
- [service](/truecharts-common/service)
- [serviceAccount](/truecharts-common/serviceaccount)
- [storageClass](/truecharts-common/storageclass)
- [volumeSnapshot](/truecharts-common/volumesnapshot)
- [volumeSnapshotClass](/truecharts-common/volumesnapshotclass)
- [webhook](/truecharts-common/webhook)
- [webhook](/truecharts-common/webhook)
- [workload](/truecharts-common/workload)
---
## Full Examples
```yaml
operator:
register: false
verify:
enabled: true
additionalsystem:
- operator1
- operator2
extraTpl:
- |
apiVersion: v1
kind: Deployment
...
```
@@ -0,0 +1,81 @@
---
title: Cert Manager Integration
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/ingress/certmanager#full-examples) section for complete examples.
:::
## Appears in
- `.Values.ingress.$name.integration.certManager`
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `enabled`
Enables or Disables the cert-manager integration
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingress.$name.integrations.certManager.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
ingress:
ingress-name:
integrations:
certManager:
enabled: true
```
---
## `certificateIssuer`
Define the certificate issuer for this cert-manager integration
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingress.$name.integrations.certManager.certificateIssuer` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
integrations:
certManager:
certificateIssuer: some-issuer
```
---
## Full Examples
```yaml
ingress:
ingress-name:
integrations:
certManager:
enabled: true
certificateIssuer: some-issuer
```
@@ -0,0 +1,540 @@
---
title: Homepage Integration
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/ingress/homepage#full-examples) section for complete examples.
:::
## Appears in
- `.Values.ingress.$name.integration.homepage`
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `enabled`
Enables or Disables the homepage integration
| | |
| ---------- | --------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
enabled: true
```
---
## `name`
Define the name for the application
:::note
Sets the `gethomepage.dev/name` annotation
:::
| | |
| ---------- | ------------------------------------------ |
| Key | `ingress.$name.integrations.homepage.name` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | The Release Name |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
name: some-name
```
---
## `description`
Define the description for the application
:::note
Sets the `gethomepage.dev/description` annotation
:::
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.description` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | The Description of the Chart |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
description: some-description
```
---
## `group`
Define the group for the application
:::note
Sets the `gethomepage.dev/group` annotation
:::
| | |
| ---------- | ------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.group` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
group: some-group
```
---
## `icon`
Define the icon for the application
:::note
Sets the `gethomepage.dev/icon` annotation
:::
| | |
| ---------- | ------------------------------------------ |
| Key | `ingress.$name.integrations.homepage.icon` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | The Chart Icon |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
icon: some-icon
```
---
## `href`
Define the href for the application
:::note
Sets the `gethomepage.dev/href` annotation
:::
| | |
| ---------- | ------------------------------------------ |
| Key | `ingress.$name.integrations.homepage.href` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | The first ingress host |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
href: some-href
```
---
## `weight`
Define the weight for the application
:::note
Sets the `gethomepage.dev/weight` annotation
:::
| | |
| ---------- | -------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.weight` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
weight: 0
```
---
## `podSelector`
Define the pods to select
:::note
Sets the `gethomepage.dev/pod-selector` annotation
:::
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.podSelector` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
podSelector:
- main
- nginx
```
---
## `widget`
Define configuration for the widget
| | |
| ---------- | -------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.widget` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget: {}
```
---
### `widget.enabled`
Enables or Disables the widget
| | |
| ---------- | ---------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.widget.enabled` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget:
enabled: true
```
---
### `widget.type`
Define the type of the widget
:::note
Sets the `gethomepage.dev/widget.type` annotation
:::
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.widget.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | The Chart Name |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget:
type: some-type
```
---
### `widget.version`
Define the version of the widget
:::note
Sets the `gethomepage.dev/widget.version` annotation
:::
| | |
| ---------- | ---------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.widget.version` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `1` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget:
version: 1
```
---
### `widget.url`
Define the url for the widget
:::note
Sets the `gethomepage.dev/widget.url` annotation
:::
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingress.$name.integrations.homepage.widget.url` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | The first ingress host |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget:
url: some-url
```
---
### `widget.custom`
Define custom annotations for the widget
:::note
Sets the `gethomepage.dev/widget.$key` annotation
:::
| | |
| ---------- | --------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.widget.custom` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget:
custom: {}
```
---
### `widget.customkv`
Define custom annotations for the widget as a list
| | |
| ---------- | ----------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.widget.customkv` |
| Type | `list` of `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget:
customkv: []
```
---
## `widget.customkv[].key`
Define the key for the custom annotation
:::note
Sets the `gethomepage.dev/widget.$key` annotation
:::
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.widget.customkv[].key` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget:
customkv:
- key: some-key
```
---
## `widget.customkv[].value`
Define the value for the custom annotation
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingress.$name.integrations.homepage.widget.customkv[].value` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage:
widget:
customkv:
- value: some-value
```
---
## Full Examples
```yaml
ingress:
ingress-name:
integrations:
homepage:
enabled: false
name: ""
description: ""
group: ""
icon: ""
href: ""
weight: 0
podSelector: []
widget:
enabled: true
type: ""
url: ""
custom:
key: value
customkv:
- key: some key
value: some value
```
+784
View File
@@ -0,0 +1,784 @@
---
title: Ingress
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/ingress#full-examples) section for complete examples.
:::
## Appears in
- `.Values.ingress`
## Naming scheme
- Primary: `$FullName` (release-name-chart-name)
- Non-Primary: `$FullName-$IngressName` (release-name-chart-name-ingress-name)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## Target Selector
- `targetSelector` (dict): Define the `service: port` to assign the ingress
- `targetSelector` (empty): Assign the ingress to the primary `service: port`
---
## `ingress`
Create Ingress objects
| | |
| ---------- | --------- |
| Key | `ingress` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress: {}
```
---
### `$name`
Define Ingress
| | |
| ---------- | --------------- |
| Key | `ingress.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name: {}
```
---
#### `enabled`
Enables or Disables the Ingress
| | |
| ---------- | ----------------------- |
| Key | `ingress.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
ingress:
ingress-name:
enabled: true
```
---
#### `primary`
Define the primary ingress
| | |
| ---------- | ----------------------- |
| Key | `ingress.$name.primary` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
ingress:
ingress-name:
primary: true
```
---
#### `expandObjectName`
Define if the object name should be expanded
| | |
| ---------- | -------------------------------- |
| Key | `ingress.$name.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
ingress:
ingress-name:
expandObjectName: true
```
---
#### `required`
Define if the ingress is required
| | |
| ---------- | ------------------------ |
| Key | `ingress.$name.required` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
ingress:
ingress-name:
required: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | ------------------------- |
| Key | `ingress.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for ingress
| | |
| ---------- | ---------------------- |
| Key | `ingress.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for ingress
| | |
| ---------- | --------------------------- |
| Key | `ingress.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
annotations:
key: value
```
---
#### `ingressClassName`
Define the ingress class name for this object
| | |
| ---------- | -------------------------------- |
| Key | `ingress.$name.ingressClassName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `nil` |
Example
```yaml
ingress:
ingress-name:
ingressClassName: some-ingress-class-name
```
---
#### `targetSelector`
Define the `service: port` to assign the ingress
| | |
| ---------- | ------------------------------ |
| Key | `ingress.$name.targetSelector` |
| Type | `dict` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
targetSelector:
service-name: port-name
```
---
#### `hosts`
Define the hosts for this ingress
| | |
| ---------- | --------------------- |
| Key | `ingress.$name.hosts` |
| Type | `list` of `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingress:
ingress-name:
hosts: []
```
---
##### `hosts[].host`
Define the host for this ingress
| | |
| ---------- | ---------------------------- |
| Key | `ingress.$name.hosts[].host` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
hosts:
- host: chart-example.local
```
---
##### `hosts[].paths`
Define the paths for this ingress
| | |
| ---------- | ----------------------------- |
| Key | `ingress.$name.hosts[].paths` |
| Type | `list` of `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingress:
ingress-name:
hosts:
- host: chart-example.local
paths: []
```
---
###### `hosts[].paths[].path`
Define the path for this ingress
| | |
| ---------- | ------------------------------------ |
| Key | `ingress.$name.hosts[].paths[].path` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
hosts:
- host: chart-example.local
paths:
- path: /
```
---
###### `hosts[].paths[].pathType`
Define the path type for this ingress
| | |
| ---------- | ---------------------------------------- |
| Key | `ingress.$name.hosts[].paths[].pathType` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `Prefix` |
Example
```yaml
ingress:
ingress-name:
hosts:
- host: chart-example.local
paths:
- path: /
pathType: Prefix
```
---
###### `hosts[].paths[].overrideService`
Overrides the "selected" service for this path
| | |
| ---------- | ----------------------------------------------- |
| Key | `ingress.$name.hosts[].paths[].overrideService` |
| Type | `dict` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
hosts:
- host: chart-example.local
paths:
- path: /
pathType: Prefix
overrideService: {}
```
---
###### `hosts[].paths[].overrideService.name`
Define the service name for this path
| | |
| ---------- | ---------------------------------------------------- |
| Key | `ingress.$name.hosts[].paths[].overrideService.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
hosts:
- host: chart-example.local
paths:
- path: /
pathType: Prefix
overrideService:
name: main
```
---
###### `hosts[].paths[].overrideService.expandObjectName`
Define if the override service object name should be expanded
| | |
| ---------- | ---------------------------------------------------------------- |
| Key | `ingress.$name.hosts[].paths[].overrideService.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `true` |
Example
```yaml
ingress:
ingress-name:
hosts:
- host: chart-example.local
paths:
- path: /
pathType: Prefix
overrideService:
name: main
expandObjectName: false
```
---
###### `hosts[].paths[].overrideService.port`
Define the service port for this path
| | |
| ---------- | ---------------------------------------------------- |
| Key | `ingress.$name.hosts[].paths[].overrideService.port` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
ingress:
ingress-name:
hosts:
- host: chart-example.local
paths:
- path: /
pathType: Prefix
overrideService:
port: 80
```
---
#### `tls`
Define the TLS for this ingress
| | |
| ---------- | ------------------- |
| Key | `ingress.$name.tls` |
| Type | `list` of `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingress:
ingress-name:
tls: []
```
---
##### `tls[].hosts`
Define the hosts for this TLS
| | |
| ---------- | -------------------------- |
| Key | `ingress.$name.tls[].host` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On each entry) |
| Default | `[]` |
Example
```yaml
ingress:
ingress-name:
tls:
- hosts:
- chart-example.local
```
---
##### `tls[].secretName`
Define the secret name for this TLS
| | |
| ---------- | -------------------------------- |
| Key | `ingress.$name.tls[].secretName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
tls:
- hosts:
- chart-example.local
secretName: chart-example-tls
```
---
##### `tls[].certificateIssuer`
Define the certificate issuer for this TLS
| | |
| ---------- | --------------------------------------- |
| Key | `ingress.$name.tls[].certificateIssuer` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
tls:
- hosts:
- chart-example.local
certificateIssuer: some-issuer
```
---
##### `tls[].clusterIssuer`
Define the cluster issuer for this TLS
| | |
| ---------- | ----------------------------------- |
| Key | `ingress.$name.tls[].clusterIssuer` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
tls:
- hosts:
- chart-example.local
clusterIssuer: some-issuer
```
---
#### `integrations`
Define the integrations for this ingress
| | |
| ---------- | ---------------------------- |
| Key | `ingress.$name.integrations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
integrations: {}
```
---
##### `integrations.certManager`
Define the cert-manager integration for this ingress
See more details in [Cert Manager Integration](/truecharts-common/ingress/certmanager)
| | |
| ---------- | ---------------------------------------- |
| Key | `ingress.$name.integrations.certManager` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
integrations:
certManager: {}
```
---
##### `integrations.traefik`
Define the traefik integration for this ingress
See more details in [Traefik Integration](/truecharts-common/ingress/traefik)
| | |
| ---------- | ------------------------------------ |
| Key | `ingress.$name.integrations.traefik` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
integrations:
traefik: {}
```
---
##### `integrations.homepage`
Define the homepage integration for this ingress
See more details in [Homepage Integration](/truecharts-common/ingress/homepage)
| | |
| ---------- | ------------------------------------- |
| Key | `ingress.$name.integrations.homepage` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingress:
ingress-name:
integrations:
homepage: {}
```
---
## Full Examples
```yaml
ingress:
main:
enabled: false
primary: true
required: false
expandObjectName: false
labels:
key: value
annotations:
key: value
ingressClassName: ""
targetSelector:
main: main
hosts:
- host: chart-example.local
paths:
- path: /
pathType: Prefix
overrideService:
name: main
port: 80
tls:
- hosts:
- chart-example.local
secretName: chart-example-tls
# OR
certificateIssuer: ""
integrations:
certManager:
enabled: false
certificateIssuer: ""
traefik:
enabled: true
entrypoints:
- websecure
forceTLS: true
middlewares:
- name: my-middleware
namespace: ""
homepage:
enabled: false
name: ""
description: ""
group: ""
icon: ""
widget:
type: ""
url: ""
custom:
key: value
customkv:
- key: some key
value: some value
```
@@ -0,0 +1,247 @@
---
title: Traefik Integration
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/ingress/traefik#full-examples) section for complete examples.
:::
## Appears in
- `.Values.ingress.$name.integration.traefik`
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `enabled`
Enables or Disables the traefik integration
| | |
| ---------- | -------------------------------------------- |
| Key | `ingress.$name.integrations.traefik.enabled` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
ingress:
ingress-name:
integrations:
traefik:
enabled: true
```
---
## `entrypoints`
Define the entrypoints for this traefik integration
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingress.$name.integrations.traefik.entrypoints` |
| Type | `list` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `["websecure"]` |
---
## `forceTLS`
Force TLS on this ingress
:::note
Adds the `traefik.ingress.kubernetes.io/router.tls` annotation.
It does that both with this set OR when [entrypoints](/truecharts-common/ingress/traefik#entrypoints) include `websecure`
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `ingress.$name.integrations.traefik.forceTLS` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
ingress:
ingress-name:
integrations:
traefik:
forceTLS: true
```
---
## `middlewares`
The middlewares for this traefik integration
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingress.$name.integrations.traefik.middlewares` |
| Type | `list` of `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingress:
ingress-name:
integrations:
traefik:
middlewares:
- name: my-middleware
namespace: ""
```
---
### `middlewares[].name`
The name of the middleware
| | |
| ---------- | ------------------------------------------------------- |
| Key | `ingress.$name.integrations.traefik.middlewares[].name` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
integrations:
traefik:
middlewares:
- name: my-middleware
namespace: ""
```
---
### `middlewares[].namespace`
The namespace of the middleware
:::tip
If not defined, the current namespace will be used.
:::
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `ingress.$name.integrations.traefik.middlewares[].namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingress:
ingress-name:
integrations:
traefik:
middlewares:
- name: my-middleware
namespace: my-namespace
```
---
### `middlewares[].expandObjectName`
Whether to expand the middleware name
| | |
| ---------- | ------------------------------------------------------------------- |
| Key | `ingress.$name.integrations.traefik.middlewares[].expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
ingress:
ingress-name:
integrations:
traefik:
middlewares:
- name: my-middleware
expandObjectName: false
```
---
## `chartMiddlewares`
Same as [middlewares](#middlewares) but meant to be used by the chart developer
to define some custom middleware specific to this ingress.
| | |
| ---------- | ----------------------------------------------------- |
| Key | `ingress.$name.integrations.traefik.chartMiddlewares` |
| Type | `list` of `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingress:
ingress-name:
integrations:
traefik:
chartMiddlewares:
- name: my-middleware
```
---
## Full Examples
```yaml
ingress:
ingress-name:
integrations:
traefik:
enabled: true
entrypoints:
- websecure
forceTLS: true
middlewares:
- name: my-middleware
namespace: ""
expandObjectName: false
chartMiddlewares:
- name: my-middleware
```
@@ -0,0 +1,290 @@
---
title: Ingress Middlewares
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares#full-examples) section for complete examples.
:::
## Appears in
- `.Values.ingressMiddlewares`
## Naming scheme
- `$FullName-$MiddlewareName` (release-name-chart-name-middleware-name)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `ingressMiddlewares`
Create Middleware objects
| | |
| ---------- | -------------------- |
| Key | `ingressMiddlewares` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingressMiddlewares: {}
```
---
### `$provider`
Define Middleware
:::note
- Available providers are:
- [traefik](/truecharts-common/middlewares/traefik)
:::
| | |
| ---------- | ------------------------------ |
| Key | `ingressMiddlewares.$provider` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingressMiddlewares:
traefik: {}
```
---
#### `$name`
Define Middleware
| | |
| ---------- | ------------------------------------ |
| Key | `ingressMiddlewares.$provider.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name: {}
```
---
##### `enabled`
Enables or Disables the Middleware
| | |
| ---------- | -------------------------------------------- |
| Key | `ingressMiddlewares.$provider.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
```
---
##### `expandObjectName`
Whether to expand (adding the fullname as prefix) the middleware name.
| | |
| ---------- | ---------------------------------------------------- |
| Key | `ingressMiddleware.$provider.$name.expandObjectName` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `true` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
expandObjectName: false
```
---
##### `namespace`
Define the namespace for this object
| | |
| ---------- | ---------------------------------------------- |
| Key | `ingressMiddlewares.$provider.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
namespace: some-namespace
```
---
##### `labels`
Additional labels for middleware
| | |
| ---------- | ------------------------------------------- |
| Key | `ingressMiddlewares.$provider.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
labels:
key: value
```
---
##### `annotations`
Additional annotations for middleware
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingressMiddlewares.$provider.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
annotations:
key: value
```
---
##### `data`
Define the data of the middleware
| | |
| ---------- | ----------------------------------------- |
| Key | `ingressMiddlewares.$provider.$name.data` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Example | `{}` |
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
key: value
```
---
##### `type`
Define the type for this object
:::note
See the [provider](/truecharts-common/middlewares#provider) documentation for more information.
:::
| | |
| ---------- | ----------------------------------------- |
| Key | `ingressMiddlewares.$provider.$name.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
type: buffering
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: buffering
expandObjectName: false
labels:
key: value
keytpl: "{{ .Values.some.value }}"
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
data:
key: value
other-middleware-name:
enabled: true
type: buffering
namespace: some-namespace
data:
key: value
```
@@ -0,0 +1,60 @@
---
title: Add Prefix Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/add-prefix#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/addprefix)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: add-prefix`.
:::
---
## `prefix`
Define the prefix
| | |
| ---------- | ---------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.prefix` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
prefix: some-prefix
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: add-prefix
data:
prefix: some-prefix
```
@@ -0,0 +1,157 @@
---
title: Basic Auth Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/basic-auth#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/basicauth)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: basic-auth`.
:::
---
## `users`
Define the users
:::note
If this is set, the `secret` key must not be set.
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.users` |
| Type | `list` of `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
users:
- username: some-username
password: some-password
```
---
### `users[].username`
Define the username
| | |
| ---------- | ------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.users.username` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
users:
- username: some-username
password: some-password
```
---
### `users[].password`
Define the password
| | |
| ---------- | ------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.users.password` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
users:
- username: some-username
password: some-password
```
---
## `secret`
Define the secret
:::note
If this is set, the `users` key must not be set.
:::
| | |
| ---------- | ---------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.secret` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
secret: some-secret
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name1:
enabled: true
type: basic-auth
data:
users:
- username: some-username
password: some-password
middleware-name2:
enabled: true
type: basic-auth
data:
secret: some-secret
```
@@ -0,0 +1,152 @@
---
title: Buffering Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/buffering#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/buffering)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: buffering`.
:::
---
## `maxRequestBodyBytes`
Define the maxRequestBodyBytes
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.maxRequestBodyBytes` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
maxRequestBodyBytes: 1024
```
---
## `memRequestBodyBytes`
Define the memRequestBodyBytes
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.memRequestBodyBytes` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
memRequestBodyBytes: 1024
```
---
## `maxResponseBodyBytes`
Define the maxResponseBodyBytes
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.maxResponseBodyBytes` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
maxResponseBodyBytes: 1024
```
---
## `memResponseBodyBytes`
Define the memResponseBodyBytes
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.memResponseBodyBytes` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
memResponseBodyBytes: 1024
```
---
## `retryExpression`
Define the retryExpression
| | |
| ---------- | ------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.retryExpression` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
retryExpression: "some-expression"
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: buffering
data:
maxRequestBodyBytes: 1024
memRequestBodyBytes: 1024
maxResponseBodyBytes: 1024
memResponseBodyBytes: 1024
retryExpression: "some-expression"
```
@@ -0,0 +1,114 @@
---
title: Chain Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/chain#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/chain)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: chain`.
:::
---
## `middlewares`
Define the middlewares
| | |
| ---------- | --------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.middlewares` |
| Type | `list` of `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
middlewares:
traefik:
middleware-name:
data:
middlewares: []
```
---
### `middlewares[].name`
Define the middleware name
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.middlewares.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
middlewares:
traefik:
middleware-name:
data:
middlewares:
- name: some-name
```
---
### `middlewares[].expandObjectName`
Define the middleware expandObjectName
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.middlewares.expandObjectName` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
middlewares:
traefik:
middleware-name:
data:
middlewares:
- name: some-name
expandObjectName: false
```
---
## Full Examples
```yaml
middlewares:
traefik:
middleware-name:
enabled: true
type: chain
data:
middlewares:
- name: some-middleware
- name: some-other-middleware
expandObjectName: false
```
@@ -0,0 +1,34 @@
---
title: Compress Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/compress#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/compress)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: compress`.
:::
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: compress
```
@@ -0,0 +1,34 @@
---
title: Content Type Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/content-type#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/contenttype)
:::
## Appears in
- `.Values.ingressMiddlewares.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: content-type`.
:::
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: content-type
```
@@ -0,0 +1,215 @@
---
title: Forward Auth Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/forward-auth#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/forwardauth)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: forward-auth`.
:::
---
## `address`
Define the address
| | |
| ---------- | ----------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.address` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
address: some-address
```
---
## `authResponseHeadersRegex`
Define the authResponseHeadersRegex
| | |
| ---------- | ---------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.authResponseHeadersRegex` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
authResponseHeadersRegex: some-regex
```
---
## `trustForwardHeader`
Define the trustForwardHeader
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.trustForwardHeader` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
trustForwardHeader: true
```
---
## `authResponseHeaders`
Define the authResponseHeaders
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.authResponseHeaders` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
authResponseHeaders:
- some-header
```
---
## `authRequestHeaders`
Define the authRequestHeaders
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.authRequestHeaders` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
authRequestHeaders:
- some-header
```
---
## `tls`
Define the tls
| | |
| ---------- | ------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.tls` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
tls: {}
```
---
### `tls.insecureSkipVerify`
Define the tls.insecureSkipVerify
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.tls.insecureSkipVerify` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
tls:
insecureSkipVerify: true
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: forward-auth
data:
address: some-address
authResponseHeadersRegex: some-regex
trustForwardHeader: true
authResponseHeaders:
- some-header
authRequestHeaders:
- some-header
tls:
insecureSkipVerify: true
```
@@ -0,0 +1,777 @@
---
title: Headers Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/headers#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/headers)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: headers`.
:::
---
## `customRequestHeaders`
Define the customRequestHeaders
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.customRequestHeaders` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
customRequestHeaders:
some-name: some-value
some-other-name: some-other-value
```
---
## `customResponseHeaders`
Define the customResponseHeaders
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.customResponseHeaders` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
customResponseHeaders:
some-name: some-value
some-other-name: some-other-value
```
---
## `accessControlAllowCredentials`
Define the accessControlAllowCredentials
| | |
| ---------- | --------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowCredentials` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
accessControlAllowCredentials: true
```
---
## `accessControlAllowHeaders`
Define the accessControlAllowHeaders
| | |
| ---------- | ----------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowHeaders` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
accessControlAllowHeaders:
- some-header
- some-other-header
```
---
## `accessControlAllowMethods`
Define the accessControlAllowMethods
| | |
| ---------- | ----------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowMethods` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
accessControlAllowMethods:
- GET
- POST
- PUT
- DELETE
```
---
## `accessControlAllowOriginList`
Define the accessControlAllowOriginList
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowOriginList` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
accessControlAllowOriginList:
- some-origin
- some-other-origin
```
---
## `accessControlAllowOriginListRegex`
Define the accessControlAllowOriginListRegex
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.accessControlAllowOriginList` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
accessControlAllowOriginListRegex:
- some-origin-regex
- some-other-origin-regex
```
---
## `accessControlExposeHeaders`
Define the accessControlExposeHeaders
| | |
| ---------- | ------------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.accessControlExposeHeaders` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
accessControlExposeHeaders:
- some-header
- some-other-header
```
---
## `accessControlMaxAge`
Define the accessControlMaxAge
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.accessControlMaxAge` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
accessControlMaxAge: 1000
```
---
## `addVaryHeader`
Define the addVaryHeader
| | |
| ---------- | ----------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.addVaryHeader` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
addVaryHeader: true
```
---
## `allowedHosts`
Define the allowedHosts
| | |
| ---------- | ---------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.allowedHosts` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
allowedHosts:
- some-host
- some-other-host
```
---
## `hostsProxyHeaders`
Define the hostsProxyHeaders
| | |
| ---------- | --------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.hostsProxyHeaders` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
hostsProxyHeaders:
- some-header
- some-other-header
```
---
## `sslProxyHeaders`
Define the sslProxyHeaders
| | |
| ---------- | ------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.sslProxyHeaders` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
sslProxyHeaders:
some-header: some-value
some-other-header: some-other-value
```
---
## `stsSeconds`
Define the stsSeconds
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.stsSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
stsSeconds: 1000
```
---
## `stsIncludeSubdomains`
Define the stsIncludeSubdomains
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.stsIncludeSubdomains` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
stsIncludeSubdomains: true
```
---
## `stsPreload`
Define the stsPreload
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.stsPreload` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
stsPreload: true
```
---
## `forceSTSHeader`
Define the forceSTSHeader
| | |
| ---------- | ------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.forceSTSHeader` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
forceSTSHeader: true
```
---
## `frameDeny`
Define the frameDeny
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.frameDeny` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
frameDeny: true
```
---
## `customFrameOptionsValue`
Define the customFrameOptionsValue
| | |
| ---------- | --------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.customFrameOptionsValue` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
customFrameOptionsValue: some-value
```
---
## `contentTypeNosniff`
Define the contentTypeNosniff
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.contentTypeNosniff` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
contentTypeNosniff: true
```
---
## `browserXssFilter`
Define the browserXssFilter
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.browserXssFilter` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
browserXssFilter: true
```
---
## `customBrowserXSSValue`
Define the customBrowserXSSValue
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.customBrowserXSSValue` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
customBrowserXSSValue: some-value
```
---
## `contentSecurityPolicy`
Define the contentSecurityPolicy
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.contentSecurityPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
contentSecurityPolicy: some-value
```
---
## `contentSecurityPolicyReportOnly`
Define the contentSecurityPolicyReportOnly
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.contentSecurityPolicy` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
contentSecurityPolicyReportOnly: true
```
---
## `publicKey`
Define the publicKey
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.publicKey` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
publicKey: some-public-key
```
---
## `referrerPolicy`
Define the referrerPolicy
| | |
| ---------- | ------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.referrerPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
referrerPolicy: some-referrer-policy
```
---
## `permissionsPolicy`
Define the permissionsPolicy
| | |
| ---------- | --------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.permissionsPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
permissionsPolicy: some-permissions-policy
```
---
## `isDevelopment`
Define the isDevelopment
| | |
| ---------- | ----------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.isDevelopment` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
isDevelopment: true
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: headers
data:
customRequestHeaders:
some-name: some-value
some-other-name: some-other-value
customResponseHeaders:
some-name: some-value
some-other-name: some-other-value
accessControlAllowCredentials: true
accessControlAllowHeaders:
- some-header
- some-other-header
accessControlAllowMethods:
- GET
- DELETE
accessControlAllowOriginList:
- some-origin
- some-other-origin
accessControlAllowOriginListRegex:
- some-origin-regex
- some-other-origin-regex
accessControlExposeHeaders:
- some-header
- some-other-header
accessControlMaxAge: 1000
addVaryHeader: true
allowedHosts:
- some-host
- some-other-host
hostsProxyHeaders:
- some-header
- some-other-header
sslProxyHeaders:
some-header: some-value
some-other-header: some-other-value
stsSeconds: 1000
stsIncludeSubdomains: true
stsPreload: true
forceSTSHeader: true
frameDeny: true
customFrameOptionsValue: some-value
contentTypeNosniff: true
browserXssFilter: true
customBrowserXSSValue: some-value
contentSecurityPolicy: some-value
contentSecurityPolicyReportOnly: true
publicKey: some-public-key
referrerPolicy: some-referrer-policy
permissionsPolicy: some-permissions-policy
isDevelopment: true
```
@@ -0,0 +1,83 @@
---
title: Traefik Middlewares
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik#full-examples) section for complete examples.
:::
## Appears in
- `.Values.ingressMiddlewares.traefik`
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `type`
Define the type for this object
Available types:
- [add-prefix](/truecharts-common/middlewares/traefik/add-prefix)
- [basic-auth](/truecharts-common/middlewares/traefik/basic-auth)
- [buffering](/truecharts-common/middlewares/traefik/buffering)
- [chain](/truecharts-common/middlewares/traefik/chain)
- [compress](/truecharts-common/middlewares/traefik/compress)
- [content-type](/truecharts-common/middlewares/traefik/content-type)
- [forward-auth](/truecharts-common/middlewares/traefik/forward-auth)
- [headers](/truecharts-common/middlewares/traefik/headers)
- [ip-allow-list](/truecharts-common/middlewares/traefik/ip-allow-list)
- [plugin-bouncer](/truecharts-common/middlewares/traefik/plugin-bouncer)
- [plugin-geoblock](/truecharts-common/middlewares/traefik/plugin-geoblock)
- [plugin-mod-security](/truecharts-common/middlewares/traefik/plugin-mod-security)
- [plugin-real-ip](/truecharts-common/middlewares/traefik/plugin-real-ip)
- [plugin-rewrite-response-headers](/truecharts-common/middlewares/traefik/plugin-rewrite-response-headers)
- [plugin-theme-park](/truecharts-common/middlewares/traefik/plugin-theme-park)
- [rate-limit](/truecharts-common/middlewares/traefik/rate-limit)
- [redirect-regex](/truecharts-common/middlewares/traefik/redirect-regex)
- [redirect-scheme](/truecharts-common/middlewares/traefik/redirect-scheme)
- [replace-path-regex](/truecharts-common/middlewares/traefik/replace-path-regex)
- [replace-path](/truecharts-common/middlewares/traefik/replace-path)
- [retry](/truecharts-common/middlewares/traefik/retry)
- [strip-prefix-regex](/truecharts-common/middlewares/traefik/strip-prefix-regex)
- [strip-prefix](/truecharts-common/middlewares/traefik/strip-prefix)
| | |
| ---------- | ----------------------------------------- |
| Key | `ingressMiddlewares.$provider.$name.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
type: buffering
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: buffering
data:
key: value
```
@@ -0,0 +1,141 @@
---
title: IP Allow List Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/ip-allow-list#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/ipallowlist)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: ip-allow-list`.
:::
---
## `sourceRange`
Define the sourceRange
| | |
| ---------- | --------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.sourceRange` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
sourceRange:
- some-source-range
```
---
## `ipStrategy`
Define the ipStrategy
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.ipStrategy` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
ipStrategy: {}
```
---
### `ipStrategy.depth`
Define the ipStrategy.depth
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.ipStrategy.depth` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
ipStrategy:
depth: 1
```
---
### `ipStrategy.excludedIPs`
Define the ipStrategy.excludedIPs
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.ipStrategy.excludedIPs` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
ipStrategy:
excludedIPs:
- some-excluded-ip
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: ip-allow-list
data:
sourceRange:
- some-source-range
ipStrategy:
depth: 1
excludedIPs:
- some-excluded-ip
```
@@ -0,0 +1,972 @@
---
title: Plugin Bouncer Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/plugin-bouncer#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: plugin-bouncer`.
:::
---
## `pluginName`
Define the pluginName
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `bouncer` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
pluginName: my-plugin-name
```
---
## `enabled`
Define the enabled
| | |
| ---------- | ----------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
enabled: true
```
---
## `logLevel`
Define the logLevel
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.logLevel` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
logLevel: DEBUG
```
---
## `updateIntervalSeconds`
Define the updateIntervalSeconds
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.updateIntervalSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
updateIntervalSeconds: 60
```
---
## `updateMaxFailure`
Define the updateMaxFailure
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.updateMaxFailure` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
updateMaxFailure: 0
```
---
## `defaultDecisionSeconds`
Define the defaultDecisionSeconds
| | |
| ---------- | -------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.defaultDecisionSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
defaultDecisionSeconds: 60
```
---
## `httpTimeoutSeconds`
Define the httpTimeoutSeconds
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.httpTimeoutSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
httpTimeoutSeconds: 10
```
---
## `crowdsecMode`
Define the crowdsecMode
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsec` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecMode: live
```
---
## `crowdsecAppsecEnabled`
Define the crowdsecAppsecEnabled
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecAppsecEnabled` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecAppsecEnabled: false
```
---
## `crowdsecAppsecHost`
Define the crowdsecAppsecHost
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecAppsecHost` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecAppsecHost: crowdsec:7422
```
---
## `crowdsecAppsecFailureBlock`
Define the crowdsecAppsecFailureBlock
| | |
| ---------- | ------------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecAppsecFailureBlock` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecAppsecFailureBlock: true
```
---
## `crowdsecAppsecUnreachableBlock`
Define the crowdsecAppsecUnreachableBlock
| | |
| ---------- | ---------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecAppsecUnreachableBlock` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecAppsecUnreachableBlock: true
```
---
## `crowdsecLapiKey`
Define the crowdsecLapiKey
| | |
| ---------- | ------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiKey` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecLapiKey: privateKey-foo
```
---
## `crowdsecLapiHost`
Define the crowdsecLapiHost
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiHost` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecLapiHost: crowdsec:8080
```
---
## `crowdsecLapiScheme`
Define the crowdsecLapiScheme
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsec` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecLapiScheme: http
```
---
## `crowdsecLapiTLSInsecureVerify`
Define the crowdsecLapiTLSInsecureVerify
| | |
| ---------- | --------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSInsecureVerify` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecLapiTLSInsecureVerify: false
```
---
## `crowdsecCapiMachineId`
Define the crowdsecCapiMachineId
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecCapiMachineId` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecCapiMachineId: login
```
---
## `crowdsecCapiPassword`
Define the crowdsecCapiPassword
| | |
| ---------- | ------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecCapiPassword` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecCapiPassword: password
```
---
## `crowdsecCapiScenarios`
Define the crowdsecCapiScenarios
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecCapiScenarios` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecCapiScenarios:
- crowdsecurity/http-path-traversal-probing
- crowdsecurity/http-xss-probing
- crowdsecurity/http-generic-bf
```
---
## `forwardedHeadersTrustedIPs`
Define the forwardedHeadersTrustedIPs
| | |
| ---------- | ------------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.forwardedHeadersTrustedIPs` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
forwardedHeadersTrustedIPs:
- 10.0.10.23/32
- 10.0.20.0/24
```
---
## `clientTrustedIPs`
Define the clientTrustedIPs
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.clientTrustedIPs` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
clientTrustedIPs:
- 192.168.1.0/24
```
---
## `forwardedHeadersCustomName`
Define the forwardedHeadersCustomName
| | |
| ---------- | ------------------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.forwardedHeadersCustomName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
forwardedHeadersCustomName: X-Custom-Header
```
---
## `remediationHeadersCustomName`
Define the remediationHeadersCustomName
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.remediationHeadersCustomName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
remediationHeadersCustomName: cs-remediation
```
---
## `redisCacheEnabled`
Define the redisCacheEnabled
| | |
| ---------- | --------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.redisCacheEnabled` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
redisCacheEnabled: false
```
---
## `redisCacheHost`
Define the redisCacheHost
| | |
| ---------- | ------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.redisCacheHost` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
redisCacheHost: "redis:6379"
```
---
## `redisCachePassword`
Define the redisCachePassword
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.redisCachePassword` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
redisCachePassword: password
```
---
## `redisCacheDatabase`
Define the redisCacheDatabase
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.redisCacheDatabase` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
redisCacheDatabase: "5"
```
---
## `crowdsecLapiTLSCertificateAuthority`
Define the crowdsecLapiTLSCertificateAuthority
| | |
| ---------- | --------------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateAuthority` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecLapiTLSCertificateAuthority: |-
-----BEGIN CERTIFICATE-----
MIIEBzCCAu+gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT
...
Q0veeNzBQXg1f/JxfeA39IDIX1kiCf71tGlT
-----END CERTIFICATE-----
```
---
## `crowdsecLapiTLSCertificateBouncer`
Define the crowdsecLapiTLSCertificateBouncer
| | |
| ---------- | ------------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateBouncer` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecLapiTLSCertificateBouncer: |-
-----BEGIN CERTIFICATE-----
MIIEHjCCAwagAwIBAgIUOBTs1eqkaAUcPplztUr2xRapvNAwDQYJKoZIhvcNAQEL
...
RaXAnYYUVRblS1jmePemh388hFxbmrpG2pITx8B5FMULqHoj11o2Rl0gSV6tHIHz
N2U=
-----END CERTIFICATE-----
```
---
## `crowdsecLapiTLSCertificateBouncerKey`
Define the crowdsecLapiTLSCertificateBouncerKey
| | |
| ---------- | ---------------------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.crowdsecLapiTLSCertificateBouncerKey` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
crowdsecLapiTLSCertificateBouncerKey: |-
-----BEGIN TOTALY NOT A SECRET-----
MIIEogIBAAKCAQEAtYQnbJqifH+ZymePylDxGGLIuxzcAUU4/ajNj+qRAdI/Ux3d
...
ic5cDRo6/VD3CS3MYzyBcibaGaV34nr0G/pI+KEqkYChzk/PZRA=
-----END TOTALY NOT A SECRET-----
```
---
## `captchaProvider`
Define the captchaProvider
| | |
| ---------- | ------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.captchaProvider` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
captchaProvider: hcaptcha
```
---
## `captchaSiteKey`
Define the captchaSiteKey
| | |
| ---------- | ------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.captchaSiteKey` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
captchaSiteKey: FIXME
```
---
## `captchaSecretKey`
Define the captchaSecretKey
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.captchaSecretKey` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
captchaSecretKey: FIXME
```
---
## `captchaGracePeriodSeconds`
Define the captchaGracePeriodSeconds
| | |
| ---------- | ----------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.captchaGracePeriodSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
captchaGracePeriodSeconds: 1800
```
---
## `captchaHTMLFilePath`
Define the captchaHTMLFilePath
| | |
| ---------- | ----------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.captchaHTMLFilePath` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
captchaHTMLFilePath: /captcha.html
```
---
## `banHTMLFilePath`
Define the banHTMLFilePath
| | |
| ---------- | ------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.banHTMLFilePath` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
banHTMLFilePath: /ban.html
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: plugin-bouncer
data:
enabled: true
logLevel: DEBUG
updateIntervalSeconds: 60
updateMaxFailure: 0
defaultDecisionSeconds: 60
httpTimeoutSeconds: 10
crowdsecMode: live
crowdsecAppsecEnabled: false
crowdsecAppsecHost: crowdsec:7422
crowdsecAppsecFailureBlock: true
crowdsecAppsecUnreachableBlock: true
crowdsecLapiKey: privateKey-foo
crowdsecLapiHost: crowdsec:8080
crowdsecLapiScheme: http
crowdsecLapiTLSInsecureVerify: false
crowdsecCapiMachineId: login
crowdsecCapiPassword: password
crowdsecCapiScenarios:
- crowdsecurity/http-path-traversal-probing
- crowdsecurity/http-xss-probing
- crowdsecurity/http-generic-bf
forwardedHeadersTrustedIPs:
- 10.0.10.23/32
- 10.0.20.0/24
clientTrustedIPs:
- 192.168.1.0/24
forwardedHeadersCustomName: X-Custom-Header
remediationHeadersCustomName: cs-remediation
redisCacheEnabled: false
redisCacheHost: "redis:6379"
redisCachePassword: password
redisCacheDatabase: "5"
crowdsecLapiTLSCertificateAuthority: |-
-----BEGIN TOTALY NOT A CERT-----
MIIEBzCCAu+gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT
...
Q0veeNzBQXg1f/JxfeA39IDIX1kiCf71tGlT
-----END TOTALY NOT A CERT-----
crowdsecLapiTLSCertificateBouncer: |-
-----BEGIN TOTALY NOT A CERT-----
MIIEHjCCAwagAwIBAgIUOBTs1eqkaAUcPplztUr2xRapvNAwDQYJKoZIhvcNAQEL
...
RaXAnYYUVRblS1jmePemh388hFxbmrpG2pITx8B5FMULqHoj11o2Rl0gSV6tHIHz
N2U=
-----END TOTALY NOT A CERT-----
captchaProvider: hcaptcha
captchaSiteKey: FIXME
captchaSecretKey: FIXME
captchaGracePeriodSeconds: 1800
captchaHTMLFilePath: /captcha.html
banHTMLFilePath: /ban.html
```
@@ -0,0 +1,413 @@
---
title: Plugin Geoblock Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/plugin-geoblock#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://github.com/PascalMinder/geoblock)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: plugin-geoblock`.
:::
---
## `pluginName`
Define the pluginName
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `GeoBlock` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
pluginName: my-plugin-name
```
---
## `api`
Define the api
| | |
| ---------- | ------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.api` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
api: https://api.geoblock.org/v2/geoblock
```
---
## `allowLocalRequests`
Define the allowLocalRequests
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.allowLocalRequests` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
allowLocalRequests: true
```
---
## `logLocalRequests`
Define the logLocalRequests
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.logLocalRequests` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
logLocalRequests: true
```
---
## `logAllowedRequests`
Define the logAllowedRequests
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.logAllowedRequests` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
logAllowedRequests: true
```
---
## `logApiRequests`
Define the logApiRequests
| | |
| ---------- | ------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.logApiRequests` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
logApiRequests: true
```
---
## `apiTimeoutMs`
Define the apiTimeoutMs
| | |
| ---------- | ---------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.apiTimeoutMs` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
apiTimeoutMs: 1000
```
---
## `cacheSize`
Define the cacheSize
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.cacheSize` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
cacheSize: 1000
```
---
## `forceMonthlyUpdate`
Define the forceMonthlyUpdate
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.forceMonthlyUpdate` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
forceMonthlyUpdate: true
```
---
## `allowUnknownCountries`
Define the allowUnknownCountries
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.allowUnknownCountries` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
allowUnknownCountries: true
```
---
## `unknownCountryApiResponse`
Define the unknownCountryApiResponse
| | |
| ---------- | ----------------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.unknownCountryApiResponse` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
unknownCountryApiResponse: some-value
```
---
## `blackListMode`
Define the blackListMode
| | |
| ---------- | ----------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.blackListMode` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
blackListMode: true
```
---
## `silentStartUp`
Define the silentStartUp
| | |
| ---------- | ----------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.silentStartUp` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
silentStartUp: true
```
---
## `addCountryHeader`
Define the addCountryHeader
| | |
| ---------- | -------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.addCountryHeader` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
addCountryHeader: true
```
---
## `countries`
Define the countries
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.countries` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
countries:
- some-country
- some-other-country
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: plugin-geoblock
data:
api: https://api.geoblock.org/v2/geoblock
allowLocalRequests: true
logLocalRequests: true
logAllowedRequests: true
logApiRequests: true
apiTimeoutMs: 1000
cacheSize: 1000
forceMonthlyUpdate: true
allowUnknownCountries: true
unknownCountryApiResponse: some-value
blackListMode: some-value
silentStartUp: true
addCountryHeader: true
countries:
- some-country
- some-other-country
```
@@ -0,0 +1,135 @@
---
title: Plugin Mod Security Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/plugin-mod-security#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://github.com/acouvreur/traefik-modsecurity-plugin)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: plugin-mod-security`.
:::
---
## `pluginName`
Define the pluginName
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `traefik-modsecurity-plugin` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
pluginName: my-plugin-name
```
---
## `modSecurityUrl`
Define the modSecurityUrl
| | |
| ---------- | ------------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.modSecurityUrl` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
modSecurityUrl: https://example.com
```
---
## `timeoutMillis`
Define the timeoutMillis
| | |
| ---------- | ----------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.timeoutMillis` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
timeoutMillis: 1000
```
---
## `maxBodySize`
Define the maxBodySize
| | |
| ---------- | --------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.maxBodySize` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
maxBodySize: 1024
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: plugin-mod-security
data:
pluginName: my-plugin-name
modSecurityUrl: https://example.com
timeoutMillis: 1000
maxBodySize: 1024
```
@@ -0,0 +1,89 @@
---
title: Plugin Real IP Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/plugin-theme-park#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://github.com/jramsgz/traefik-real-ip)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: plugin-real-ip`.
:::
---
## `pluginName`
Define the pluginName
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `traefik-real-ip` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
pluginName: my-plugin-name
```
---
## `excludednets`
Define the excludednets
| | |
| ---------- | ---------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.excludednets` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
excludednets:
- some-excluded-net
- some-other-excluded-net
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: plugin-real-ip
data:
pluginName: my-plugin-name
excludednets:
- some-excluded-net
- some-other-excluded-net
```
@@ -0,0 +1,169 @@
---
title: Plugin Rewrite Response Headers Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/plugin-rewrite-response-headers#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://github.com/XciD/traefik-plugin-rewrite-headers/)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: plugin-rewrite-response-headers`.
:::
---
## `pluginName`
Define the pluginName
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `rewriteResponseHeaders` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
pluginName: my-plugin-name
```
---
## `rewrites`
Define the rewrites
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.rewrites` |
| Type | `list` of `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
rewrites:
- header: some-header
regex: some-regex
replacement: some-replacement
```
---
### `rewrites[].header`
Define the header
| | |
| ---------- | ------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.rewrites.header` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
rewrites:
- header: some-header
```
---
### `rewrites[].regex`
Define the regex
| | |
| ---------- | --------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.regex` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
rewrites:
- regex: some-regex
```
---
### `rewrites[].replacement`
Define the replacement
| | |
| ---------- | --------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.replacement` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
rewrites:
- replacement: some-replacement
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: plugin-rewrite-response-headers
data:
pluginName: my-plugin-name
rewrites:
- header: some-header
regex: some-regex
replacement: some-replacement
- header: some-other-header
regex: some-other-regex
replacement: some-other-replacement
```
@@ -0,0 +1,164 @@
---
title: Plugin Theme Park Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/plugin-theme-park#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://github.com/packruler/traefik-themepark)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: plugin-theme-park`.
:::
---
## `pluginName`
Define the pluginName
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.pluginName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `traefik-themepark` |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
pluginName: my-plugin-name
```
---
## `app`
Define the app
| | |
| ---------- | ------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.app` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
app: sonarr
```
---
## `theme`
Define the theme
| | |
| ---------- | --------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.theme` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
theme: dark
```
---
## `baseUrl`
Define the baseUrl
| | |
| ---------- | ----------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.baseUrl` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
baseUrl: https://example.com
```
---
## `addons`
Define the addons
| | |
| ---------- | ---------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.addons` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
addons:
- some-addon
- some-other-addon
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: plugin-theme-park
data:
pluginName: my-plugin-name
app: sonarr
theme: dark
baseUrl: https://example.com
addons:
- some-addon
- some-other-addon
```
@@ -0,0 +1,85 @@
---
title: Rate Limit Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/rate-limit#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/ratelimit)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: rate-limit`.
:::
---
## `average`
Define the average rate limit
| | |
| ---------- | ----------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.average` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
average: 1000
```
---
## `burst`
Define the burst rate limit
| | |
| ---------- | --------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.burst` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
burst: 1000
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: rate-limit
data:
average: 1000
burst: 1000
```
@@ -0,0 +1,110 @@
---
title: Redirect Regex Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/redirect-regex#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/redirectregex)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: redirect-regex`.
:::
---
## `regex`
Define the regex
| | |
| ---------- | --------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.regex` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
regex: some-regex
```
---
## `replacement`
Define the replacement
| | |
| ---------- | --------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.replacement` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
replacement: some-replacement
```
---
## `permanent`
Define the permanent
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.permanent` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
permanent: true
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: redirect-regex
data:
regex: some-regex
replacement: some-replacement
permanent: true
```
@@ -0,0 +1,85 @@
---
title: Redirect Scheme Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/redirect-scheme#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/redirectscheme)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: redirect-scheme`.
:::
---
## `scheme`
Define the scheme
| | |
| ---------- | ---------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.scheme` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
scheme: https
```
---
## `permanent`
Define the permanent
| | |
| ---------- | ------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.permanent` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
permanent: true
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: redirect-scheme
data:
scheme: https
permanent: true
```
@@ -0,0 +1,85 @@
---
title: Replace Path Regex Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/replace-path-regex#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/replacepathregex)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: replace-path-regex`.
:::
---
## `regex`
Define the regex
| | |
| ---------- | --------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.regex` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
regex: /some-path
```
---
## `replacement`
Define the replacement
| | |
| ---------- | --------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.replacement` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
replacement: /some-replacement
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: replace-path-regex
data:
regex: /some-path
replacement: /some-replacement
```
@@ -0,0 +1,60 @@
---
title: Replace Path Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/replace-path#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/replacepath)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: replace-path`.
:::
---
## `path`
Define the path
| | |
| ---------- | -------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.path` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
path: /some-path
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: replace-path
data:
path: /some-path
```
@@ -0,0 +1,85 @@
---
title: Retry Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/retry#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/retry)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: retry`.
:::
---
## `attempts`
Define the path
| | |
| ---------- | ------------------------------------------------ |
| Key | `ingressMiddlewares.traefik.$name.data.attempts` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
attempts: 3
```
---
## `initialInterval`
Define the initialInterval
| | |
| ---------- | ------------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.initialInterval` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
initialInterval: 1000
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: retry
data:
attempts: 3
initialInterval: 1000
```
@@ -0,0 +1,64 @@
---
title: Strip Prefix Regex Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/strip-prefix-regex#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/stripprefixregex)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: strip-prefix-regex`.
:::
---
## `regex`
Define the regexes
| | |
| ---------- | --------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.regex` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
regex:
- some-regex
- some-other-regex
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: strip-prefix-regex
data:
regex:
- some-regex
- some-other-regex
```
@@ -0,0 +1,89 @@
---
title: Strip Prefix Middleware
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/middlewares/traefik/strip-prefix#full-examples) section for complete examples.
- Upstream documentation for this middleware can be found [here](https://doc.traefik.io/traefik/middlewares/http/stripprefix)
:::
## Appears in
- `.Values.ingressMiddlewares.traefik.$name.data`
:::tip
- See available middleware keys [here](/truecharts-common/middlewares).
- This options apply only when `type: strip-prefix`.
:::
---
## `prefix`
Define the prefixes
| | |
| ---------- | ---------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.prefix` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
prefix:
- /some-prefix
- /some-other-prefix
```
---
## `forceSlash`
Define the forceSlash
| | |
| ---------- | -------------------------------------------------- |
| Key | `ingressMiddlewares.traefik.$name.data.forceSlash` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | - |
Example
```yaml
ingressMiddlewares:
traefik:
middleware-name:
data:
forceSlash: true
```
---
## Full Examples
```yaml
ingressMiddlewares:
traefik:
middleware-name:
enabled: true
type: strip-prefix
data:
prefix:
- /some-prefix
- /some-other-prefix
forceSlash: true
```
+123
View File
@@ -0,0 +1,123 @@
---
title: Notes
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/notes#full-examples) section for complete examples.
:::
## Appears in
- `.Values.notes`
---
## `notes`
Define values for `NOTES.txt`
| | |
| ---------- | ------- |
| Key | `notes` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
notes: {}
```
---
### `header`
Define header
| | |
| ---------- | -------------- |
| Key | `notes.header` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
Default
```yaml
header: |
# Welcome to TrueCharts!
Thank you for installing <{{ .Chart.Name }}>.
```
Example
```yaml
notes:
header: ""
```
---
### `custom`
Define custom message, this go between header and footer
| | |
| ---------- | -------------- |
| Key | `notes.custom` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
notes:
custom: ""
```
---
### `footer`
Define footer
| | |
| ---------- | -------------- |
| Key | `notes.footer` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
Default
```yaml
footer: |
# Documentation
Documentation for this chart can be found at ...
# Bug reports
If you find a bug in this chart, please file an issue at ...
```
Example
```yaml
notes:
footer: ""
```
---
## Full Examples
```yaml
notes:
custom: |
This is a custom message
```
@@ -0,0 +1,203 @@
---
title: Configmap
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/configmap#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: configmap`.
:::
---
## `objectName`
Define the configmap name.
| | |
| ---------- | ------------------------------ |
| Key | `persistence.$name.objectName` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
configmap-vol:
objectName: configmap-name
```
---
## `expandObjectName`
Whether to expand (adding the fullname as prefix) the configmap name.
| | |
| ---------- | ------------------------------------ |
| Key | `persistence.$name.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `true` |
Example
```yaml
persistence:
configmap-vol:
expandObjectName: false
```
---
## `optional`
Whether the configmap should be required or not.
| | |
| ---------- | ---------------------------- |
| Key | `persistence.$name.optional` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
persistence:
configmap-vol:
optional: false
```
---
## `defaultMode`
Define the defaultMode (must be a string in format of "0777").
| | |
| ---------- | ------------------------------- |
| Key | `persistence.$name.defaultMode` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
configmap-vol:
defaultMode: "0777"
```
---
## `items`
Define a list of items for configmap.
| | |
| ---------- | ------------------------- |
| Key | `persistence.$name.items` |
| Type | `list` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
persistence:
configmap-vol:
items:
- key: key1
path: path1
- key: key2
path: path2
```
---
### `items[].key`
Define the key of the configmap.
| | |
| ---------- | ------------------------------- |
| Key | `persistence.$name.items[].key` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
configmap-vol:
items:
- key: key1
path: path1
```
---
### `items[].path`
Define the path.
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.items[].path` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
configmap-vol:
items:
- key: key1
path: path1
```
---
## Full Examples
```yaml
persistence:
configmap-vol:
enabled: true
type: configmap
objectName: configmap-name
expandObjectName: false
optional: false
defaultMode: "0777"
items:
- key: key1
path: path1
- key: key2
path: path2
```
@@ -0,0 +1,86 @@
---
title: Device
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/device#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: device`.
:::
---
## Notes
Type `device` is almost identical to `hostPath`. The only difference is that when a `device` type is defined,
we take additional actions, like adding `supplementalGroups` or setting `hostPathType` automatically
to the container assigned, so it can utilize the device.
---
## `hostPath`
Define the hostPath
| | |
| ---------- | ---------------------------- |
| Key | `persistence.$name.hostPath` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
device-vol:
hostPath: /path/to/host
```
---
## `hostPathType`
Define the hostPathType
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.hostPathType` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
device-vol:
hostPathType: BlockDevice
```
---
## Full Examples
```yaml
persistence:
dev-vol:
enabled: true
type: device
hostPath: /path/to/host
hostPathType: BlockDevice
```
@@ -0,0 +1,83 @@
---
title: EmptyDir
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/emptydir#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: emptyDir`.
:::
---
## `size`
Define the sizeLimit of the emptyDir
| | |
| ---------- | ------------------------ |
| Key | `persistence.$name.size` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
emptyDir-vol:
size: 2Gi
```
---
## `medium`
Define the medium of emptyDir (Memory, "")
| | |
| ---------- | -------------------------- |
| Key | `persistence.$name.medium` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values
- `Memory`
- `""`
Example
```yaml
persistence:
emptyDir-vol:
medium: Memory
```
---
## Full Examples
```yaml
persistence:
emptyDir-vol:
enabled: true
type: emptyDir
medium: Memory
size: 2Gi
```
@@ -0,0 +1,90 @@
---
title: Host Path
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/hostpath#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: hostPath`.
:::
---
## `hostPath`
Define the hostPath
| | |
| ---------- | ---------------------------- |
| Key | `persistence.$name.hostPath` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
hostpath-vol:
hostPath: /path/to/host
```
---
## `hostPathType`
Define the hostPathType
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.hostPathType` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values
- `""`
- `DirectoryOrCreate`
- `Directory`
- `FileOrCreate`
- `File`
- `Socket`
- `CharDevice`
- `BlockDevice`
Example
```yaml
persistence:
hostpath-vol:
hostPathType: DirectoryOrCreate
```
---
## Full Examples
```yaml
persistence:
hostpath-vol:
enabled: true
type: hostPath
mountPath: /path
hostPath: /path/to/host
hostPathType: DirectoryOrCreate
```
@@ -0,0 +1,475 @@
---
title: Persistence
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence`
## Naming scheme
- `$FullName-$PersistenceName` (release-name-chart-name-PersistenceName)
:::tip
- Replace references to `$name`, `$podName`, `$containerName` with the actual name you want to use.
:::
---
## Target Selector
- `targetSelectAll` (bool): Whether to define the volume to all pods and mount it on all containers. `targetSelector` is ignored in this case. Useful for shared volumes.
- `targetSelector` (map): Define the pod(s) and container(s) to define the volume and mount it.
- `targetSelector` (empty): Define the volume to the primary pod and mount it on the primary container
## `persistence`
Define persistence objects
| | |
| ---------- | ------------- |
| Key | `persistence` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence: {}
```
---
### `$name`
Define persistence
| | |
| ---------- | ------------------- |
| Key | `persistence.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
some-vol: {}
```
---
#### `enabled`
Enables or Disables the persistence
| | |
| ---------- | --------------------------- |
| Key | `persistence.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
persistence:
some-vol:
enabled: true
```
---
#### `type`
Define the persistence type
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `persistence.$name.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See default [here](/truecharts-common/fallbackdefaults#persistencetype) |
Valid Values:
- [`hostPath`](/truecharts-common/persistence/hostpath)
- [`configmap`](/truecharts-common/configmap)
- [`secret`](/truecharts-common/secret)
- [`device`](/truecharts-common/persistence/device)
- [`pvc`](/truecharts-common/persistence/pvc-vct)
- [`vct`](/truecharts-common/persistence/pvc-vct)
- [`nfs`](/truecharts-common/persistence/nfs)
- [`emptyDir`](/truecharts-common/persistence/emptydir)
- [`iscsi`](/truecharts-common/persistence/iscsi)
Example
```yaml
persistence:
some-vol:
type: pvc
```
---
#### `mountPath`
Define the mountPath for the persistence, applies to all containers that are selected
| | |
| ---------- | ----------------------------- |
| Key | `persistence.$name.mountPath` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
some-vol:
mountPath: /path
```
---
#### `mountPropagation`
Define the mountPropagation for the persistence, applies to all containers that are selected
| | |
| ---------- | ------------------------------------ |
| Key | `persistence.$name.mountPropagation` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `None`
- `HostToContainer`
- `Bidirectional`
Example
```yaml
persistence:
some-vol:
mountPropagation: HostToContainer
```
---
#### `subPath`
Define the subPath for the persistence, applies to all containers that are selected
| | |
| ---------- | --------------------------- |
| Key | `persistence.$name.subPath` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
some-vol:
subPath: some-path
```
---
#### `readOnly`
Define the readOnly for the persistence, applies to all containers that are selected
| | |
| ---------- | ---------------------------- |
| Key | `persistence.$name.readOnly` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
persistence:
some-vol:
readOnly: true
```
---
#### `targetSelectAll`
Define wether to define this volume to all workloads and mount it on all containers
| | |
| ---------- | ----------------------------------- |
| Key | `persistence.$name.targetSelectAll` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
persistence:
some-vol:
targetSelectAll: true
```
---
#### `targetSelector`
Define a map with pod and containers to mount
| | |
| ---------- | ---------------------------------- |
| Key | `persistence.$name.targetSelector` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
some-vol:
targetSelector: {}
```
---
#### `targetSelector.$podName`
Define a map named after the pod to define the volume
| | |
| ---------- | ------------------------------------------- |
| Key | `persistence.$name.targetSelector.$podName` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
some-vol:
targetSelector:
my-pod: {}
```
---
#### `targetSelector.$podName.$containerName`
Define a map named after the container to mount the volume
| | |
| ---------- | ---------------------------------------------------------- |
| Key | `persistence.$name.targetSelector.$podName.$containerName` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
some-vol:
targetSelector:
my-pod:
my-container: {}
```
---
##### `targetSelector.$podName.$containerName.mountPath`
Define the mountPath for the container
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `persistence.$name.targetSelector.$podName.$containerName.mountPath` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `$name.mountPath` |
Example
```yaml
persistence:
some-vol:
targetSelector:
my-pod:
my-container:
mountPath: /path
```
---
##### `targetSelector.$podName.$containerName.mountPropagation`
Define the mountPropagation for the container
| | |
| ---------- | --------------------------------------------------------------------------- |
| Key | `persistence.$name.targetSelector.$podName.$containerName.mountPropagation` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `$name.mountPropagation` |
Example
```yaml
persistence:
some-vol:
targetSelector:
my-pod:
my-container:
mountPropagation: HostToContainer
```
---
##### `targetSelector.$podName.$containerName.subPath`
Define the subPath for the container
| | |
| ---------- | ------------------------------------------------------------------ |
| Key | `persistence.$name.targetSelector.$podName.$containerName.subPath` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `$name.subPath` |
Example
```yaml
persistence:
some-vol:
targetSelector:
my-pod:
my-container:
subPath: some-path
```
---
##### `targetSelector.$podName.$containerName.readOnly`
Define the readOnly for the container
| | |
| ---------- | ------------------------------------------------------------------- |
| Key | `persistence.$name.targetSelector.$podName.$containerName.readOnly` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `$name.readOnly` |
Example
```yaml
persistence:
some-vol:
targetSelector:
my-pod:
my-container:
readOnly: true
```
---
## Basic Examples
```yaml
# Example of a shared emptyDir volume
persistence:
shared:
enabled: true
type: emptyDir
mountPath: /shared
readOnly: false
targetSelectAll: true
```
```yaml
# Example of a volume mounted to a specific container with a specific mountPath
persistence:
config:
enabled: true
type: emptyDir
targetSelector:
my-pod:
my-container: {}
mountPath: /path
readOnly: false
my-other-container: {}
mountPath: /other/path
readOnly: false
```
```yaml
# Example of a volume mounted to a specific container using the default mountPath
persistence:
config:
enabled: true
type: emptyDir
mountPath: /path
readOnly: true
targetSelector:
my-pod:
my-container: {}
my-other-container:
mountPath: /other/path
readOnly: false
```
---
## Full Examples
Full examples can be found under each persistence type
- [hostPath](/truecharts-common/persistence/hostpath)
- [configmap](/truecharts-common/persistence/configmap)
- [secret](/truecharts-common/persistence/secret)
- [device](/truecharts-common/persistence/device)
- [pvc](/truecharts-common/persistence/pvc-vct)
- [vct](/truecharts-common/persistence/pvc-vct)
- [nfs](/truecharts-common/persistence/nfs)
- [emptyDir](/truecharts-common/persistence/emptydir)
- [iscsi](/truecharts-common/persistence/iscsi)
@@ -0,0 +1,446 @@
---
title: iSCSI
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/iscsi#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: iscsi`.
:::
---
## `iscsi`
Define the iSCSI
| | |
| ---------- | ------------------------- |
| Key | `persistence.$name.iscsi` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
iscsi-vol:
iscsi: {}
```
---
### `fsType`
Define the fsType
| | |
| ---------- | -------------------------- |
| Key | `persistence.$name.fsType` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values
- `ext4`
- `xfs`
- `ntfs`
Example
```yaml
persistence:
iscsi-vol:
iscsi:
fsType: ext4
```
---
### `targetPortal`
Define the targetPortal
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.targetPortal` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
targetPortal: some.target.portal
```
---
### `iqn`
Define the iqn
| | |
| ---------- | ----------------------- |
| Key | `persistence.$name.iqn` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
iqn: some.iqn
```
---
### `lun`
Define the lun
| | |
| ---------- | ----------------------- |
| Key | `persistence.$name.lun` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
lun: 0
```
---
### `initiatorName`
Define the initiatorName
| | |
| ---------- | --------------------------------- |
| Key | `persistence.$name.initiatorName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
initiatorName: some.initiator.name
```
---
### `iscsiInterface`
Define the iscsiInterface
| | |
| ---------- | ---------------------------------- |
| Key | `persistence.$name.iscsiInterface` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
iscsiInterface: some.interface
```
---
### `portals`
Define the portals
| | |
| ---------- | --------------------------- |
| Key | `persistence.$name.portals` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
portals:
- some.portal.1
- some.portal.2
```
---
### `authDiscovery`
Define the authDiscovery
| | |
| ---------- | --------------------------------------- |
| Key | `persistence.$name.iscsi.authDiscovery` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
authDiscovery: {}
```
---
#### `authDiscovery.username`
Define the username
| | |
| ---------- | ------------------------------------------------ |
| Key | `persistence.$name.iscsi.authDiscovery.username` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
authDiscovery:
username: some.username
```
---
#### `authDiscovery.password`
Define the password
| | |
| ---------- | ------------------------------------------------ |
| Key | `persistence.$name.iscsi.authDiscovery.password` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
authDiscovery:
password: some.password
```
---
#### `authDiscovery.usernameInitiator`
Define the usernameInitiator
| | |
| ---------- | --------------------------------------------------------- |
| Key | `persistence.$name.iscsi.authDiscovery.usernameInitiator` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
authDiscovery:
usernameInitiator: some.usernameInitiator
```
---
#### `authDiscovery.passwordInitiator`
Define the passwordInitiator
| | |
| ---------- | --------------------------------------------------------- |
| Key | `persistence.$name.iscsi.authDiscovery.passwordInitiator` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
authDiscovery:
passwordInitiator: some.passwordInitiator
```
---
### `authSession`
Define the authSession
| | |
| ---------- | ------------------------------------- |
| Key | `persistence.$name.iscsi.authSession` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
authSession: {}
```
---
#### `authSession.username`
Define the username
| | |
| ---------- | ---------------------------------------------- |
| Key | `persistence.$name.iscsi.authSession.username` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
authSession:
username: some.username
```
---
#### `authSession.password`
Define the password
| | |
| ---------- | ---------------------------------------------- |
| Key | `persistence.$name.iscsi.authSession.password` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
iscsi-vol:
iscsi:
authSession:
password: some.password
```
---
## Full Examples
```yaml
persistence:
iscsi-vol:
enabled: true
type: iscsi
iscsi:
fsType: "{{ .Values.some_fsType }}"
targetPortal: "{{ .Values.some_targetPortal }}"
iqn: "{{ .Values.some_iqn }}"
lun: "{{ .Values.some_lun }}"
initiatorName: "{{ .Values.some_initiatorName }}"
iscsiInterface: "{{ .Values.some_interface }}"
portals:
- "{{ index .Values.some_portals 0 }}"
- "{{ index .Values.some_portals 1 }}"
authSession:
username: "{{ .Values.username }}"
password: "{{ .Values.password }}"
usernameInitiator: '{{ printf "%s%s" .Values.username "Initiator" }}'
passwordInitiator: '{{ printf "%s%s" .Values.password "Initiator" }}'
iscsi-vol2:
enabled: true
type: iscsi
iscsi:
fsType: ext4
targetPortal: some.target.portal
iqn: some.iqn
lun: 0
initiatorName: some.initiator.name
iscsiInterface: some.interface
portals:
- some.portal.1
- some.portal.2
authDiscovery:
username: some.username
password: some.password
usernameInitiator: some.usernameInitiator
passwordInitiator: some.passwordInitiator
```
@@ -0,0 +1,78 @@
---
title: NFS
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/nfs#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: nfs`.
:::
---
## `path`
Define the nfs export share path
| | |
| ---------- | ------------------------ |
| Key | `persistence.$name.path` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
nfs-vol:
path: /path/of/nfs/share
```
---
## `server`
Define the nfs server
| | |
| ---------- | -------------------------- |
| Key | `persistence.$name.server` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
nfs-vol:
server: nfs-server
```
---
## Full Examples
```yaml
persistence:
nfs-vol:
enabled: true
type: nfs
path: /path/of/nfs/share
server: nfs-server
```
@@ -0,0 +1,604 @@
---
title: PVC / VCT
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/pvc-vct#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: pvc` or `type: vct`.
:::
---
## `labels`
Additional labels for persistence
| | |
| ---------- | -------------------------- |
| Key | `persistence.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
persistence:
pvc-vol:
labels:
label1: value1
```
---
## `annotations`
Additional annotations for persistence
| | |
| ---------- | ------------------------------- |
| Key | `persistence.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
persistence:
pvc-vol:
annotations:
annotation1: value1
```
---
## `namespace`
Define the namespace for this object
| | |
| ---------- | ----------------------------- |
| Key | `persistence.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
namespace: some-namespace
```
---
## `retain`
Define wether the to add helm annotation to retain resource on uninstall.
This does not **guarantee** that the resource will be retained.
| | |
| ---------- | ------------------------------------------------------ |
| Key | `persistence.$name.retain` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | See default [here](/truecharts-common/fallbackdefaults#pvcretain) |
Example
```yaml
persistence:
pvc-vol:
retain: true
```
---
## `accessModes`
Define the accessModes of the PVC, if it's single can be defined as a string, multiple as a list
| | |
| ---------- | -------------------------------------------------------- |
| Key | `persistence.$name.accessModes` |
| Type | `string` or `list` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | See default [here](/truecharts-common/fallbackdefaults#accessmodes) |
Example
```yaml
persistence:
pvc-vol:
accessModes: ReadWriteOnce
persistence:
pvc-vol:
accessModes:
- ReadWriteOnce
- ReadWriteMany
```
---
## `volumeName`
Define the volumeName of a PV, backing the claim
| | |
| ---------- | ------------------------------ |
| Key | `persistence.$name.volumeName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
volumeName: volume-name-backing-the-pvc
```
---
## `existingClaim`
Define an existing claim to use
| | |
| ---------- | --------------------------------- |
| Key | `persistence.$name.existingClaim` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
existingClaim: existing-claim-name
```
---
## `size`
Define the size of the PVC
| | |
| ---------- | ------------------------------------------------------------------------------------------------------- |
| Key | `persistence.$name.size` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | See default [pvcSize](/truecharts-common/fallbackdefaults#pvcsize) and [vctSize](/truecharts-common/fallbackdefaults#vctsize) |
Example
```yaml
persistence:
pvc-vol:
size: 2Gi
```
---
## `storageClass`
Define the storageClass to use
:::note How storageClass is resolved
- If storageClass is defined on the `persistence`
- `-` **->** `""`, (which means requesting a PV without class)
- Else **->** as is
- Else if [fallback storageClass](/truecharts-common/fallbackdefaults#storageclass), **->** this
- Else **->** _nothing_ (which means requesting a PV without class)
:::
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.storageClass` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
storageClass: storage-class-name
```
---
## `dataSource`
Define dataSource for the pvc
| | |
| ---------- | ------------------------------ |
| Key | `persistence.$name.dataSource` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
pvc-vol:
dataSource: {}
```
---
### `dataSource.kind`
Define the kind of the dataSource
| | |
| ---------- | ----------------------------------- |
| Key | `persistence.$name.dataSource.kind` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Valid Values
- `PersistentVolumeClaim`
- `VolumeSnapshot`
Example
```yaml
persistence:
pvc-vol:
dataSource:
kind: "PersistentVolumeClaim"
```
---
### `dataSource.name`
Define the name of the dataSource
| | |
| ---------- | ----------------------------------- |
| Key | `persistence.$name.dataSource.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
dataSource:
name: "existingPVC"
```
---
## `static`
Define static provisioning for the pvc
| | |
| ---------- | -------------------------- |
| Key | `persistence.$name.static` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
persistence:
pvc-vol:
static: {}
```
---
### `static.mode`
Define the mode of the static provisioning
| | |
| ---------- | ------------------------------- |
| Key | `persistence.$name.static.mode` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Valid Values
- [`nfs`](/truecharts-common/persistence/pvc-vct/static-nfs)
- [`smb`](/truecharts-common/persistence/pvc-vct/static-smb)
- [`custom`](/truecharts-common/persistence/pvc-vct/static-custom)
Example
```yaml
persistence:
pvc-vol:
static:
mode: nfs
```
---
## `mountOptions`
Define mountOptions for the pvc.
Available only for `static.mode: nfs|smb`
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.mountOptions` |
| Type | `list` of `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
persistence:
pvc-vol:
mountOptions: []
```
### `mountOptions[].key`
Define the key of the mountOption
| | |
| ---------- | -------------------------------------- |
| Key | `persistence.$name.mountOptions[].key` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
mountOptions:
- key: some-key
```
---
### `mountOptions[].value`
Define the value of the mountOption
| | |
| ---------- | ---------------------------------------- |
| Key | `persistence.$name.mountOptions[].value` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
mountOptions:
- value: some-value
```
---
## `volumeSnapshots`
Define volumeSnapshots for the pvc
| | |
| ---------- | ----------------------------------- |
| Key | `persistence.$name.volumeSnapshots` |
| Type | `list` of `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
persistence:
pvc-vol:
volumeSnapshots: []
```
### `volumeSnapshots[].name`
Define the name of the volumeSnapshot
| | |
| ---------- | ------------------------------------------ |
| Key | `persistence.$name.volumeSnapshots[].name` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
volumeSnapshots:
- name: example1
```
### `volumeSnapshots[].enabled`
Define if the volumeSnapshot is enabled
| | |
| ---------- | --------------------------------------------- |
| Key | `persistence.$name.volumeSnapshots[].enabled` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
persistence:
pvc-vol:
volumeSnapshots:
- enabled: true
```
### `volumeSnapshots[].labels`
Define the labels of the volumeSnapshot
| | |
| ---------- | -------------------------------------------- |
| Key | `persistence.$name.volumeSnapshots[].labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
persistence:
pvc-vol:
volumeSnapshots:
- labels:
label1: value1
```
### `volumeSnapshots[].annotations`
Define the annotations of the volumeSnapshot
| | |
| ---------- | ------------------------------------------------- |
| Key | `persistence.$name.volumeSnapshots[].annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
persistence:
pvc-vol:
volumeSnapshots:
- annotations:
annotation1: value1
```
### `volumeSnapshots[].volumeSnapshotClassName`
Define the volumeSnapshotClassName of the volumeSnapshot
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `persistence.$name.volumeSnapshots[].volumeSnapshotClassName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
persistence:
pvc-vol:
volumeSnapshots:
- volumeSnapshotClassName: some-name
```
---
## Full Examples
```yaml
persistence:
pvc-vol:
enabled: true
type: pvc
namespace: some-namespace
labels:
label1: value1
annotations:
annotation1: value1
dataSource:
kind: "PersistentVolumeClaim"
name: "existingPVC"
accessModes: ReadWriteOnce
volumeName: volume-name-backing-the-pvc
existingClaim: existing-claim-name
retain: true
size: 2Gi
mountOptions:
- key: some-key
value: some-value
# static:
# mode: custom
# provisioner: provisioner
# driver: driver
# csi:
# key: value
volumeSnapshots:
- name: example1
enabled: true
labels:
label1: value1
annotations:
annotation1: value1
volumeSnapshotClassName: some-name
# targetSelectAll: true
targetSelector:
pod-name:
container-name:
mountPath: /path/to/mount
```
@@ -0,0 +1,83 @@
---
title: Static Custom
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/pvc-vct/static-custom#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name.static`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: pvc` or `type: vct` and `mode: custom`.
:::
---
## `driver`
Define the custom driver
| | |
| ---------- | --------------------------------- |
| Key | `persistence.$name.static.driver` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
persistence:
smb-vol:
type: pvc
static:
driver: some-driver
```
---
## `provisioner`
Define the custom provisioner
| | |
| ---------- | -------------------------------------- |
| Key | `persistence.$name.static.provisioner` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
persistence:
smb-vol:
type: pvc
static:
provisioner: some-provisioner
```
---
## Full Examples
```yaml
persistence:
smb-vol:
type: pvc
static:
mode: custom
driver: some-driver
provisioner: some-provisioner
```
@@ -0,0 +1,83 @@
---
title: Static NFS
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/pvc-vct/static-nfs#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name.static`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: pvc` or `type: vct` and `mode: nfs`.
:::
---
## `server`
Define the nfs server
| | |
| ---------- | --------------------------------- |
| Key | `persistence.$name.static.server` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
nfs-vol:
type: pvc
static:
server: /server
```
---
## `share`
Define the nfs export share path
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.static.share` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
nfs-vol:
type: pvc
static:
share: share
```
---
## Full Examples
```yaml
persistence:
nfs-vol:
type: pvc
static:
mode: nfs
server: /server
share: share
```
@@ -0,0 +1,158 @@
---
title: Static SMB
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/pvc-vct/static-smb#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name.static`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: pvc` or `type: vct` and `mode: smb`.
:::
---
## `server`
Define the nfs server
| | |
| ---------- | --------------------------------- |
| Key | `persistence.$name.static.server` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
smb-vol:
type: pvc
static:
server: /server
```
---
## `share`
Define the nfs export share path
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.static.share` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
smb-vol:
type: pvc
static:
share: share
```
---
## `user`
Define the smb user
| | |
| ---------- | ------------------------------- |
| Key | `persistence.$name.static.user` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
persistence:
smb-vol:
type: pvc
static:
user: user
```
---
## `password`
Define the smb password
| | |
| ---------- | ----------------------------------- |
| Key | `persistence.$name.static.password` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
persistence:
smb-vol:
type: pvc
static:
password: password
```
---
## `domain`
Define the smb domain
| | |
| ---------- | --------------------------------- |
| Key | `persistence.$name.static.domain` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
persistence:
smb-vol:
type: pvc
static:
domain: domain
```
---
## Full Examples
```yaml
persistence:
smb-vol:
type: pvc
static:
mode: smb
user: user
password: password
domain: domain
share: share
server: /server
```
@@ -0,0 +1,203 @@
---
title: Secret
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/persistence/secret#full-examples) section for complete examples.
:::
## Appears in
- `.Values.persistence.$name`
:::tip
- See available persistence keys [here](/truecharts-common/persistence).
- This options apply only when `type: secret`.
:::
---
## `objectName`
Define the secret name.
| | |
| ---------- | ------------------------------ |
| Key | `persistence.$name.objectName` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
secret-vol:
objectName: secret-name
```
---
## `expandObjectName`
Whether to expand (adding the fullname as prefix) the secret name.
| | |
| ---------- | ------------------------------------ |
| Key | `persistence.$name.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `true` |
Example
```yaml
persistence:
secret-vol:
expandObjectName: false
```
---
## `optional`
Whether the secret should be required or not.
| | |
| ---------- | ---------------------------- |
| Key | `persistence.$name.optional` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
persistence:
secret-vol:
optional: false
```
---
## `defaultMode`
Define the defaultMode (must be a string in format of "0777").
| | |
| ---------- | ------------------------------- |
| Key | `persistence.$name.defaultMode` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
secret-vol:
defaultMode: "0777"
```
---
## `items`
Define a list of items for secret.
| | |
| ---------- | ------------------------- |
| Key | `persistence.$name.items` |
| Type | `list` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
persistence:
secret-vol:
items:
- key: key1
path: path1
- key: key2
path: path2
```
---
### `items.key`
Define the key of the secret.
| | |
| ---------- | ------------------------------- |
| Key | `persistence.$name.items[].key` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
secret-vol:
items:
- key: key1
path: path1
```
---
### `items.path`
Define the path.
| | |
| ---------- | -------------------------------- |
| Key | `persistence.$name.items[].path` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
persistence:
secret-vol:
items:
- key: key1
path: path1
```
---
## Full Examples
```yaml
persistence:
secret-vol:
enabled: true
type: secret
objectName: secret-name
expandObjectName: false
optional: false
defaultMode: "0777"
items:
- key: key1
path: path1
- key: key2
path: path2
```
@@ -0,0 +1,258 @@
---
title: Pod Disruption Budget
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/poddisruptionbudget#full-examples) section for complete examples.
:::
## Appears in
- `.Values.podDisruptionBudget`
## Naming scheme
- `$FullName-$podDisruptionBudgetName` (release-name-chart-name-podDisruptionBudgetName)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `podDisruptionBudget`
Create Pod Disruption Budget objects
| | |
| ---------- | --------------------- |
| Key | `podDisruptionBudget` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
podDisruptionBudget: {}
```
---
### `$name`
Define Pod Disruption Budget
:::note
At least one of the following keys must be defined
[`minAvailable`](/truecharts-common/poddisruptionbudget#minavailable), [`maxUnavailable`](/truecharts-common/poddisruptionbudget#maxunavailable)
:::
| | |
| ---------- | --------------------------- |
| Key | `podDisruptionBudget.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
podDisruptionBudget:
pdb-name: {}
```
---
#### `enabled`
Enables or Disables the Pod Disruption Budget
| | |
| ---------- | ----------------------------------- |
| Key | `podDisruptionBudget.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
podDisruptionBudget:
pdb-name:
enabled: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | ------------------------------------- |
| Key | `podDisruptionBudget.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
podDisruptionBudget:
pdb-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for Pod Disruption Budget
| | |
| ---------- | ---------------------------------- |
| Key | `podDisruptionBudget.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
podDisruptionBudget:
pdb-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for Pod Disruption Budget
| | |
| ---------- | --------------------------------------- |
| Key | `podDisruptionBudget.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
podDisruptionBudget:
pdb-name:
annotations:
key: value
```
---
#### `minAvailable`
Define the minAvailable.
| | |
| ---------- | ---------------------------------------- |
| Key | `podDisruptionBudget.$name.minAvailable` |
| Type | `int` or `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
podDisruptionBudget:
pdb-name:
minAvailable: 1
```
---
#### `maxUnavailable`
Define the maxUnavailable.
| | |
| ---------- | ------------------------------------------ |
| Key | `podDisruptionBudget.$name.maxUnavailable` |
| Type | `int` or `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
podDisruptionBudget:
pdb-name:
maxUnavailable: 1
```
---
#### `unhealthyPodEvictionPolicy`
Define the unhealthyPodEvictionPolicy
| | |
| ---------- | ------------------------------------------------------ |
| Key | `podDisruptionBudget.$name.unhealthyPodEvictionPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `IfHealthyBudget`
- `AlwaysAllow`
Example
```yaml
podDisruptionBudget:
pdb-name:
unhealthyPodEvictionPolicy: IfHealthyBudget
```
---
## Full Examples
```yaml
podDisruptionBudget:
pdb-name:
enabled: true
labels:
key: value
keytpl: "{{ .Values.some.value }}"
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
minAvailable: 1
maxUnavailable: 1
unhealthyPodEvictionPolicy: IfHealthyBudget
other-pdb-name:
enabled: true
namespace: some-namespace
minAvailable: 1
```
+325
View File
@@ -0,0 +1,325 @@
---
title: Pod Options
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/podoptions#full-examples) section for complete examples.
:::
## Appears in
- `.Values.podOptions`
## Defaults
```yaml
podOptions:
enableServiceLinks: false
hostNetwork: false
hostPID: false
hostIPC: false
hostUsers: false
shareProcessNamespace: false
restartPolicy: Always
dnsPolicy: ClusterFirst
dnsConfig:
options:
- name: ndots
value: "1"
hostAliases: []
nodeSelector:
kubernetes.io/arch: "amd64"
defaultSpread: true
topologySpreadConstraints: []
tolerations: []
schedulerName: ""
priorityClassName: ""
runtimeClassName: ""
automountServiceAccountToken: false
terminationGracePeriodSeconds: 60
```
---
## `enableServiceLinks`
See [Enable Service Links](/truecharts-common/workload#enableservicelinks)
Default
```yaml
podOptions:
enableServiceLinks: false
```
---
## `hostNetwork`
See [Host Network](/truecharts-common/workload#hostnetwork)
Default
```yaml
podOptions:
hostNetwork: false
```
---
## `hostPID`
See [Host PID](/truecharts-common/workload#hostpid)
Default
```yaml
podOptions:
hostPID: false
```
---
## `hostIPC`
See [Host IPC](/truecharts-common/workload#hostipc)
Default
```yaml
podOptions:
hostIPC: false
```
---
## `hostUsers`
See [Host Users](/truecharts-common/workload#hostusers)
Default
```yaml
podOptions:
hostUsers: false
```
---
## `shareProcessNamespace`
See [Share Process Namespace](/truecharts-common/workload#shareprocessnamespace)
Default
```yaml
podOptions:
shareProcessNamespace: false
```
---
## `restartPolicy`
See [Restart Policy](/truecharts-common/workload#restartpolicy)
Default
```yaml
podOptions:
restartPolicy: Always
```
---
## `dnsPolicy`
See [DNS Policy](/truecharts-common/workload#dnspolicy)
Default
```yaml
podOptions:
dnsPolicy: ClusterFirst
```
---
## `dnsConfig`
See [DNS Config](/truecharts-common/workload#dnsconfig)
Default
```yaml
podOptions:
dnsConfig:
options:
- name: ndots
value: "1"
```
---
## `hostAliases`
See [Host Aliases](/truecharts-common/workload#hostaliases)
Default
```yaml
podOptions:
hostAliases: []
```
---
## `nodeSelector`
See [Node Selector](/truecharts-common/workload#nodeselector)
Default
```yaml
podOptions:
nodeSelector:
kubernetes.io/arch: "amd64"
```
---
## `defaultSpread`
Sets some default topology spread constraints for good spread of pods across nodes.
Default
```yaml
podOptions:
defaultSpread: true
```
---
## `topologySpreadConstraints`
See [Topology Spread Constraints](/truecharts-common/workload#topologyspreadconstraints)
Default
```yaml
podOptions:
topologySpreadConstraints: []
```
---
## `tolerations`
See [Tolerations](/truecharts-common/workload#tolerations)
Default
```yaml
podOptions:
tolerations: []
```
---
## `schedulerName`
See [Scheduler Name](/truecharts-common/workload#schedulername)
Default
```yaml
podOptions:
schedulerName: ""
```
---
## `priorityClassName`
See [Priority Class Name](/truecharts-common/workload#priorityclassname)
Default
```yaml
podOptions:
priorityClassName: ""
```
---
## `runtimeClassName`
See [Runtime Class Name](/truecharts-common/workload#runtimeclassname)
Default
```yaml
podOptions:
runtimeClassName: ""
```
---
## `automountServiceAccountToken`
See [Automount Service Account Token](/truecharts-common/workload#automountserviceaccounttoken)
Default
```yaml
podOptions:
automountServiceAccountToken: false
```
---
## `terminationGracePeriodSeconds`
See [Termination Grace Period Seconds](/truecharts-common/workload#terminationgraceperiodseconds)
Default
```yaml
podOptions:
terminationGracePeriodSeconds: 60
```
---
## Full Examples
```yaml
podOptions:
enableServiceLinks: false
hostNetwork: false
hostPID: false
hostIPC: false
hostUsers: false
shareProcessNamespace: false
restartPolicy: Always
dnsPolicy: ClusterFirst
dnsConfig:
options:
- name: ndots
value: "1"
hostAliases: []
nodeSelector:
kubernetes.io/arch: "amd64"
defaultSpread: true
topologySpreadConstraints: []
tolerations: []
schedulerName: ""
priorityClassName: ""
runtimeClassName: ""
automountServiceAccountToken: false
terminationGracePeriodSeconds: 60
```
+262
View File
@@ -0,0 +1,262 @@
---
title: Priority Class
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/priorityclass#full-examples) section for complete examples.
:::
## Appears in
- `.Values.priorityClass`
## Naming scheme
- `$FullName-$PriorityClassName` (release-name-chart-name-priorityClassName)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `priorityClass`
Define priority classes
| | |
| ---------- | --------------- |
| Key | `priorityClass` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
priorityClass: {}
```
---
### `$name`
Define priority class
| | |
| ---------- | --------------------- |
| Key | `priorityClass.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
priorityClass:
priority-class-name: {}
```
---
#### `enabled`
Enables or Disables the priority class
| | |
| ---------- | ----------------------------- |
| Key | `priorityClass.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
priorityClass:
priority-class-name:
enabled: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | ------------------------------- |
| Key | `priorityClass.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `""` |
Example
```yaml
priorityClass:
priority-class-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for priority class
| | |
| ---------- | ---------------------------- |
| Key | `priorityClass.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
priorityClass:
priority-class-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for priority class
| | |
| ---------- | --------------------------------- |
| Key | `priorityClass.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
priorityClass:
priority-class-name:
annotations:
key: value
```
---
#### `value`
Define the value for this priority class
| | |
| ---------- | --------------------------- |
| Key | `priorityClass.$name.value` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `1000000` |
Example
```yaml
priorityClass:
priority-class-name:
value: 1000000
```
---
#### `globalDefault`
Define if this priority class is the global default
| | |
| ---------- | ----------------------------------- |
| Key | `priorityClass.$name.globalDefault` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
priorityClass:
priority-class-name:
globalDefault: true
```
---
#### `description`
Define the description for this priority class
| | |
| ---------- | --------------------------------- |
| Key | `priorityClass.$name.description` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `No description given` |
Example
```yaml
priorityClass:
priority-class-name:
description: "some description"
```
---
#### `preemptionPolicy`
Define the preemption policy for this priority class
| | |
| ---------- | -------------------------------------- |
| Key | `priorityClass.$name.preemptionPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `Immediate` |
Valid values are:
- `PreemptLowerPriority`
- `Never`
Example
```yaml
priorityClass:
priority-class-name:
preemptionPolicy: PreemptLowerPriority
```
---
## Full Examples
```yaml
priorityClass:
example:
enabled: true
value: 1000000
preemptionPolicy: PreemptLowerPriority
globalDefault: false
description: "some description"
```
+519
View File
@@ -0,0 +1,519 @@
---
title: RBAC
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/rbac#full-examples) section for complete examples.
:::
## Appears in
- `.Values.rbac`
## Naming scheme
- Primary: `$FullName` (release-name-chart-name)
- Non-Primary: `$FullName-$RBACName` (release-name-chart-name-RBACName)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## Target Selector
- `allServiceAccounts` (bool): Whether to assign all service accounts or not to the (Cluster)RoleBinding
- `serviceAccounts` (list): Define the service account(s) to assign the (Cluster)RoleBinding
- `serviceAccounts` (empty): Assign the primary service account to the primary rbac
---
## `rbac`
Create rbac objects
| | |
| ---------- | ------ |
| Key | `rbac` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
rbac: {}
```
---
### `$name`
Define rbac
| | |
| ---------- | ------------ |
| Key | `rbac.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
rbac:
rbac-name: {}
```
---
#### `enabled`
Enables or Disables the rbac
| | |
| ---------- | -------------------- |
| Key | `rbac.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
rbac:
rbac-name:
enabled: true
```
---
#### `primary`
Sets the rbac as primary
| | |
| ---------- | -------------------- |
| Key | `rbac.$name.primary` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
rbac:
rbac-name:
primary: true
```
---
#### `namespace`
Define the namespace for this object (Only when clusterWide is false)
| | |
| ---------- | ---------------------- |
| Key | `rbac.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
rbac:
rbac-name:
namespace: some-namespace
```
---
#### `clusterWide`
Sets the rbac as cluster wide (ClusterRole, ClusterRoleBinding)
| | |
| ---------- | ------------------------ |
| Key | `rbac.$name.clusterWide` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
rbac:
rbac-name:
clusterWide: true
```
---
#### `labels`
Additional labels for rbac
| | |
| ---------- | ------------------- |
| Key | `rbac.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
rbac:
rbac-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for rbac
| | |
| ---------- | ------------------------ |
| Key | `rbac.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
rbac:
rbac-name:
annotations:
key: value
```
---
#### `allServiceAccounts`
Whether to assign all service accounts or not to the (Cluster)RoleBinding
| | |
| ---------- | ------------------------------- |
| Key | `rbac.$name.allServiceAccounts` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
rbac:
rbac-name:
allServiceAccounts: true
```
---
#### `serviceAccounts`
Define the service account(s) to assign the (Cluster)RoleBinding
| | |
| ---------- | ---------------------------- |
| Key | `rbac.$name.serviceAccounts` |
| Type | `list` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
rbac:
rbac-name:
serviceAccounts:
- service-account-name
```
---
#### `rules`
Define the `rules` for the (Cluster)Role
| | |
| ---------- | ------------------ |
| Key | `rbac.$name.rules` |
| Type | `list` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
rbac:
rbac-name:
rules: []
```
---
##### `rules[].apiGroups`
Define the `apiGroups` list for the `rules` for the (Cluster)Role
| | |
| ---------- | ------------------------------ |
| Key | `rbac.$name.rules[].apiGroups` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
rbac:
rbac-name:
rules:
apiGroups:
- ""
- extensions
```
---
##### `rules[].resources`
Define the `resources` list for the `rules` for the (Cluster)Role
| | |
| ---------- | ------------------------------ |
| Key | `rbac.$name.rules[].resources` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
rbac:
rbac-name:
rules:
resources:
- pods
```
---
##### `rules[].resourceNames`
Define the `resourceNames` list for the `rules` for the (Cluster)Role
| | |
| ---------- | ---------------------------------- |
| Key | `rbac.$name.rules[].resourceNames` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
rbac:
rbac-name:
rules:
resourceNames:
- my-pod
```
---
##### `rules[].verbs`
Define the `verbs` list for the `rules` for the (Cluster)Role
| | |
| ---------- | -------------------------- |
| Key | `rbac.$name.rules[].verbs` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
rbac:
rbac-name:
rules:
verbs:
- get
- list
- watch
```
---
#### `subjects`
Define `subjects` for (Cluster)RoleBinding
| | |
| ---------- | --------------------- |
| Key | `rbac.$name.subjects` |
| Type | `list` of `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
rbac:
rbac-name:
rules:
subjects: []
```
---
##### `subjects[].kind`
Define the `kind` of `subjects` entry
| | |
| ---------- | ---------------------------- |
| Key | `rbac.$name.subjects[].kind` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
rbac:
rbac-name:
subjects:
- kind: my-kind
```
---
##### `subjects[].name`
Define the `name` of `subjects` entry
| | |
| ---------- | ---------------------------- |
| Key | `rbac.$name.subjects[].name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
rbac:
rbac-name:
subjects:
- name: my-name
```
---
##### `subjects[].apiGroup`
Define the `apiGroup` of `subjects` entry
| | |
| ---------- | -------------------------------- |
| Key | `rbac.$name.subjects[].apiGroup` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
rbac:
rbac-name:
subjects:
- apiGroup: my-api-group
```
---
## Full Examples
```yaml
rbac:
rbac-name:
enabled: true
primary: true
clusterWide: true
labels:
key: value
keytpl: "{{ .Values.some.value }}"
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
allServiceAccounts: true
rules:
- apiGroups:
- ""
resources:
- "{{ .Values.some.value }}"
resourceNames:
- "{{ .Values.some.value }}"
verbs:
- get
- "{{ .Values.some.value }}"
- watch
subjects:
- kind: my-kind
name: "{{ .Values.some.value }}"
apiGroup: my-api-group
other-rbac-name:
enabled: true
namespace: some-namespace
serviceAccounts:
- service-account-name
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- list
- watch
subjects:
- kind: my-kind
name: my-name
apiGroup: my-api-group
```
+150
View File
@@ -0,0 +1,150 @@
---
title: Resources
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/resources#full-examples) section for complete examples.
:::
## Appears in
- `.Values.resources`
## Defaults
```yaml
resources:
limits:
cpu: 4000m
memory: 8Gi
requests:
cpu: 10m
memory: 50Mi
```
---
## `resources.limits`
See [Resources Limits](/truecharts-common/container/resources#resourceslimits)
Default
```yaml
resources:
limits:
cpu: 4000m
memory: 8Gi
```
---
### `resources.limits.cpu`
See [Resources Limits CPU](/truecharts-common/container/resources#resourceslimitscpu)
Default
```yaml
resources:
limits:
cpu: 4000m
```
---
### `resources.limits.memory`
See [Resources Limits Memory](/truecharts-common/container/resources#resourceslimitsmemory)
Default
```yaml
resources:
limits:
memory: 8Gi
```
---
### `resources.requests."gpu.intel.com/i915"`
See [Resources Requests GPU](/truecharts-common/container/resources#resourceslimitsgpuintelcomi915)
Default: `not set`
---
#### `resources.limits."nvidia.com/gpu"`
See [Resources Limits GPU](/truecharts-common/container/resources#resourceslimitsnvidiacomgpu)
Default: `not set`
---
#### `resources.limits."amd.com/gpu"`
See [Resources Limits GPU](/truecharts-common/container/resources#resourceslimitsamdcomgpu)
Default: `not set`
---
## `resources.requests`
See [Resources Requests](/truecharts-common/container/resources#resourcesrequests)
Default
```yaml
resources:
requests:
cpu: 10m
memory: 50Mi
```
---
### `resources.requests.cpu`
See [Resources Requests CPU](/truecharts-common/container/resources#resourcesrequestscpu)
Default
```yaml
resources:
requests:
cpu: 10m
```
---
### `resources.requests.memory`
See [Resources Requests Memory](/truecharts-common/container/resources#resourcesrequestsmemory)
Default
```yaml
resources:
requests:
memory: 50Mi
```
---
## Full Examples
```yaml
resources:
limits:
cpu: 4000m
memory: 8Gi
requests:
cpu: 10m
memory: 50Mi
```
+225
View File
@@ -0,0 +1,225 @@
---
title: Secret
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/secret#full-examples) section for complete examples.
:::
## Appears in
- `.Values.secret`
## Naming scheme
- `$FullName-$SecretName` (release-name-chart-name-secret-name)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `secret`
Create Secret objects
| | |
| ---------- | -------- |
| Key | `secret` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
secret: {}
```
---
### `$name`
Define Secret
| | |
| ---------- | -------------- |
| Key | `secret.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
secret:
secret-name: {}
```
---
#### `enabled`
Enables or Disables the Secret
| | |
| ---------- | ---------------------- |
| Key | `secret.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
secret:
secret-name:
enabled: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | ------------------------ |
| Key | `secret.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
secret:
secret-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for secret
| | |
| ---------- | --------------------- |
| Key | `secret.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
secret:
secret-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for secret
| | |
| ---------- | -------------------------- |
| Key | `secret.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
secret:
secret-name:
annotations:
key: value
```
---
#### `type`
Define the type of the secret
| | |
| ---------- | ------------------- |
| Key | `secret.$name.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `Opaque` |
Example
```yaml
secret:
secret-name:
type: some-custom-type
```
---
#### `data`
Define the data of the secret
| | |
| ---------- | ------------------- |
| Key | `secret.$name.data` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Example | `{}` |
```yaml
secret:
secret-name:
data:
key: value
```
---
## Full Examples
```yaml
secret:
secret-name:
enabled: true
type: CustomSecretType
labels:
key: value
keytpl: "{{ .Values.some.value }}"
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
data:
key: value
other-secret-name:
enabled: true
namespace: some-namespace
data:
key: |
multi line
text value
```
@@ -0,0 +1,377 @@
---
title: Security Context
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/securitycontext#full-examples) section for complete examples.
:::
## Appears in
- `.Values.securityContext`
## Defaults
```yaml
securityContext:
container:
PUID: 568
UMASK: "002"
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
privileged: false
seccompProfile:
type: RuntimeDefault
capabilities:
add: []
drop:
- ALL
pod:
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
supplementalGroups: []
sysctls: []
```
---
## `securityContext.container`
Defines the security context for the container. Can be overridden at container level.
See [Container Security Context](/truecharts-common/container/securitycontext#securitycontext)
Default
```yaml
securityContext:
container:
PUID: 568
UMASK: "002"
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
privileged: false
seccompProfile:
type: RuntimeDefault
capabilities:
add: []
drop:
- ALL
```
---
### `securityContext.container.PUID`
See [Container Fixed Env PUID](/truecharts-common/container/fixedenv#fixedenvpuid)
Default
```yaml
securityContext:
container:
PUID: 568
```
---
### `securityContext.container.UMASK`
See [Container Fixed Env UMASK](/truecharts-common/container/fixedenv#fixedenvumask)
Default
```yaml
securityContext:
container:
UMASK: "002"
```
---
### `securityContext.container.runAsNonRoot`
See [Container Run As Non Root](/truecharts-common/container/securitycontext#securitycontextrunasnonroot)
Default
```yaml
securityContext:
container:
runAsNonRoot: true
```
---
### `securityContext.container.runAsUser`
See [Container Run As User](/truecharts-common/container/securitycontext#securitycontextrunasuser)
Default
```yaml
securityContext:
container:
runAsUser: 568
```
---
### `securityContext.container.runAsGroup`
See [Container Run As Group](/truecharts-common/container/securitycontext#securitycontextrunasgroup)
Default
```yaml
securityContext:
container:
runAsGroup: 568
```
---
### `securityContext.container.readOnlyRootFilesystem`
See [Container Read Only Root Filesystem](/truecharts-common/container/securitycontext#securitycontextreadonlyrootfilesystem)
Default
```yaml
securityContext:
container:
readOnlyRootFilesystem: true
```
---
### `securityContext.container.allowPrivilegeEscalation`
See [Container Allow Privilege Escalation](/truecharts-common/container/securitycontext#securitycontextallowprivilegeescalation)
Default
```yaml
securityContext:
container:
allowPrivilegeEscalation: false
```
---
### `securityContext.container.privileged`
See [Container Privileged](/truecharts-common/container/securitycontext#securitycontextprivileged)
Default
```yaml
securityContext:
container:
privileged: false
```
---
### `securityContext.container.seccompProfile`
See [Container Seccomp Profile](/truecharts-common/container/securitycontext#securitycontextseccompprofile)
Default
```yaml
securityContext:
container:
seccompProfile:
type: RuntimeDefault
```
---
#### `securityContext.container.seccompProfile.type`
See [Container Seccomp Profile Type](/truecharts-common/container/securitycontext#securitycontextseccompprofiletype)
Default
```yaml
securityContext:
container:
seccompProfile:
type: RuntimeDefault
```
---
#### `securityContext.container.seccompProfile.profile`
See [Container Seccomp Profile Profile](/truecharts-common/container/securitycontext#securitycontextseccompprofileprofile)
Default
```yaml
securityContext:
container:
seccompProfile:
profile: ""
```
### `securityContext.container.capabilities`
See [Container Capabilities](/truecharts-common/container/securitycontext#securitycontextcapabilities)
Default
```yaml
securityContext:
container:
capabilities:
add: []
drop:
- ALL
```
#### `securityContext.container.capabilities.add`
See [Container Capabilities Add](/truecharts-common/container/securitycontext#securitycontextcapabilitiesadd)
Default
```yaml
securityContext:
container:
capabilities:
add: []
```
#### `securityContext.container.capabilities.drop`
See [Container Capabilities Drop](/truecharts-common/container/securitycontext#securitycontextcapabilitiesdrop)
Default
```yaml
securityContext:
container:
capabilities:
drop:
- ALL
```
---
## `securityContext.pod`
Defines the security context for the pod. Can be overridden at pod level.
See [Pod Security Context](/truecharts-common/workload#securitycontext)
Default
```yaml
securityContext:
pod:
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
supplementalGroups: []
sysctls: []
```
---
### `securityContext.pod.fsGroup`
See [Pod FS Group](/truecharts-common/workload#securitycontextfsgroup)
Default
```yaml
securityContext:
pod:
fsGroup: 568
```
---
### `securityContext.pod.fsGroupChangePolicy`
See [Pod FS Group Change Policy](/truecharts-common/workload#securitycontextfsgroupchangepolicy)
Default
```yaml
securityContext:
pod:
fsGroupChangePolicy: OnRootMismatch
```
---
### `securityContext.pod.supplementalGroups`
See [Pod Supplemental Groups](/truecharts-common/workload#securitycontextsupplementalgroups)
Default
```yaml
securityContext:
pod:
supplementalGroups: []
```
---
### `securityContext.pod.sysctls`
See [Pod Sysctls](/truecharts-common/workload#securitycontextsysctls)
Default
```yaml
securityContext:
pod:
sysctls: []
```
---
## Full Examples
```yaml
securityContext:
container:
PUID: 568
UMASK: "002"
runAsNonRoot: true
runAsUser: 568
runAsGroup: 568
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
privileged: false
seccompProfile:
type: RuntimeDefault
capabilities:
add:
- SYS_ADMIN
- SYS_PTRACE
drop:
- ALL
pod:
fsGroup: 568
fsGroupChangePolicy: OnRootMismatch
supplementalGroups:
- 568
- 1000
sysctls:
- name: net.ipv4.ip_unprivileged_port_start
value: "0"
```
@@ -0,0 +1,54 @@
---
title: ClusterIP
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/service/clusterip#full-examples) section for complete examples.
- See the [Service](/truecharts-common/service) documentation for more information
:::
## Appears in
- `.Values.service.$name`
:::tip
- See available service keys [here](/truecharts-common/service).
- This options apply only when `type: ClusterIP`.
:::
---
## Full Examples
```yaml
service:
service-clusterip:
enabled: true
primary: true
publishNotReadyAddresses: true
clusterIP: 172.16.20.233
publishNotReadyAddresses: true
ipFamilyPolicy: SingleStack
ipFamilies:
- IPv4
externalIPs:
- 10.200.230.34
sessionAffinity: ClientIP
sessionAffinityConfig:
clientIP:
timeoutSeconds: 86400
targetSelector: pod-name
ports:
port-name:
enabled: true
primary: true
targetSelector: container-name
port: 80
protocol: http
targetPort: 8080
```
@@ -0,0 +1,146 @@
---
title: ExternalIP
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/service/externalip#full-examples) section for complete examples.
- See the [Service](/truecharts-common/service) documentation for more information
:::
## Appears in
- `.Values.service.$name`
:::tip
- See available service keys [here](/truecharts-common/service).
- This options apply only when `type: ExternalIP`.
:::
---
## `externalIP`
Configure External IP type
| | |
| ---------- | -------------------------- |
| Key | `service.$name.externalIP` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
service:
some-service:
externalIP: 1.2.3.4
```
---
## `useSlice`
Define whether to use `EndpointSlice` or `Endpoint`
| | |
| ---------- | ------------------------ |
| Key | `service.$name.useSlice` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
service:
some-service:
useSlice: false
```
---
## `addressType`
Define the addressType for External IP
| | |
| ---------- | --------------------------- |
| Key | `service.$name.addressType` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `IPv4` |
Valid Values:
- `IPv4`
- `IPv6`
- `FQDN`
Example
```yaml
service:
some-service:
addressType: IPv6
```
---
## `appProtocol`
Define the appProtocol for External IP
| | |
| ---------- | --------------------------- |
| Key | `service.$name.appProtocol` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
service:
some-service:
appProtocol: http
```
---
## Full Examples
```yaml
service:
# Special type
service-externalip:
enabled: true
primary: true
type: ExternalIP
useSlice: true
externalIP: 1.1.1.1
addressType: IPv4
appProtocol: http
publishNotReadyAddresses: true
externalIPs:
- 10.200.230.34
sessionAffinity: ClientIP
externalTrafficPolicy: Cluster
ports:
port-name:
enabled: true
primary: true
targetSelector: container-name
port: 80
targetPort: 8080
protocol: HTTP
```
@@ -0,0 +1,74 @@
---
title: ExternalName
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/service/externalname#full-examples) section for complete examples.
- See the [Service](/truecharts-common/service) documentation for more information
:::
## Appears in
- `.Values.service.$name`
:::tip
- See available service keys [here](/truecharts-common/service).
- This options apply only when `type: ExternalName`.
:::
---
## `externalName`
Configure ExternalName type
| | |
| ---------- | ---------------------------- |
| Key | `service.$name.externalName` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
service:
some-service:
externalName: external-name
```
---
## Full Examples
```yaml
service:
# Special type
service-external-name:
enabled: true
primary: true
type: ExternalName
externalName: external-name
clusterIP: 172.16.20.233
publishNotReadyAddresses: true
externalIPs:
- 10.200.230.34
sessionAffinity: ClientIP
sessionAffinityConfig:
clientIP:
timeoutSeconds: 86400
externalTrafficPolicy: Cluster
ports:
port-name:
enabled: true
primary: true
targetSelector: container-name
port: 80
protocol: HTTP
```
@@ -0,0 +1,147 @@
---
title: LoadBalancer
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/service/loadbalancer#full-examples) section for complete examples.
- See the [Service](/truecharts-common/service) documentation for more information
:::
## Appears in
- `.Values.service.$name`
:::tip
- See available service keys [here](/truecharts-common/service).
- This options apply only when `type: LoadBalancer`.
:::
---
## `sharedKey`
Sets the shared key in `metallb.io/allow-shared-ip` **MetalLB** Annotation
| | |
| ---------- | ------------------------- |
| Key | `service.$name.sharedKey` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `$FullName` |
Example
```yaml
service:
some-service:
sharedKey: custom-shared-key
```
## `loadBalancerIP`
Define the load balancer IP, sets the `metallb.io/loadBalancerIPs` **MetalLB** annotation. Mutually exclusive with `loadBalancerIPs`
| | |
| ---------- | ------------------------------ |
| Key | `service.$name.loadBalancerIP` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
service:
some-service:
loadBalancerIP: 1.2.3.4
```
## `loadBalancerIPs`
Define the load balancer IPs, sets the `metallb.io/loadBalancerIPs` **MetalLB** annotation. Mutually exclusive with `loadBalancerIP`
| | |
| ---------- | ------------------------------- |
| Key | `service.$name.loadBalancerIPs` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
service:
some-service:
loadBalancerIPs:
- 1.2.3.4
- 5.6.7.8
```
---
## `loadBalancerSourceRanges`
Define the load balancer source ranges
| | |
| ---------- | ---------------------------------------- |
| Key | `service.$name.loadBalancerSourceRanges` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
service:
some-service:
loadBalancerSourceRanges:
- 10.100.100.0/24
- 10.100.200.0/24
```
---
## Full Examples
```yaml
service:
service-lb:
enabled: true
primary: true
type: LoadBalancer
loadBalancerIP: 10.100.100.2
loadBalancerSourceRanges:
- 10.100.100.0/24
clusterIP: 172.16.20.233
sharedKey: custom-shared-key
publishNotReadyAddresses: true
ipFamilyPolicy: SingleStack
ipFamilies:
- IPv4
externalIPs:
- 10.200.230.34
sessionAffinity: ClientIP
sessionAffinityConfig:
clientIP:
timeoutSeconds: 86400
externalTrafficPolicy: Cluster
targetSelector: pod-name
ports:
port-name:
enabled: true
primary: true
targetSelector: container-name
port: 80
protocol: HTTP
targetPort: 8080
```
@@ -0,0 +1,75 @@
---
title: NodePort
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/service/nodeport#full-examples) section for complete examples.
- See the [Service](/truecharts-common/service) documentation for more information
:::
## Appears in
- `.Values.service.$name`
:::tip
- See available service keys [here](/truecharts-common/service).
- This options apply only when `type: NodePort`.
:::
---
## `ports.$port-name.nodePort`
Define the node port that will be exposed on the node
| | |
| ---------- | ----------------------------------------- |
| Key | `service.$name.ports.$port-name.nodePort` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | unset |
Example
```yaml
service:
some-service:
nodePort: 30080
```
---
## Full Examples
```yaml
service:
service-nodeport:
enabled: true
primary: true
type: NodePort
clusterIP: 172.16.20.233
publishNotReadyAddresses: true
externalIPs:
- 10.200.230.34
sessionAffinity: ClientIP
sessionAffinityConfig:
clientIP:
timeoutSeconds: 86400
externalTrafficPolicy: Cluster
targetSelector: pod-name
ports:
port-name:
enabled: true
primary: true
targetSelector: container-name
port: 80
protocol: http
targetPort: 8080
nodePort: 30080
```
+539
View File
@@ -0,0 +1,539 @@
---
title: Service
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/service#full-examples) section for complete examples.
:::
## Appears in
- `.Values.service`
## Naming scheme
- Primary: `$FullName` (release-name-chart-name)
- Non-Primary: `$FullName-$ServiceName` (release-name-chart-name-ServiceName)
:::tip
Replace references to `$name` and `$port-name` with the actual name you want to use.
:::
---
## Target Selector
- `targetSelector` (string): Define the pod to link the service
- `targetSelector` (empty): Assign the service to the primary pod
---
## `service`
Define service objects
| | |
| ---------- | --------- |
| Key | `service` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
service: {}
```
---
### `$name`
Define service
| | |
| ---------- | --------------- |
| Key | `service.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
service:
service-name: {}
```
---
#### `enabled`
Enables or Disables the service
| | |
| ---------- | ----------------------- |
| Key | `service.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
service:
service-name:
enabled: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | ------------------------- |
| Key | `service.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only)` |
| Default | `""` |
Example
```yaml
service:
service-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for service
| | |
| ---------- | ---------------------- |
| Key | `service.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only)` |
| Default | `{}` |
Example
```yaml
service:
service-name:
labels:
some-label: some-value
```
---
#### `annotations`
Additional annotations for service
| | |
| ---------- | --------------------------- |
| Key | `service.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only)` |
| Default | `{}` |
Example
```yaml
service:
service-name:
annotations:
some-annotation: some-value
```
---
#### `type`
Define the service type
| | |
| ---------- | ---------------------------------------------------------------- |
| Key | `service.$name.type` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | See default [here](/truecharts-common/fallbackdefaults#servicetype) |
Valid Values:
- [`ClusterIP`](/truecharts-common/service/clusterip)
- [`LoadBalancer`](/truecharts-common/service/loadbalancer)
- [`NodePort`](/truecharts-common/service/nodeport)
- [`ExternalName`](/truecharts-common/service/externalname)
- [`ExternalIP`](/truecharts-common/service/externalip)
Example
```yaml
service:
service-name:
type: ClusterIP
```
---
#### `expandObjectName`
Whether to expand the object name (based on the [naming scheme](/truecharts-common/service#naming-scheme)) or not
| | |
| ---------- | -------------------------------- |
| Key | `service.$name.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `true` |
Example
```yaml
service:
service-name:
expandObjectName: false
```
---
#### `clusterIP`
Configure Cluster IP type
| | |
| ---------- | ------------------------- |
| Key | `service.$name.clusterIP` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
service:
some-service:
clusterIP: 172.16.0.123
```
---
#### `ipFamilyPolicy`
Define the ipFamilyPolicy
:::warning
Does **not** apply to `type` of `ExternalName` or `ExternalIP`
:::
| | |
| ---------- | ------------------------------ |
| Key | `service.$name.ipFamilyPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `SingleStack`
- `PreferDualStack`
- `RequireDualStack`
Example
```yaml
service:
some-service:
ipFamilyPolicy: SingleStack
```
---
#### `ipFamilies`
Define the ipFamilies
:::warning
Does **not** apply to `type` of `ExternalName` or `ExternalIP`
:::
| | |
| ---------- | -------------------------- |
| Key | `service.$name.ipFamilies` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
service:
some-service:
ipFamilies:
- IPv4
```
---
#### `sessionAffinity`
Define the session affinity (ClientIP, None)
| | |
| ---------- | ------------------------------- |
| Key | `service.$name.sessionAffinity` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `ClientIP`
- `None`
Example
```yaml
service:
some-service:
sessionAffinity: ClientIP
```
---
#### `sessionAffinityConfig.clientIP.timeoutSeconds`
Define the timeout for ClientIP session affinity (0-86400)
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `service.$name.sessionAffinityConfig.clientIP.timeoutSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `0` - `86400`
Example
```yaml
service:
some-service:
sessionAffinityConfig:
clientIP:
timeoutSeconds: 86400
```
---
#### `externalIPs`
Define externalIPs
| | |
| ---------- | --------------------------- |
| Key | `service.$name.externalIPs` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
service:
some-service:
externalIPs:
- 1.2.3.4
- 5.6.7.8
```
---
#### `externalTrafficPolicy`
Define the external traffic policy (Cluster, Local)
:::warning
Does **not** apply to `type` of `ClusterIP`
:::
| | |
| ---------- | ------------------------------------- |
| Key | `service.$name.externalTrafficPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `Cluster`
- `Local`
Example
```yaml
service:
some-service:
externalTrafficPolicy: Cluster
```
---
#### `publishNotReadyAddresses`
Define whether to publishNotReadyAddresses or not
| | |
| ---------- | ---------------------------------------- |
| Key | `service.$name.publishNotReadyAddresses` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
service:
service-name:
publishNotReadyAddresses: true
```
---
#### `targetSelector`
Define the pod to link the service, by default will use the primary pod
| | |
| ---------- | ------------------------------ |
| Key | `service.$name.targetSelector` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
service:
service-name:
targetSelector: some-pod
```
---
#### `ports`
Define the ports of the service
See [Ports](/truecharts-common/service/ports)
| | |
| ---------- | --------------------- |
| Key | `service.$name.ports` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
service:
service-name:
ports: {}
```
---
#### `integrations`
Define the integrations for this service
| | |
| ---------- | ---------------------------- |
| Key | `service.$name.integrations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
service:
service-name:
integrations: {}
```
---
##### `integrations.traefik`
Define the traefik integration for this service
See more details in [Traefik Integration](/truecharts-common/service/integrations/traefik)
| | |
| ---------- | ------------------------------------ |
| Key | `service.$name.integrations.traefik` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
service:
service-name:
integrations:
traefik: {}
```
---
## Full Examples
Full examples can be found under each service type
- [ClusterIP](/truecharts-common/service/clusterip)
- [LoadBalancer](/truecharts-common/service/loadbalancer)
- [NodePort](/truecharts-common/service/nodeport)
- [ExternalName](/truecharts-common/service/externalname)
- [ExternalIP](/truecharts-common/service/externalip)
@@ -0,0 +1,363 @@
---
title: Traefik Integration
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/service/integrations/traefik#full-examples)
section for complete examples.
:::
## Appears in
- `.Values.service.$name.integration.traefik`
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `enabled`
Enables or Disables the traefik integration
| | |
| ---------- | -------------------------------------------- |
| Key | `service.$name.integrations.traefik.enabled` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
service:
service-name:
integrations:
traefik:
enabled: true
```
---
## `forceTLS`
Force TLS when talking to the backend service
:::note
Adds the `traefik.ingress.kubernetes.io/service.serversscheme: "https"` annotation.
It does that both with this set OR when there is a service with only https ports
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `service.$name.integrations.traefik.forceTLS` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
service:
service-name:
integrations:
traefik:
forceTLS: true
```
---
## `insecureSkipVerify`
Skip TLS verification when taling to an HTTPS backend service
:::note
Allows talking to HTTPS backend services which use self-signed certs.
Alternatively you can set a [server name](/truecharts-common/service/integrations/traefik#servername)
and [root CAs](/truecharts-common/service/integrations/traefik#rootcas) to use when performing
TLS validation.
:::
| | |
| ---------- | ------------------------------------------------------- |
| Key | `service.$name.integrations.traefik.insecureSkipVerify` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
service:
service-name:
integrations:
traefik:
insecureSkipVerify: false
```
---
## `serverName`
Set the hostname to use when talking to a backend service
| | |
| ---------- | ----------------------------------------------- |
| Key | `service.$name.integrations.traefik.serverName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | "" |
Example
```yaml
service:
service-name:
integrations:
traefik:
serverName: "my.service.com"
```
---
## `rootCAs`
List of kubernetes secrets (in the same namespace) containing certificate
authorities to use when performing TLS verification of the backend service.
:::note
The secrets must contain a key called `ca.crt`, `tls.crt` or `tls.ca` with the
value being the certificate authority. For more information refer to the
[official documentation](https://doc.traefik.io/traefik/reference/routing-configuration/kubernetes/crd/http/serverstransport/#serverstransport-rootcas)
and [this fixture](https://github.com/traefik/traefik/blob/6df82676aaf8186215086a1d9e934170fb5db13f/pkg/provider/kubernetes/crd/fixtures/with_servers_transport.yml).
:::
| | |
| ---------- | ----------------------------------------------- |
| Key | `service.$name.integrations.traefik.rootCAs` |
| Type | `list` of `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
service:
service-name:
integrations:
traefik:
rootCAs: []
```
---
### `rootCAs.secretRef`
Define the secretRef
| | |
| ---------- | ------------------------------------------------------------- |
| Key | `service.$name.integrations.traefik.rootCAs[].secretRef` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
service:
service-name:
integrations:
traefik:
rootCAs:
- secretRef: {}
```
---
#### `rootCAs.secretRef.name`
Define the secret name
:::note
This will be automatically expanded to `fullname-secret-name`.
You can opt out of this by setting [`expandObjectName`](/truecharts-common/service/integrations/traefik#rootcassecretrefexpandobjectname)
to `false`
:::
| | |
| ---------- | ------------------------------------------------------------------ |
| Key | `service.$name.integrations.traefik.rootCAs[].secretRef.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
service:
service-name:
integrations:
traefik:
rootCAs:
- secretRef:
name: secret-name
```
---
#### `rootCAs.secretRef.expandObjectName`
Whether to expand (adding the fullname as prefix) the secret name
| | |
| ---------- | ------------------------------------------------------------------------------ |
| Key | `service.$name.integrations.traefik.rootCAs[].secretRef.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
service:
service-name:
integrations:
traefik:
rootCAs:
- secretRef:
name: secret-name
expandObjectName: false
```
---
### `rootCAs.configMapRef`
Define the configMapRef
| | |
| ---------- | ---------------------------------------------------------------- |
| Key | `service.$name.integrations.traefik.rootCAs[].configMapRef` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
service:
service-name:
integrations:
traefik:
rootCAs:
- configMapRef: {}
```
---
#### `rootCAs.configMapRef.name`
Define the configmap name
:::note
This will be automatically expanded to `fullname-configmap-name`.
You can opt out of this by setting [`expandObjectName`](/truecharts-common/service/integrations/traefik#rootcasconfigmaprefexpandobjectname)
to `false`
:::
| | |
| ---------- | --------------------------------------------------------------------- |
| Key | `service.$name.integrations.traefik.rootCAs[].configMapRef.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
service:
service-name:
integrations:
traefik:
rootCAs:
- configMapRef:
name: configmap-name
```
---
#### `rootCAs.configMapRef.expandObjectName`
Whether to expand (adding the fullname as prefix) the configmap name
| | |
| ---------- | --------------------------------------------------------------------------------- |
| Key | `service.$name.integrations.traefik.rootCAs[].configMapRef.expandObjectName` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `true` |
Example
```yaml
service:
service-name:
integrations:
traefik:
rootCAs:
- configMapRef:
name: configmap-name
expandObjectName: false
```
---
## Full Examples
```yaml
service:
service-name:
integrations:
traefik:
enabled: true
forceTLS: true
insecureSkipVerify: false
serverName: "my.service.com"
rootCAs:
- configMapRef:
name: configmap-name
expandObjectName: false
- secretRef:
name: secret-name
expandObjectName: true
```
+182
View File
@@ -0,0 +1,182 @@
---
title: Ports
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/service/ports#full-examples) section for complete examples.
- See the [Service](/truecharts-common/service) documentation for more information
:::
## Appears in
- `.Values.service.$name.ports`
---
## Target Selector
- `targetSelector` (string): Define the container to link the port
- `targetSelector` (empty): Assign the service to the primary container
---
## `$port-name`
Define the port dict
| | |
| ---------- | -------------------------------- |
| Key | `service.$name.ports.$port-name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
service:
service-name:
ports:
port-name: {}
```
---
### `port`
Define the port that will be exposed by the service
| | |
| ---------- | ------------------------------------- |
| Key | `service.$name.ports.$port-name.port` |
| Type | `int` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | unset |
Example
```yaml
service:
service-name:
ports:
port-name:
port: 80
```
---
### `targetPort`
Define the target port (No named ports)
| | |
| ---------- | ------------------------------------------- |
| Key | `service.$name.ports.$port-name.targetPort` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | (Defaults to `port` if not set) |
Example
```yaml
service:
service-name:
ports:
port-name:
targetPort: 80
```
---
### `protocol`
Define the port protocol Used by the container ports and probes, http and https are converted to tcp where needed
| | |
| ---------- | -------------------------------------------------------------------- |
| Key | `service.$name.ports.$port-name.protocol` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | See default [here](/truecharts-common/fallbackdefaults#serviceprotocol) |
Valid Values:
- `tcp`
- `udp`
- `http`
- `https`
Example
```yaml
service:
service-name:
ports:
port-name:
protocol: tcp
```
---
### `hostPort`
Define the hostPort, should be **avoided**, unless **ABSOLUTELY** necessary
| | |
| ---------- | ----------------------------------------- |
| Key | `service.$name.ports.$port-name.hostPort` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | unset |
Example
```yaml
service:
service-name:
ports:
port-name:
hostPort: 30000
```
---
### `targetSelector`
Define the container to link this port (Must be on under the pod linked above)
| | |
| ---------- | ----------------------------------------------- |
| Key | `service.$name.ports.$port-name.targetSelector` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | unset |
Example
```yaml
service:
service-name:
ports:
port-name:
targetSelector: some-container
```
## Full Examples
Full examples can be found under each service type
- [ClusterIP](/truecharts-common/service/clusterip)
- [LoadBalancer](/truecharts-common/service/loadbalancer)
- [NodePort](/truecharts-common/service/nodeport)
- [ExternalName](/truecharts-common/service/externalname)
- [ExternalIP](/truecharts-common/service/externalip)
@@ -0,0 +1,258 @@
---
title: Service Account
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/serviceaccount#full-examples) section for complete examples.
:::
## Appears in
- `.Values.serviceAccount`
## Naming scheme
- Primary: `$FullName` (release-name-chart-name)
- Non-Primary: `$FullName-$ServiceAccountName` (release-name-chart-name-ServiceAccountName)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## Target Selector
- `targetSelectAll` (bool): Whether to assign the serviceAccount to all pods or not. `targetSelector` is ignored in this case
- `targetSelector` (list): Define the pod(s) to assign the serviceAccount
- `targetSelector` (empty): Assign the serviceAccount to the primary pod
---
## `serviceAccount`
Create serviceAccount objects
| | |
| ---------- | ---------------- |
| Key | `serviceAccount` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
serviceAccount: {}
```
---
### `serviceAccount.$name`
Define serviceAccount
| | |
| ---------- | ---------------------- |
| Key | `serviceAccount.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
serviceAccount:
sa-name: {}
```
---
#### `enabled`
Enables or Disables the serviceAccount
| | |
| ---------- | ------------------------------ |
| Key | `serviceAccount.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
serviceAccount:
sa-name:
enabled: true
```
---
#### `primary`
Sets the serviceAccount as primary
| | |
| ---------- | ------------------------------ |
| Key | `serviceAccount.$name.primary` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
serviceAccount:
sa-name:
primary: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | -------------------------------- |
| Key | `serviceAccount.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
serviceAccount:
sa-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for service account
| | |
| ---------- | ----------------------------- |
| Key | `serviceAccount.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
serviceAccount:
sa-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for service account
| | |
| ---------- | ---------------------------------- |
| Key | `serviceAccount.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
serviceAccount:
sa-name:
annotations:
key: value
```
---
#### `targetSelectAll`
Whether to assign the serviceAccount to all pods or not
| | |
| ---------- | -------------------------------------- |
| Key | `serviceAccount.$name.targetSelectAll` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
serviceAccount:
sa-name:
targetSelectAll: true
```
---
#### `targetSelector`
Define the pod(s) to assign the serviceAccount
| | |
| ---------- | ------------------------------------- |
| Key | `serviceAccount.$name.targetSelector` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
serviceAccount:
sa-name:
targetSelector:
- workload-name1
- workload-name2
```
---
## Full Examples
```yaml
serviceAccount:
sa-name:
enabled: true
primary: true
namespace: some-namespace
labels:
key: value
keytpl: "{{ .Values.some.value }}"
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
targetSelectAll: true
other-sa-name:
enabled: true
namespace: some-namespace
targetSelector:
- pod-name
- other-pod-name
```
+296
View File
@@ -0,0 +1,296 @@
---
title: Storage Class
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/storageclass#full-examples) section for complete examples.
:::
## Appears in
- `.Values.storageClass`
## Naming scheme
- `$FullName-$StorageClassName` (release-name-chart-name-storageClassName)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `storageClass`
Define storage classes
| | |
| ---------- | -------------- |
| Key | `storageClass` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
storageClass: {}
```
---
### `$name`
Define storage class
| | |
| ---------- | -------------------- |
| Key | `storageClass.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
storageClass:
storage-class-name: {}
```
---
#### `enabled`
Enables or Disables the storage class
| | |
| ---------- | ---------------------------- |
| Key | `storageClass.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
storageClass:
storage-class-name:
enabled: true
```
---
#### `labels`
Additional labels for storage class
| | |
| ---------- | --------------------------- |
| Key | `storageClass.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
storageClass:
storage-class-name:
labels:
key: value
```
---
#### `annotations`
Additional annotations for storage class
| | |
| ---------- | -------------------------------- |
| Key | `storageClass.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
storageClass:
storage-class-name:
annotations:
key: value
```
#### `provisioner`
Define the provisioner for this storage class
| | |
| ---------- | -------------------------------- |
| Key | `storageClass.$name.provisioner` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
storageClass:
storage-class-name:
provisioner: some.provisioner.io
```
---
#### `parameters`
Define the parameters for this storage class
| | |
| ---------- | ------------------------------- |
| Key | `storageClass.$name.parameters` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
storageClass:
storage-class-name:
parameters:
key: value
```
---
#### `reclaimPolicy`
Define the reclaim policy for this storage class
| | |
| ---------- | ---------------------------------- |
| Key | `storageClass.$name.reclaimPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `Retain` |
Valid values are:
- `Delete`
- `Retain`
Example
```yaml
storageClass:
storage-class-name:
reclaimPolicy: retain
```
---
#### `allowVolumeExpansion`
Define if volume expansion is allowed for this storage class
| | |
| ---------- | ----------------------------------------- |
| Key | `storageClass.$name.allowVolumeExpansion` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
storageClass:
storage-class-name:
allowVolumeExpansion: true
```
---
#### `volumeBindingMode`
Define the volume binding mode for this storage class
| | |
| ---------- | -------------------------------------- |
| Key | `storageClass.$name.volumeBindingMode` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `Immediate` |
Valid values are:
- `Immediate`
- `WaitForFirstConsumer`
Example
```yaml
storageClass:
storage-class-name:
volumeBindingMode: Immediate
```
---
#### `mountOptions`
Define the mount options for this storage class
| | |
| ---------- | --------------------------------- |
| Key | `storageClass.$name.mountOptions` |
| Type | `list` of `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On each entry only) |
| Default | `[]` |
Example
```yaml
storageClass:
storage-class-name:
mountOptions:
- option1
- option2=value
```
---
## Full Examples
```yaml
storageClass:
example:
provisioner: some.provisioner.io
enabled: true
parameters:
param1: value1
param2: value2
reclaimPolicy: retain
allowVolumeExpansion: true
volumeBindingMode: Immediate
mountOptions:
- option1
- option2=value
```
@@ -0,0 +1,216 @@
---
title: Volume Snapshot
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/volumesnapshot#full-examples) section for complete examples.
:::
## Appears in
- `.Values.volumeSnapshots`
---
## `volumeSnapshots`
Define a volume snapshot
| | |
| ---------- | ----------------- |
| Key | `volumeSnapshots` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
volumeSnapshots: {}
```
---
### `$name`
Define a volume snapshot
| | |
| ---------- | ----------------------- |
| Key | `volumeSnapshots.$name` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
volumeSnapshots:
example1: {}
```
---
#### `labels`
Define the labels of the volume snapshot
| | |
| ---------- | ------------------------------ |
| Key | `volumeSnapshots.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
volumeSnapshots:
example1:
labels:
key: value
```
---
#### `annotations`
Define the annotations of the volume snapshot class
| | |
| ---------- | ----------------------------------- |
| Key | `volumeSnapshots.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
volumeSnapshots:
example1:
annotations:
key: value
```
---
#### `enabled`
Enable volume snapshot
| | |
| ---------- | ------------------------------- |
| Key | `volumeSnapshots.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
volumeSnapshots:
example1:
enabled: true
```
---
#### `source`
Define the source of the volume snapshot
:::note
At least one of the following keys must be defined
[`volumeSnapshotContentName`](/truecharts-common/volumesnapshot#volumesnapshotcontentname), [`persistentVolumeClaimName`](/truecharts-common/volumesnapshot#persistentvolumeclaimname)
:::
| | |
| ---------- | ------------------------------ |
| Key | `volumeSnapshots.$name.source` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
volumeSnapshots:
example1:
enabled: true
source: {}
```
##### `volumeSnapshotContentName`
Define the volume snapshot content name
| | |
| ---------- | -------------------------------------------------------- |
| Key | `volumeSnapshots.$name.source.volumeSnapshotContentName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
volumeSnapshots:
example1:
enabled: true
source:
volumeSnapshotContentName: some-name
```
---
##### `persistentVolumeClaimName`
Define the persistent volume claim name
| | |
| ---------- | -------------------------------------------------------- |
| Key | `volumeSnapshots.$name.source.persistentVolumeClaimName` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `""` |
Example
```yaml
volumeSnapshots:
example1:
enabled: true
source:
persistentVolumeClaimName: some-pvc-name
```
---
## Full Examples
```yaml
volumeSnapshots:
example1:
enabled: true
source:
volumeSnapshotContentName: some-name
example2:
enabled: true
source:
persistentVolumeClaimName: some-pvc-name
```
@@ -0,0 +1,243 @@
---
title: Volume Snapshot Class
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/volumesnapshotclass#full-examples) section for complete examples.
:::
## Appears in
- `.Values.volumeSnapshotClass`
---
## `volumeSnapshotClass`
Define a volume snapshot class
| | |
| ---------- | --------------------- |
| Key | `volumeSnapshotClass` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
volumeSnapshotClass: {}
```
---
### `$name`
Define a volume snapshot class
| | |
| ---------- | --------------------------- |
| Key | `volumeSnapshotClass.$name` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
volumeSnapshotClass:
example1: {}
```
---
#### `labels`
Define the labels of the volume snapshot class
| | |
| ---------- | ---------------------------------- |
| Key | `volumeSnapshotClass.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
volumeSnapshotClass:
example1:
labels:
key: value
```
---
#### `annotations`
Define the annotations of the volume snapshot class
| | |
| ---------- | --------------------------------------- |
| Key | `volumeSnapshotClass.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
volumeSnapshotClass:
example1:
annotations:
key: value
```
---
#### `enabled`
Enable volume snapshot class
| | |
| ---------- | ----------------------------------- |
| Key | `volumeSnapshotClass.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
volumeSnapshotClass:
example1:
enabled: true
```
---
#### `isDefault`
Sets the annotation `snapshot.storage.kubernetes.io/is-default-class` to `"true"` or `"false"`
| | |
| ---------- | ------------------------------------- |
| Key | `volumeSnapshotClass.$name.isDefault` |
| Type | `bool` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `false` |
Example
```yaml
volumeSnapshotClass:
example1:
isDefault: true
```
---
#### `driver`
Define the driver of the volume snapshot class
| | |
| ---------- | ---------------------------------- |
| Key | `volumeSnapshotClass.$name.driver` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
volumeSnapshotClass:
example1:
driver: csi-hostpath-snapshots
```
---
#### `deletionPolicy`
Define the deletion policy of the volume snapshot class
| | |
| ---------- | ------------------------------------------ |
| Key | `volumeSnapshotClass.$name.deletionPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `Retain` |
Example
```yaml
volumeSnapshotClass:
example1:
deletionPolicy: Delete
```
---
#### `parameters`
Define the parameters of the volume snapshot class
| | |
| ---------- | -------------------------------------- |
| Key | `volumeSnapshotClass.$name.parameters` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On both key and value) |
| Default | `{}` |
Example
```yaml
volumeSnapshotClass:
example1:
parameters:
key: value
```
---
## Full Examples
```yaml
volumeSnapshotClass:
class1:
enabled: true
driver: csi-hostpath-snapshots
deletionPolicy: Delete
labels:
label1: "{{ .Values.label1 }}"
label2: label2
annotations:
annotation1: "{{ .Values.annotation1 }}"
annotation2: annotation2
class2:
enabled: true
isDefault: true
driver: "{{ .Values.some_driver }}"
labels:
label1: "{{ .Values.label1 }}"
label2: label2
annotations:
annotation1: "{{ .Values.annotation1 }}"
annotation2: annotation2
parameters:
"{{ .Values.some_key }}": "{{ .Values.some_value }}"
parameter2: 5
```
+807
View File
@@ -0,0 +1,807 @@
---
title: Webhook
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/webhook#full-examples) section for complete examples.
:::
---
## Appears in
- `.Values.webhook`
## Naming scheme
- `$FullName-$WebhookName` (release-name-chart-name-webhook-name)
:::tip
- Replace references to `$name` with the actual name you want to use.
:::
---
## `webhook`
Create webhook objects
| | |
| ---------- | --------- |
| Key | `webhook` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
webhook: {}
```
---
### `$name`
Define a webhook object with the given name
| | |
| ---------- | --------------- |
| Key | `webhook.$name` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
webhook:
webhook-name: {}
```
---
#### `enabled`
Enables or Disables the webhook
| | |
| ---------- | ----------------------- |
| Key | `webhook.$name.enabled` |
| Type | `bool` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `false` |
Example
```yaml
webhook:
webhook-name:
enabled: true
```
---
#### `namespace`
Define the namespace for this object
| | |
| ---------- | ------------------------- |
| Key | `webhook.$name.namespace` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `""` |
Example
```yaml
webhook:
webhook-name:
namespace: some-namespace
```
---
#### `labels`
Additional labels for webhook
| | |
| ---------- | ---------------------- |
| Key | `webhook.$name.labels` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
webhook:
webhook-name:
labels:
key: value
keytpl: "{{ .Values.some.value }}"
```
---
#### `annotations`
Additional annotations for webhook
| | |
| ---------- | --------------------------- |
| Key | `webhook.$name.annotations` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ✅ (On value only) |
| Default | `{}` |
Example
```yaml
webhook:
webhook-name:
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
```
---
#### `type`
Define the type of the webhook.
| | |
| ---------- | -------------------- |
| Key | `webhook.$name.type` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `mutating`
- `validating`
Example
```yaml
webhook:
webhook-name:
type: mutating
```
---
#### `webhooks`
Define the webhooks.
| | |
| ---------- | ------------------------ |
| Key | `webhook.$name.webhooks` |
| Type | `list` of `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
webhook:
webhook-name:
webhooks: []
```
---
##### `webhooks[].name`
Define the webhook name
| | |
| ---------- | ------------------------------- |
| Key | `webhook.$name.webhooks[].name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- name: webhook-name
```
---
##### `webhooks[].failurePolicy`
Define the failurePolicy for the webhook
| | |
| ---------- | ---------------------------------------- |
| Key | `webhook.$name.webhooks[].failurePolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `Ignore`
- `Fail`
Example
```yaml
webhook:
webhook-name:
webhooks:
- ailurePolicy: Fail
```
---
##### `webhooks[].matchPolicy`
Define the matchPolicy for the webhook
| | |
| ---------- | -------------------------------------- |
| Key | `webhook.$name.webhooks[].matchPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `Exact`
- `Equivalent`
Example
```yaml
webhook:
webhook-name:
webhooks:
- matchPolicy: Exact
```
---
##### `webhooks[].sideEffects`
Define the sideEffects for the webhook
| | |
| ---------- | -------------------------------------- |
| Key | `webhook.$name.webhooks[].sideEffects` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `None`
- `NoneOnDryRun`
Example
```yaml
webhook:
webhook-name:
webhooks:
- sideEffects: None
```
---
##### `webhooks[].reinvocationPolicy`
Define the reinvocationPolicy for the webhook
| | |
| ---------- | --------------------------------------------- |
| Key | `webhook.$name.webhooks[].reinvocationPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `Never`
- `IfNeeded`
Example
```yaml
webhook:
webhook-name:
webhooks:
- reinvocationPolicy: Never
```
---
##### `webhooks[].timeoutSeconds`
Define the timeoutSeconds for the webhook
| | |
| ---------- | ----------------------------------------- |
| Key | `webhook.$name.webhooks[].timeoutSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- timeoutSeconds: 30
```
---
##### `webhooks[].admissionReviewVersions`
Define the admissionReviewVersions for the webhook
| | |
| ---------- | -------------------------------------------------- |
| Key | `webhook.$name.webhooks[].admissionReviewVersions` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `[]` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
```
---
##### `webhooks[].clientConfig`
Define the clientConfig for the webhook
| | |
| ---------- | --------------------------------------- |
| Key | `webhook.$name.webhooks[].clientConfig` |
| Type | `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `{}` |
---
###### `webhooks[].clientConfig.caBundle`
Define the caBundle in clientConfig for the webhook
| | |
| ---------- | ------------------------------------------------ |
| Key | `webhook.$name.webhooks[].clientConfig.caBundle` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- clientConfig:
caBundle: ""
```
###### `webhooks[].clientConfig.url`
Define the url in clientConfig for the webhook, required if service is not defined in clientConfig
| | |
| ---------- | ------------------------------------------- |
| Key | `webhook.$name.webhooks[].clientConfig.url` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- clientConfig:
url: ""
```
---
###### `webhooks[].clientConfig.service`
Define the service in clientConfig for the webhook, required if url is not defined in clientConfig
| | |
| ---------- | ----------------------------------------------- |
| Key | `webhook.$name.webhooks[].clientConfig.service` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- clientConfig:
service: {}
```
---
###### `webhooks[].clientConfig.service.name`
Define the service name in clientConfig for the webhook
| | |
| ---------- | ---------------------------------------------------- |
| Key | `webhook.$name.webhooks[].clientConfig.service.name` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- clientConfig:
service:
name: ""
```
---
###### `webhooks[].clientConfig.service.namespace`
Define the service namespace in clientConfig for the webhook
| | |
| ---------- | --------------------------------------------------------- |
| Key | `webhook.$name.webhooks[].clientConfig.service.namespace` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- clientConfig:
service:
namespace: ""
```
---
###### `webhooks[].clientConfig.service.path`
Define the service path in clientConfig for the webhook
| | |
| ---------- | ---------------------------------------------------- |
| Key | `webhook.$name.webhooks[].clientConfig.service.path` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- clientConfig:
service:
path: ""
```
---
###### `webhooks[].clientConfig.service.port`
Define the service port in clientConfig for the webhook
| | |
| ---------- | ---------------------------------------------------- |
| Key | `webhook.$name.webhooks[].clientConfig.service.port` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | unset |
Example
```yaml
webhook:
webhook-name:
webhooks:
- clientConfig:
service:
port: 443
```
---
#### `webhooks[].rules`
Define the rules for the webhook
| | |
| ---------- | -------------------------------- |
| Key | `webhook.$name.webhooks[].rules` |
| Type | `list` of `map` |
| Required | ✅ |
| Helm `tpl` | ❌ |
| Default | `[]` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- rules: []
```
---
##### `webhooks[].rules[].scope`
Define the scope of the rule for the webhook
| | |
| ---------- | ---------------------------------------- |
| Key | `webhook.$name.webhooks[].rules[].scope` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `""` |
Valid Values:
- `Cluster`
- `Namespaced`
- `*`
Example
```yaml
webhook:
webhook-name:
webhooks:
- rules:
- scope: Cluster
```
---
##### `webhooks[].rules[].apiGroups`
Define the apiGroups of the rule for the webhook
| | |
| ---------- | -------------------------------------------- |
| Key | `webhook.$name.webhooks[].rules[].apiGroups` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- rules:
- apiGroups:
- ""
- "apps"
```
---
##### `webhooks[].rules[].apiVersions`
Define the apiVersions of the rule for the webhook
| | |
| ---------- | ---------------------------------------------- |
| Key | `webhook.$name.webhooks[].rules[].apiVersions` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- rules:
- apiGroups:
- v1
- v1beta1
```
---
##### `webhooks[].rules[].operations`
Define the operations of the rule for the webhook
| | |
| ---------- | --------------------------------------------- |
| Key | `webhook.$name.webhooks[].rules[].operations` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- rules:
- operations:
- CREATE
- UPDATE
```
---
##### `webhooks[].rules[].resources`
Define the resources of the rule for the webhook
| | |
| ---------- | -------------------------------------------- |
| Key | `webhook.$name.webhooks[].rules[].resources` |
| Type | `list` of `string` |
| Required | ✅ |
| Helm `tpl` | ✅ (On entries only) |
| Default | `[]` |
Example
```yaml
webhook:
webhook-name:
webhooks:
- rules:
- resources:
- pods
- pods/status
```
---
## Full Examples
```yaml
webhook:
webhook-name:
enabled: true
labels:
key: value
keytpl: "{{ .Values.some.value }}"
annotations:
key: value
keytpl: "{{ .Values.some.value }}"
type: mutating
webhooks:
- name: webhook-name
failurePolicy: Fail
matchPolicy: Exact
sideEffects: None
reinvocationPolicy: Never
timeoutSeconds: 30
admissionReviewVersions:
- v1
- v1beta1
clientConfig:
caBundle: ""
url: ""
rules:
- scope: Cluster
apiGroups:
- ""
apiVersions:
- v1
operations:
- CREATE
- UPDATE
resources:
- pods
- pods/status
other-webhook-name:
enabled: true
namespace: some-namespace
type: validating
webhooks:
- name: other-webhook-name
failurePolicy: Fail
matchPolicy: Exact
sideEffects: None
timeoutSeconds: 30
admissionReviewVersions:
- v1
- v1beta1
clientConfig:
caBundle: ""
service:
name: ""
namespace: ""
path: ""
port: 443
rules:
- scope: Namespaced
apiGroups:
- ""
apiVersions:
- v1
operations:
- CREATE
- UPDATE
resources:
- pods
- pods/status
```
@@ -0,0 +1,331 @@
---
title: CronJob
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/workload/cronjob#full-examples) section for complete examples.
- See the [Workload](/truecharts-common/workload) documentation for more information
:::
:::tip
Replace references to `$name` with the actual name you want to use.
:::
## Appears in
- `.Values.workload.$name`
## Notes
Value of `workload.$name.podSpec.restartPolicy` can **not** be `Always` for this type of workload
## `schedule`
Define the schedule
| | |
| ---------- | ------------------------- |
| Key | `workload.$name.schedule` |
| Type | `string` |
| Required | ✅ |
| Helm `tpl` | ✅ |
| Default | `""` |
Example
```yaml
workload:
workload-name:
schedule: "{{ .Values.cron }}"
```
---
## `timezone`
Define the timezone
| | |
| ---------- | ------------------------------ |
| Key | `workload.$name.timezone` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | See [here](/truecharts-common#tz) |
Example
```yaml
workload:
workload-name:
timezone: "{{ .Values.someTimezone }}"
```
---
## `concurrencyPolicy`
Define the concurrencyPolicy
| | |
| ---------- | ---------------------------------- |
| Key | `workload.$name.concurrencyPolicy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `Forbid` |
Valid Values:
- `Allow`
- `Replace`
- `Forbid`
Example
```yaml
workload:
workload-name:
concurrencyPolicy: Allow
```
---
## `failedJobsHistoryLimit`
Define the failedJobsHistoryLimit
| | |
| ---------- | --------------------------------------- |
| Key | `workload.$name.failedJobsHistoryLimit` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ✅ |
| Default | `1` |
Example
```yaml
workload:
workload-name:
failedJobsHistoryLimit: 2
```
---
## `successfulJobsHistoryLimit`
Define the successfulJobsHistoryLimit
| | |
| ---------- | ------------------------------------------- |
| Key | `workload.$name.successfulJobsHistoryLimit` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `3` |
Example
```yaml
workload:
workload-name:
successfulJobsHistoryLimit: 4
```
---
## `startingDeadlineSeconds`
Define the startingDeadlineSeconds
| | |
| ---------- | ---------------------------------------- |
| Key | `workload.$name.startingDeadlineSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
startingDeadlineSeconds: 100
```
---
## `completionMode`
Define the completionMode
| | |
| ---------- | ------------------------------- |
| Key | `workload.$name.completionMode` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `NonIndexed` |
Valid Values:
- `Indexed`
- `NonIndexed`
Example
```yaml
workload:
workload-name:
completionMode: Indexed
```
---
## `backoffLimit`
Define the backoffLimit
| | |
| ---------- | ----------------------------- |
| Key | `workload.$name.backoffLimit` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `5` |
Example
```yaml
workload:
workload-name:
backoffLimit: 5
```
---
## `completions`
Define the completions
| | |
| ---------- | ---------------------------- |
| Key | `workload.$name.completions` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
completions: 5
```
---
## `parallelism`
Define the parallelism
| | |
| ---------- | ---------------------------- |
| Key | `workload.$name.parallelism` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `1` |
Example
```yaml
workload:
workload-name:
parallelism: 5
```
---
## `ttlSecondsAfterFinished`
Define the ttlSecondsAfterFinished
| | |
| ---------- | ---------------------------------------- |
| Key | `workload.$name.ttlSecondsAfterFinished` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `120` |
Example
```yaml
workload:
workload-name:
ttlSecondsAfterFinished: 100
```
---
## `activeDeadlineSeconds`
Define the activeDeadlineSeconds
| | |
| ---------- | -------------------------------------- |
| Key | `workload.$name.activeDeadlineSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
activeDeadlineSeconds: 100
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
type: CronJob
schedule: "{{ .Values.cron }}"
timezone: "{{ .Values.someTimezone }}"
concurrencyPolicy: Allow
failedJobsHistoryLimit: 2
successfulJobsHistoryLimit: 4
startingDeadlineSeconds: 100
backoffLimit: 5
completionMode: Indexed
completions: 5
parallelism: 5
ttlSecondsAfterFinished: 100
activeDeadlineSeconds: 100
podSpec:
restartPolicy: OnFailure
other-workload-name:
enabled: true
primary: false
type: CronJob
schedule: "* * * * *"
podSpec: {}
```
@@ -0,0 +1,192 @@
---
title: DaemonSet
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/workload/daemonset#full-examples) section for complete examples.
- See the [Workload](/truecharts-common/workload) documentation for more information
:::
:::tip
Replace references to `$name` with the actual name you want to use.
:::
## Appears in
- `.Values.workload.$name`
## Notes
Value of `workload.$name.podSpec.restartPolicy` can only be `Always` for this type of workload
---
## `revisionHistoryLimit`
Define the number of history revisions
| | |
| ---------- | ------------------------------------- |
| Key | `workload.$name.revisionHistoryLimit` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `3` |
Example
```yaml
workload:
workload-name:
revisionHistoryLimit: 3
```
## `strategy`
Define the strategy of the workload
| | |
| ---------- | ------------------------- |
| Key | `workload.$name.strategy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `RollingUpdate` |
Valid Values:
- `RollingUpdate`
- `OnDelete`
Example
```yaml
workload:
workload-name:
strategy: RollingUpdate
```
---
## `rollingUpdate`
Define the rollingUpdate options
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | ------------------------------ |
| Key | `workload.$name.rollingUpdate` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
```
---
## `rollingUpdate.maxUnavailable`
Define the maxUnavailable
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `workload.$name.rollingUpdate.maxUnavailable` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
rollingUpdate:
maxUnavailable: 1
```
---
## `rollingUpdate.maxSurge`
Define the maxSurge
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | --------------------------------------- |
| Key | `workload.$name.rollingUpdate.maxSurge` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
rollingUpdate:
maxSurge: 1
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
type: DaemonSet
revisionHistoryLimit: 3
strategy: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
podSpec: {}
other-workload-name:
enabled: true
primary: false
type: DaemonSet
labels: {}
annotations: {}
replicas: 1
revisionHistoryLimit: 3
strategy: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
podSpec: {}
```
@@ -0,0 +1,217 @@
---
title: Deployment
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/workload/deployment#full-examples) section for complete examples.
- See the [Workload](/truecharts-common/workload) documentation for more information
:::
:::tip
Replace references to `$name` with the actual name you want to use.
:::
## Appears in
- `.Values.workload.$name`
## Notes
Value of `workload.$name.podSpec.restartPolicy` can only be `Always` for this type of workload
---
## `replicas`
Define the number of replicas
| | |
| ---------- | ------------------------- |
| Key | `workload.$name.replicas` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `1` |
Example
```yaml
workload:
workload-name:
replicas: 1
```
---
## `revisionHistoryLimit`
Define the number of history revisions
| | |
| ---------- | ------------------------------------- |
| Key | `workload.$name.revisionHistoryLimit` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `3` |
Example
```yaml
workload:
workload-name:
revisionHistoryLimit: 3
```
---
## `strategy`
Define the strategy of the workload
| | |
| ---------- | ------------------------- |
| Key | `workload.$name.strategy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `Recreate` |
Valid Values:
- `Recreate`
- `RollingUpdate`
Example
```yaml
workload:
workload-name:
strategy: Recreate
```
---
## `rollingUpdate`
Define the rollingUpdate options
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | ------------------------------ |
| Key | `workload.$name.rollingUpdate` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
```
---
## `rollingUpdate.maxUnavailable`
Define the maxUnavailable
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `workload.$name.rollingUpdate.maxUnavailable` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
rollingUpdate:
maxUnavailable: 1
```
---
## `rollingUpdate.maxSurge`
Define the maxSurge
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | --------------------------------------- |
| Key | `workload.$name.rollingUpdate.maxSurge` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
rollingUpdate:
maxSurge: 1
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
type: Deployment
replicas: 1
revisionHistoryLimit: 3
strategy: Recreate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
podSpec: {}
other-workload-name:
enabled: true
primary: false
type: Deployment
labels: {}
annotations: {}
replicas: 1
revisionHistoryLimit: 3
strategy: Recreate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
podSpec: {}
```
File diff suppressed because it is too large Load Diff
+188
View File
@@ -0,0 +1,188 @@
---
title: Job
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/workload/job#full-examples) section for complete examples.
- See the [Workload](/truecharts-common/workload) documentation for more information
:::
:::tip
Replace references to `$name` with the actual name you want to use.
:::
## Appears in
- `.Values.workload.$name`
## Notes
Value of `workload.$name.podSpec.restartPolicy` can **not** be `Always` for this type of workload
---
## `completionMode`
Define the completionMode
| | |
| ---------- | ------------------------------- |
| Key | `workload.$name.completionMode` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `NonIndexed` |
Valid Values:
- `Indexed`
- `NonIndexed`
Example
```yaml
workload:
workload-name:
completionMode: Indexed
```
---
## `backoffLimit`
Define the backoffLimit
| | |
| ---------- | ----------------------------- |
| Key | `workload.$name.backoffLimit` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `5` |
Example
```yaml
workload:
workload-name:
backoffLimit: 5
```
---
## `completions`
Define the completions
| | |
| ---------- | ---------------------------- |
| Key | `workload.$name.completions` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
completions: 5
```
---
## `parallelism`
Define the parallelism
| | |
| ---------- | ---------------------------- |
| Key | `workload.$name.parallelism` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `1` |
Example
```yaml
workload:
workload-name:
parallelism: 5
```
---
## `ttlSecondsAfterFinished`
Define the ttlSecondsAfterFinished
| | |
| ---------- | ---------------------------------------- |
| Key | `workload.$name.ttlSecondsAfterFinished` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `120` |
Example
```yaml
workload:
workload-name:
ttlSecondsAfterFinished: 100
```
---
## `activeDeadlineSeconds`
Define the activeDeadlineSeconds
| | |
| ---------- | -------------------------------------- |
| Key | `workload.$name.activeDeadlineSeconds` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
activeDeadlineSeconds: 100
```
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
type: Job
backoffLimit: 5
completionMode: Indexed
completions: 5
parallelism: 5
ttlSecondsAfterFinished: 100
activeDeadlineSeconds: 100
podSpec:
restartPolicy: Never
other-workload-name:
enabled: true
primary: false
type: Job
podSpec: {}
```
@@ -0,0 +1,223 @@
---
title: StatefulSet
---
:::note
- Examples under each key are only to be used as a placement guide
- See the [Full Examples](/truecharts-common/workload/statefulset#full-examples) section for complete examples.
- See the [Workload](/truecharts-common/workload) documentation for more information
:::
:::tip
Replace references to `$name` with the actual name you want to use.
:::
## Appears in
- `.Values.workload.$name`
## Notes
Value of `workload.$name.podSpec.restartPolicy` can only be `Always` for this type of workload
---
## `replicas`
Define the number of replicas
| | |
| ---------- | ------------------------- |
| Key | `workload.$name.replicas` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `1` |
Example
```yaml
workload:
workload-name:
replicas: 1
```
---
## `revisionHistoryLimit`
Define the number of history revisions
| | |
| ---------- | ------------------------------------- |
| Key | `workload.$name.revisionHistoryLimit` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `3` |
Example
```yaml
workload:
workload-name:
revisionHistoryLimit: 3
```
---
## `strategy`
Define the strategy of the workload
| | |
| ---------- | ------------------------- |
| Key | `workload.$name.strategy` |
| Type | `string` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `RollingUpdate` |
Valid Values:
- `OnDelete`
- `RollingUpdate`
Example
```yaml
workload:
workload-name:
strategy: RollingUpdate
```
---
## `rollingUpdate`
Define the rollingUpdate options
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | ------------------------------ |
| Key | `workload.$name.rollingUpdate` |
| Type | `map` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | `{}` |
Example
```yaml
workload:
workload-name:
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
```
---
## `rollingUpdate.maxUnavailable`
Define the maxUnavailable
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | --------------------------------------------- |
| Key | `workload.$name.rollingUpdate.maxUnavailable` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
rollingUpdate:
maxUnavailable: 1
```
---
## `rollingUpdate.partition`
Define the partition
:::note
Can only be used when `workload.$name.strategy` is `RollingUpdate`
:::
| | |
| ---------- | ---------------------------------------- |
| Key | `workload.$name.rollingUpdate.partition` |
| Type | `int` |
| Required | ❌ |
| Helm `tpl` | ❌ |
| Default | unset |
Example
```yaml
workload:
workload-name:
rollingUpdate:
partition: 1
```
---
Notes:
View common `keys` of `workload` in [workload Documentation](/truecharts-common/workload).
> Value of `workload.[workload-name].podSpec.restartPolicy` can only be `Always` for this type of workload
---
## Full Examples
```yaml
workload:
workload-name:
enabled: true
primary: true
type: StatefulSet
replicas: 1
revisionHistoryLimit: 3
strategy: RollingUpdate
rollingUpdate:
maxUnavailable: 1
partition: 1
podSpec: {}
other-workload-name:
enabled: true
primary: false
type: StatefulSet
replicas: 1
revisionHistoryLimit: 3
strategy: RollingUpdate
rollingUpdate:
maxUnavailable: 1
partition: 1
podSpec: {}
```