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

> JSON Schema reference for job configuration

# Job

# Job

## Properties

| Property                                             | Description                                                                                                                                                                                               | Values                             | Example                                          |
| ---------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ------------------------------------------------ |
| **`type`**<br />string                               | component type Type of component to deploy. Determines which configuration block is required (helm\_chart, terraform\_module, docker\_build, container\_image, kubernetes\_manifest, or job)              | **✅ Required**<br />`"job"`        | -                                                |
| **`name`**<br />string                               | component name Unique identifier for the component within the app. Used for referencing in dependencies and templates                                                                                     | **✅ Required**                     | `"database"`, `"api-server"`, `"frontend"`       |
| **`image_url`**<br />string                          | job container image URL Docker image URL to execute. Can be a public Docker registry or private registry                                                                                                  | **✅ Required**                     | `"ubuntu:22.04"`, `"ghcr.io/myorg/myjob:v1.0.0"` |
| **`tag`**<br />string                                | image tag Docker image tag to use                                                                                                                                                                         | **✅ Required**                     | `"latest"`, `"v1.0.0"`                           |
| **`var_name`**<br />string                           | variable name for component output Optional name to use when storing component outputs as variables. If not specified, uses the component name                                                            | **Optional**                       | `"db_endpoint"`, `"api_host"`                    |
| **`labels`**<br />object                             | Key/value labels used to organize and filter components. Metadata only; does not affect deployment                                                                                                        | **Optional**                       | -                                                |
| **`dependencies`**<br />array                        | component dependencies List of other components that must be deployed before this component. Automatically extracted from template references                                                             | **Optional**                       | `"database"`, `"infrastructure"`                 |
| **`operation_roles`**<br />[array](#operation_roles) | operation-specific IAM role assignments Map of component operations to IAM role names. Allows using different roles for different operations (provision, deprovision, update). Roles must be defined ...  | **Optional**                       | -                                                |
| **`toggleable`**<br />boolean                        | -                                                                                                                                                                                                         | **Optional**                       | -                                                |
| **`default_enabled`**<br />boolean                   | -                                                                                                                                                                                                         | **Optional**                       | -                                                |
| **`kubernetes_context`**<br />string                 | kubernetes context binding Optional. Name of a kubernetes\_context defined at the app level. If set, the component targets the cluster produced by that context's source component. If omitted, the co... | **Optional**                       | `"data-cluster"`                                 |
| **`cmd`**<br />array                                 | command to execute Command to run in the job container                                                                                                                                                    | **Optional**                       | `"python"`, `"bash"`                             |
| **`env_vars`**<br />object                           | environment variables Map of environment variables to pass to the job container                                                                                                                           | **Optional**                       | -                                                |
| **`args`**<br />array                                | command arguments Arguments to pass to the command                                                                                                                                                        | **Optional**                       | `"-c 'echo hello'"`, `"script.py"`               |
| **`build_timeout`**<br />string                      | build operation timeout Duration string for build operations (e.g., "30m", "1h"). Default: 5m. Max: 1h                                                                                                    | **Optional**<br />Default: `"5m"`  | `"30m"`, `"1h"`                                  |
| **`deploy_timeout`**<br />string                     | deploy operation timeout Duration string for job execution (e.g., "30m", "1h"). Default: 15m. Max: 1h                                                                                                     | **Optional**<br />Default: `"15m"` | `"30m"`, `"1h"`                                  |
| **`env_var`**<br />[array](#env_var)                 | -                                                                                                                                                                                                         | **Optional**                       | -                                                |

### `operation_roles`

| Property                    | Description                                                                                                      | Values         | Example                                                                  |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------------------------------------ |
| **`operation`**<br />string | operation type Type of operation: provision, deprovision, update, reprovision, or trigger                        | **✅ Required** | `"provision"`, `"deploy"`, `"deprovision"`                               |
| **`role`**<br />string      | IAM role name Name of the IAM role to use for this operation (not ARN). Role must exist in install stack outputs | **✅ Required** | `"{{.nuon.install.id}}-maintenance"`, `"{{.nuon.install.id}}-provision"` |

### `env_var`

| Property                | Description                | Values       | Example                                                    |
| ----------------------- | -------------------------- | ------------ | ---------------------------------------------------------- |
| **`name`**<br />string  | environment variable name  | **Optional** | `"NAMESPACE"`, `"INGRESS_NAME"`, `"LOG_LEVEL"`             |
| **`value`**<br />string | environment variable value | **Optional** | `"kube-system"`, `"{{.nuon.install.id}}-public"`, `"info"` |
