--- 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: {} ```