> ## 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 pulumi configuration

# Pulumi

# Pulumi

## 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**<br />`"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"` |
| **`runtime`**<br />string                                        | Pulumi runtime The Pulumi runtime to use for the program (go, nodejs, python)                                                                                                                             | **✅ Required**                       | `"go"`, `"nodejs"`, `"python"`             |
| **`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**                         | -                                          |
| **`kubernetes_context`**<br />string                             | kubernetes context binding Optional. Name of a kubernetes\_context defined at the app level. If set, the component targets the cluster produced by that context's source component. If omitted, the co... | **Optional**                         | `"data-cluster"`                           |
| **`pulumi_version`**<br />string                                 | Pulumi version Version of the Pulumi CLI to use for deployments. If not specified, uses the latest version                                                                                                | **Optional**                         | `"3.100.0"`                                |
| **`config`**<br />object                                         | Pulumi stack config Map of Pulumi stack configuration values as key-value pairs. Supports templating. Keys use the format 'namespace:key' (e.g., 'aws:region')                                            | **Optional**                         | -                                          |
| **`env_vars`**<br />object                                       | environment variables Map of environment variables passed to Pulumi as key-value pairs                                                                                                                    | **Optional**                         | -                                          |
| **`public_repo`**<br />[PublicRepoConfig](#public_repo)          | public repository configuration Configuration for a public repository accessible without authentication                                                                                                   | **Optional**                         | -                                          |
| **`connected_repo`**<br />[ConnectedRepoConfig](#connected_repo) | connected repository configuration Configuration for a private repository connected to the Nuon platform                                                                                                  | **Optional**                         | -                                          |
| **`drift_schedule`**<br />string                                 | drift detection schedule Cron expression for periodic drift detection. If not set, drift detection is disabled. Supports templating                                                                       | **Optional**                         | `"0 2 * * *"`                              |
| **`build_timeout`**<br />string                                  | build operation timeout Duration string for build operations (e.g., "30m", "1h"). Default: 5m. Max: 1h                                                                                                    | **Optional**<br />Default: `"5m"`    | -                                          |
| **`deploy_timeout`**<br />string                                 | deploy operation timeout Duration string for deploy operations (e.g., "30m", "1h"). Default: 60m. Max: 1h                                                                                                 | **Optional**<br />Default: `"60m"`   | -                                          |
| **`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"`      |
