> ## 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 docker-build configuration

# Docker Build

# Docker Build

## 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**                       | `"terraform_module"`, `"helm_chart"`, `"docker_build"`, `"container_image"`, `"kubernetes_manifest"`, `"pulumi"` |
| **`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"`                                                                       |
| **`dockerfile`**<br />string                                     | path to the Dockerfile Path to the Dockerfile to build. Supports external file sources: HTTP(S) URLs ([https://example.com/Dockerfile](https://example.com/Dockerfile)), git repositories (git::[https://github.com/org/repo//Dockerfile](https://github.com/org/repo//Dockerfile)... | **✅ Required**                       | `"Dockerfile"`, `"docker/Dockerfile.prod"`, `"https://github.com/myorg/myrepo/raw/main/Dockerfile"`              |
| **`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**                         | -                                                                                                                |
| **`env_vars`**<br />object                                       | build environment variables Map of environment variables to pass to the Docker build command. Available during the build process. Supports Go templating                                                                                                                              | **Optional**                         | `"GOLANG_VERSION"`, `"NODE_ENV"`                                                                                 |
| **`public_repo`**<br />[PublicRepoConfig](#public_repo)          | public repository containing Dockerfile Clone a public GitHub repository containing the Dockerfile and build context. Requires repo, branch, and optionally directory                                                                                                                 | **Optional**                         | -                                                                                                                |
| **`connected_repo`**<br />[ConnectedRepoConfig](#connected_repo) | connected repository containing Dockerfile Use a Nuon-connected repository containing the Dockerfile and build context. Requires repo, branch, and optionally directory                                                                                                               | **Optional**                         | -                                                                                                                |
| **`build_timeout`**<br />string                                  | build operation timeout Duration string for Docker build operations (e.g., "30m", "1h"). Default: 60m. Max: 1h                                                                                                                                                                        | **Optional**<br />Default: `"60m"`   | `"30m"`, `"1h"`                                                                                                  |
| **`deploy_timeout`**<br />string                                 | deploy operation timeout Duration string for deploy operations (e.g., "30m", "1h"). Default: 5m. Max: 1h                                                                                                                                                                              | **Optional**<br />Default: `"5m"`    | `"30m"`, `"1h"`                                                                                                  |
| **`max_auto_retries`**<br />integer                              | maximum automatic retry attempts on deploy failure Maximum number of automatic retry attempts for failed deployments. Set to 0 to disable auto-retry. Default: 0 (disabled)                                                                                                           | **Optional**<br />Default: `"0"`     | `"3"`, `"5"`                                                                                                     |
| **`skip_noops`**<br />boolean                                    | Skip the deploy step when the plan has no changes (a no-op). Defaults to false                                                                                                                                                                                                        | **Optional**<br />Default: `"false"` | `"true"`                                                                                                         |
| **`auto_approve_on_policies_passing`**<br />boolean              | Auto-approve the deploy when all policy checks pass. Defaults to false                                                                                                                                                                                                                | **Optional**<br />Default: `"false"` | `"true"`                                                                                                         |

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

### `public_repo`

| Property                    | Description                                                          | Values         | Example                                                                                 |
| --------------------------- | -------------------------------------------------------------------- | -------------- | --------------------------------------------------------------------------------------- |
| **`repo`**<br />string      | repository URL HTTPS URL to the public Git repository                | **✅ Required** | `"https://github.com/user/repo.git"`, `"https://github.com/user/terraform-modules.git"` |
| **`directory`**<br />string | directory path Path within the repository to the configuration files | **✅ Required** | `"terraform"`, `"infra/terraform"`                                                      |
| **`branch`**<br />string    | Git branch Git branch to checkout and use for deployments            | **✅ Required** | `"main"`, `"develop"`, `"production"`                                                   |

### `connected_repo`

| Property                    | Description                                                                                  | Values         | Example                                    |
| --------------------------- | -------------------------------------------------------------------------------------------- | -------------- | ------------------------------------------ |
| **`repo`**<br />string      | repository identifier Identifier of the connected repository configured in the Nuon platform | **✅ Required** | `"my-repo"`, `"production-infrastructure"` |
| **`directory`**<br />string | directory path Path within the repository to the configuration files                         | **✅ Required** | `"terraform"`, `"infra/terraform"`         |
| **`branch`**<br />string    | Git branch Git branch to checkout and use for deployments                                    | **✅ Required** | `"main"`, `"develop"`, `"production"`      |
