Kubernetes Manifest
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" |
namespacestring | Kubernetes namespace Kubernetes namespace where the manifest will be deployed. Supports template variables | ✅ Required | "default", "clickhouse", "{{.nuon.install.id}}" |
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 | - |
manifeststring | Kubernetes manifest Path to a YAML manifest file or inline manifest content for Kubernetes resources. Supports templating with variables like {{.nuon.install.id}}. Mutually exclusive with kusto… | Optional | "./manifests/deployment.yaml" |
kustomizeKustomizeConfig | Kustomize configuration Configuration for building manifests from a kustomize overlay. Mutually exclusive with manifest. Requires either public_repo or connected_repo | Optional | - |
public_repoPublicRepoConfig | public repository with kustomize source Configuration for a public Git repository containing kustomize overlays. Only valid when using kustomize, not inline manifests | Optional | - |
connected_repoConnectedRepoConfig | connected repository with kustomize source Configuration for a Nuon-connected private repository containing kustomize overlays. Only valid when using kustomize, not inline manifests | Optional | - |
drift_schedulestring | drift detection schedule Cron expression for periodic drift detection. If not set, drift detection is disabled | Optional | "0 2 * * *" |
build_timeoutstring | build operation timeout Duration string for build operations (e.g., “30m”, “1h”). Default: 5m. Max: 1h | Optional Default: "5m" | "30m", "1h" |
deploy_timeoutstring | deploy operation timeout Duration string for deploy operations (e.g., “30m”, “1h”). Default: 15m. Max: 1h | Optional Default: "15m" | "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" |
kustomize
| Property | Description | Values | Example |
|---|---|---|---|
pathstring | kustomization directory path Path to the kustomization directory, relative to the source root. | ✅ Required | "overlays/production", "." |
patchesarray | additional patch files Additional patch files to apply after kustomize build. | Optional | "patches/namespace.yaml" |
enable_helmboolean | enable Helm chart inflation Enable Helm chart inflation during kustomize build. | Optional | - |
load_restrictorstring | file load restrictor Controls how kustomize loads files. Options: none, rootOnly. Default: rootOnly. | Optional | "rootOnly", "none" |
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" |