> ## 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.

# Image Configuration

> Configuration for the main CrewAI Platform container image and registry credentials.

<Note>
  The default image configuration values (`image.host`, `image.name`, `image.tag`) are recommended for 99% of users. Overriding these values is not advised unless you have specific requirements.
</Note>

<ParamField path="image.host" type="string" default="">
  Container registry hostname where the CrewAI Platform image is hosted.

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

  **Fallback Behavior:**

  When `image.host` is empty or not set, the chart uses `global.imageRegistry` (default: `"images.crewai.com"`). This simplifies configuration by allowing you to set the registry once at the global level.

  **When imageNamePrefixOverride is Set:**

  The image name is automatically simplified:

  * Original: `proxy/crewai/crewai/crewai-enterprise-platform`
  * With `imageNamePrefixOverride: "crewai/"` becomes: `crewai/crewai-enterprise-platform`

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

  **Common Values:**

  * `""` - Use `global.imageRegistry` (recommended)
  * `"images.crewai.com"` - Replicated proxy registry (explicit override)
  * `"docker.io"` - Docker Hub
  * `"ghcr.io"` - GitHub Container Registry
  * Any private registry hostname

  **Example - Using Global Default:**

  ```yaml theme={null}
  global:
    imageRegistry: "registry.company.com"

  image:
    host: "" # Automatically uses registry.company.com
  ```

  **Example - Component-Specific Override:**

  ```yaml theme={null}
  global:
    imageRegistry: "registry.company.com"

  image:
    host: "special-registry.company.com" # Override for main image only
  ```
</ParamField>

<ParamField path="image.name" type="string" default="proxy/crewai/crewai/crewai-enterprise-platform">
  Full image name including any registry-specific paths.

  **Format:** `[registry-path/]organization/repository`

  **Default:** `"proxy/crewai/crewai/crewai-enterprise-platform"` - Matches Replicated proxy path structure

  **Path Transformation:**

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

<ParamField path="image.tag" type="string" default="0.24.3">
  Container image tag to deploy.

  **Important:** Always point to a specific version tag. Do not use `"latest"` or `"next"` tags.

  **Recommended Practice:**

  Use explicit version tags (e.g., `"0.24.3"`, `"1.2.3"`) to ensure:

  * Deployment consistency across environments
  * Ability to rollback to known versions
  * Predictable behavior and troubleshooting

  **Example:**

  ```yaml theme={null}
  image:
    tag: "0.24.3"  # Specific version (recommended)
  ```
</ParamField>

<ParamField path="image.pullPolicy" type="string" default="IfNotPresent">
  Kubernetes image pull policy.

  **Valid Values:**

  * `"Always"` - Pull image on every pod start
  * `"IfNotPresent"` - Pull only if image not present locally
  * `"Never"` - Never pull, use local image only

  **Production Recommendation:** Use `"Always"` with specific tags to ensure you get the correct image version, or `"IfNotPresent"` to reduce registry load if using immutable tags.
</ParamField>

<ParamField path="image.pullSecret" type="string" default="docker-registry">
  Name of the Kubernetes secret containing container registry credentials.

  **Important:** It is not recommended to set this value manually. When deployed via Replicated KOTS, the `docker-registry` secret is automatically created with the necessary credentials including Replicated proxy credentials and any additional registries configured in `image.registries`.

  **Manual Configuration (Non-Replicated Deployments):**

  ```bash theme={null}
  kubectl create secret docker-registry docker-registry \
    --docker-server=your-registry.com \
    --docker-username=your-username \
    --docker-password=your-password
  ```
</ParamField>

<ParamField path="image.registries" type="array" default="[]">
  Additional container registries requiring authentication. Credentials are merged with the Replicated proxy credentials.

  **Schema:**

  Two authentication methods are supported:

  **Method 1: Username/Password (Static Credentials)**

  ```yaml theme={null}
  image:
    registries:
      - host: "registry.company.com"
        username: "user"
        password: "pass"
      - host: "docker.io"
        username: "dockeruser"
        password: "dockertoken"
  ```

  **Method 2: Credential Helper (Recommended for Cloud Registries)**

  ```yaml theme={null}
  image:
    registries:
      - host: "123456789012.dkr.ecr.us-west-2.amazonaws.com"
        credHelper: "ecr-login"
  ```

  **Credential Helper Benefits:**

  * No static credentials in configuration
  * Automatic token refresh
  * Uses pod IAM/workload identity
  * More secure for cloud registries

  **Common Credential Helpers:**

  * `"ecr-login"` - AWS ECR (requires IRSA or instance role)

  **Use Cases:**

  * Pulling images from multiple private registries
  * Using Docker Hub for public images with rate limit authentication
  * Accessing internal company registries
  * Cloud-native authentication for AWS ECR
</ParamField>
