---
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
```
