add common docs
This commit is contained in:
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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"
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
@@ -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: {}
|
||||
```
|
||||
Reference in New Issue
Block a user