Required, defines targets for this kluctl project.

Specifies a list of targets for which commands can be invoked. A target puts together environment/target specific configuration and the target cluster. Multiple targets can exist which target the same cluster but with differing configuration (via args).

Each value found in the target definition is rendered with a simple Jinja2 context that only contains the target itself. The rendering process is retried 10 times until it finally succeeds, allowing you to reference the target itself in complex ways. This is especially useful when using dynamic targets .

Target entries have the following form:

  - name: <target_name>
    context: <context_name>
      arg1: <value1>
      arg2: <value2>
      - image: my-image
        resultImage: my-image:1.2.3

The following fields are allowed per target:


This field specifies the name of the target. The name must be unique. It is referred in all commands via the -t option.


This field specifies the kubectl context of the target cluster. The context must exist in the currently active kubeconfig. If this field is omitted, Kluctl will always use the currently active context.


This fields specifies a map of arguments to be passed to the deployment project when it is rendered. Allowed argument names are configured via deployment args .

The arguments specified in the dynamic target config have higher priority.


This field specifies a list of fixed images to be used by images.get_image(...) . The format is identical to the fixed images file .

The fixed images specified in the dynamic target config have higher priority.

Dynamic Targets

Dynamically defined targets.