Container Image
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" |
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 | - |
aws_ecrAWSECRConfig | AWS ECR image configuration Configuration for pulling images from AWS Elastic Container Registry. Use when deploying images from private ECR repositories | Optional | - |
publicPublicImageConfig | public registry image configuration Configuration for pulling images from public container registries (Docker Hub, Quay.io, GCR, etc) | Optional | - |
build_timeoutstring | build operation timeout Duration string for build operations (e.g., “30m”, “1h”). Default: 15m. Max: 1h | Optional Default: "15m" | "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" |
aws_ecr
| Property | Description | Values | Example |
|---|---|---|---|
iam_role_arnstring | IAM role ARN for ECR access ARN of the IAM role with permissions to pull images from the ECR repository | ✅ Required | "arn:aws:iam::123456789012:role/ecr-pull-role" |
regionstring | AWS region for the ECR repository AWS region where the ECR repository is located | ✅ Required | "us-east-1", "us-west-2", "eu-west-1" |
image_urlstring | ECR image URL Full URL to the ECR image (without tag). Format: <account-id>.dkr.ecr.<region>.amazonaws.com/<repository-name>/<image-name> | ✅ Required | "123456789012.dkr.ecr.us-east-1.amazonaws.com/myapp/api", "123456789012.dkr.ecr.us-west-2.amazonaws.com/myapp/worker" |
tagstring | image tag Tag or version of the container image to deploy. Supports templating (e.g., {{.nuon.install.id}}) | ✅ Required | "v1.0.0", "latest", "{{.nuon.install.id}}" |
public
| Property | Description | Values | Example |
|---|---|---|---|
image_urlstring | container image URL Full URL to the container image from a public registry (Docker Hub, Quay.io, etc). Format: [registry/]<repository>/<image-name> | ✅ Required | "nginx:latest", "docker.io/library/postgres", "quay.io/myorg/myapp", "gcr.io/myproject/myapp" |
tagstring | image tag Tag or version of the container image to deploy. Supports templating (e.g., {{.nuon.install.id}}) | ✅ Required | "v1.0.0", "latest", "{{.nuon.install.id}}" |