Skip to main content

Inputs

Inputs are defined in an inputs.toml file in the root of your app directory:
inputs.toml
Use inputs in sandbox or component config:
sandbox.toml

Customer-Facing Inputs

By default, inputs are vendor-facing and set through the dashboard. To allow customers to set an input directly through the install stack (CloudFormation, Azure Resource Manager (Bicep), Terraform), mark it as user_configurable:
inputs.toml
Customer-facing inputs can only be modified by the customer through the install stack. Changes trigger redeployment of dependent components.

Input Groups

Inputs can be organized into groups to control how they are displayed in the dashboard during install creation:
inputs.toml

Variables

Variables are managed through the CLI:
Variables are accessed in config using {{ .nuon.app.variables.<variable-name> }}.
If you add or update a variable after an install has been created, the install’s state must be refreshed before the new value is available. Running a deploy or sandbox provision triggers a state update.

Secrets

Secret metadata is defined in a secrets.toml file. The actual values are entered by the customer when deploying the install stack:
secrets.toml
Setting [[secret.kubernetes_sync_targets]] syncs the secret as a Kubernetes Secret object after sandbox provisioning, using the details provided. This approach allows for easy definition of secrets in whatever shape is desired and enables reflection of secrets across different namespaces. We support multiple [[secret.kubernetes_sync_targets]] entries. We also support the following method which is less flexible:
secrets.toml
This approach creates or upserts the secret into a secret with the secret in a value key.

Using Secrets in Components

Secrets are referenced as outputs from the install stack:
components/database.toml
In Helm charts, reference the synced Kubernetes secret:
deployment.yaml

Changing Secrets

If you change a secret value outside of Nuon (e.g., directly in AWS Secrets Manager), Nuon will not detect the change. You will need to reprovision the install or manually redeploy dependent components. If secrets are configured to sync with Kubernetes, use the “sync secrets” option in the dashboard.