Skip to main content

Docker Build

Properties

PropertyDescriptionValuesExample
type
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"
name
string
component name Unique identifier for the component within the app. Used for referencing in dependencies and templates✅ Required"database", "api-server", "frontend"
dockerfile
string
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_name
string
variable name for component output Optional name to use when storing component outputs as variables. If not specified, uses the component nameOptional"db_endpoint", "api_host"
dependencies
array
component dependencies List of other components that must be deployed before this component. Automatically extracted from template referencesOptional"database", "infrastructure"
operation_roles
array
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_vars
object
build environment variables Map of environment variables to pass to the Docker build command. Available during the build process. Supports Go templatingOptional"GOLANG_VERSION", "NODE_ENV"
public_repo
PublicRepoConfig
public repository containing Dockerfile Clone a public GitHub repository containing the Dockerfile and build context. Requires repo, branch, and optionally directoryOptional-
connected_repo
ConnectedRepoConfig
connected repository containing Dockerfile Use a Nuon-connected repository containing the Dockerfile and build context. Requires repo, branch, and optionally directoryOptional-
build_timeout
string
build operation timeout Duration string for Docker build operations (e.g., “30m”, “1h”). Default: 60m. Max: 1hOptional
Default: "60m"
"30m", "1h"
deploy_timeout
string
deploy operation timeout Duration string for deploy operations (e.g., “30m”, “1h”). Default: 5m. Max: 1hOptional
Default: "5m"
"30m", "1h"

operation_roles

PropertyDescriptionValuesExample
operation
string
operation type Type of operation: provision, deprovision, update, reprovision, or trigger✅ Required"provision", "deploy", "deprovision"
role
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

PropertyDescriptionValuesExample
repo
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
string
directory path Path within the repository to the configuration files✅ Required"terraform", "infra/terraform"
branch
string
Git branch Git branch to checkout and use for deployments✅ Required"main", "develop", "production"

connected_repo

PropertyDescriptionValuesExample
repo
string
repository identifier Identifier of the connected repository configured in the Nuon platform✅ Required"my-repo", "production-infrastructure"
directory
string
directory path Path within the repository to the configuration files✅ Required"terraform", "infra/terraform"
branch
string
Git branch Git branch to checkout and use for deployments✅ Required"main", "develop", "production"