> ## Documentation Index
> Fetch the complete documentation index at: https://enterprise-docs.crewai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Busybox Configuration

> Configuration for the Busybox utility image used in init containers and helper jobs.

### `busybox.image.*`

Busybox container image configuration. Busybox is used for lightweight init containers and utility operations during pod initialization.

<ParamField path="busybox.image.host" type="string" default="">
  Container registry hosting the Busybox image.

  **Default:** `""` (empty) - Automatically uses `global.imageRegistry` value

  **Fallback Behavior:**

  When `busybox.image.host` is empty or not set, the chart uses `global.imageRegistry` via the `crewai-platform.busyboxImageRegistry` template helper.

  **Automatic Image Override:**

  The chart automatically sets the `BUSYBOX_IMAGE_OVERRIDE` environment variable by combining these values:

  ```
  BUSYBOX_IMAGE_OVERRIDE = <registry>/<name>:<tag>
  ```

  Where `<registry>` is determined by: `busybox.image.host` OR `global.imageRegistry` (fallback)

  **When imageNamePrefixOverride is Set:**

  The image name is automatically simplified:

  * Original: `proxy/crewai/dockerhub/library/busybox`
  * With `imageNamePrefixOverride: "crewai/"` becomes: `crewai/busybox`

  See [global.imageNamePrefixOverride](/reference/chart-values/global#param-global-image-name-prefix-override) for details.
</ParamField>

<ParamField path="busybox.image.name" type="string" default="proxy/crewai/dockerhub/library/busybox">
  Busybox container image name.

  **Default:** `"proxy/crewai/dockerhub/library/busybox"` - Matches Replicated proxy path structure

  **Path Transformation:**

  When `global.imageNamePrefixOverride` is set, only the final component (`busybox`) is used with the override prefix.
</ParamField>

<ParamField path="busybox.image.tag" type="string" default="1.36">
  Busybox image version tag.

  **Default:** `"1.36"` (pinned to a known-good version with SSL support)

  **Important:** The chart requires a BusyBox variant with SSL/TLS support for the ESO wait Job, which uses HTTPS to call the in-cluster Kubernetes API. Some minimal BusyBox variants (like `latest` on certain registries) ship without OpenSSL and cause the wait Job to fail with `SSL not available`.

  **Version Selection:**

  * Use `"1.36"` or newer (recommended) — includes OpenSSL for HTTPS
  * Avoid `"latest"` — may pull a minimal variant without SSL
  * Alternative: `"stable"` — tracks the latest stable release with SSL

  **Error Indicator:** If you see `wget: SSL not available` in the wait Job logs, your BusyBox image lacks SSL support. Pin to `"1.36"` or later.

  **Example:**

  ```yaml theme={null}
  busybox:
    image:
      tag: "1.36"
  ```
</ParamField>

<ParamField path="busybox.image.pullPolicy" type="string" default="IfNotPresent">
  Image pull policy for BusyBox container.

  **Default:** `"IfNotPresent"` - Pull only if not cached locally

  **Valid Values:**

  * `"IfNotPresent"` - Pull only if the image is not present (recommended)
  * `"Always"` - Always pull the latest version of the tag
  * `"Never"` - Never pull, use cached image only

  **Example:**

  ```yaml theme={null}
  busybox:
    image:
      tag: "1.36"
      pullPolicy: "IfNotPresent"
  ```
</ParamField>

## Usage

Busybox is used for:

* Init containers waiting for service dependencies
* Lightweight file operations during pod startup
* Network connectivity checks
* Basic shell operations in utility containers
* ESO wait job - verifies External Secrets Operator has synced all required secrets before pre-upgrade migrations run (only when `externalSecret.enabled: true` and `externalSecret.manageAutoGenerated: true`)

## Example Configuration

**Default Configuration (using Replicated proxy):**

```yaml theme={null}
busybox:
  image:
    host: "" # Uses global.imageRegistry
    name: "proxy/crewai/dockerhub/library/busybox"
    tag: "1.36"
```

Results in: `images.crewai.com/proxy/crewai/dockerhub/library/busybox:latest`

**Private Registry with imageNamePrefixOverride:**

```yaml theme={null}
global:
  imageRegistry: "123456789012.dkr.ecr.us-west-2.amazonaws.com"
  imageNamePrefixOverride: "crewai/"

busybox:
  image:
    host: "" # Uses global.imageRegistry
    name: "proxy/crewai/dockerhub/library/busybox"
    tag: "1.36"
```

Results in: `123456789012.dkr.ecr.us-west-2.amazonaws.com/crewai/busybox:latest`

**Custom Registry:**

```yaml theme={null}
busybox:
  image:
    host: "harbor.company.com"
    name: "library/busybox"
    tag: "1.36"
```

Results in: `harbor.company.com/library/busybox:latest`

## Automatic Configuration

The Busybox image configuration automatically:

* Uses `global.imageRegistry` when `busybox.image.host` is not set
* Applies `global.imageNamePrefixOverride` for simplified image paths
* Sets the `BUSYBOX_IMAGE_OVERRIDE` environment variable for application use
