Docker Build
Properties
| Property | Description | Values | Example |
|---|---|---|---|
typestring | 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" |
namestring | component name Unique identifier for the component within the app. Used for referencing in dependencies and templates | ✅ Required | "database", "api-server", "frontend" |
dockerfilestring | path to the Dockerfile Path to the Dockerfile to build. Supports external file sources: HTTP(S) URLs (https://example.com/Dockerfile), git repositories (git::https://github.com/org/repo//Dockerfile… | ✅ Required | "Dockerfile", "docker/Dockerfile.prod", "https://github.com/myorg/myrepo/raw/main/Dockerfile" |
var_namestring | 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" |
dependenciesarray | component dependencies List of other components that must be deployed before this component. Automatically extracted from template references | Optional | "database", "infrastructure" |
operation_rolesarray | 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 | - |
env_varsobject | 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_repoPublicRepoConfig | public repository containing Dockerfile Clone a public GitHub repository containing the Dockerfile and build context. Requires repo, branch, and optionally directory | Optional | - |
connected_repoConnectedRepoConfig | connected repository containing Dockerfile Use a Nuon-connected repository containing the Dockerfile and build context. Requires repo, branch, and optionally directory | Optional | - |
build_timeoutstring | build operation timeout Duration string for Docker build operations (e.g., “30m”, “1h”). Default: 60m. Max: 1h | Optional Default: "60m" | "30m", "1h" |
deploy_timeoutstring | deploy operation timeout Duration string for deploy operations (e.g., “30m”, “1h”). Default: 5m. Max: 1h | Optional Default: "5m" | "30m", "1h" |
operation_roles
| Property | Description | Values | Example |
|---|---|---|---|
operationstring | operation type Type of operation: provision, deprovision, update, reprovision, or trigger | ✅ Required | "provision", "deploy", "deprovision" |
rolestring | 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 |
|---|---|---|---|
repostring | repository URL HTTPS URL to the public Git repository | ✅ Required | "https://github.com/user/repo.git", "https://github.com/user/terraform-modules.git" |
directorystring | directory path Path within the repository to the configuration files | ✅ Required | "terraform", "infra/terraform" |
branchstring | Git branch Git branch to checkout and use for deployments | ✅ Required | "main", "develop", "production" |
connected_repo
| Property | Description | Values | Example |
|---|---|---|---|
repostring | repository identifier Identifier of the connected repository configured in the Nuon platform | ✅ Required | "my-repo", "production-infrastructure" |
directorystring | directory path Path within the repository to the configuration files | ✅ Required | "terraform", "infra/terraform" |
branchstring | Git branch Git branch to checkout and use for deployments | ✅ Required | "main", "develop", "production" |