secrets.toml and incorporated in the CloudFormation stack deployed by the customer. This allows the customer to enter values when clicking on the stack link provided by the vendor, during the initial step of an install where the runner is created as a VM. Secrets are then stored in the user’s AWS Secrets Manager.
Because the customer creates the CloudFormation stack from that Nuon-generated
CloudFormation template using their cloud credentials, the customer (not the vendor) can enter the secret values at that time. Nuon nor the vendor will never see the secret values, as they are not stored in the Nuon data plane.
How do you configure a secret?
Within your app directory, create a file namedsecrets.toml. This file will
contain the configuration for your secrets. Alternatively, you can create a
directory named secrets and place individual Secret files inside it, such as
github_app_key.toml, vendor_license_key.
secrets.toml
kubernetes_sync = true to indicate that the secret
should be synced to Kubernetes as a Secret object. The
kubernetes_secret_namespace and kubernetes_secret_name fields specify where
the secret will be created in Kubernetes.
This workflow step is run after the provisioning of a Kubernetes sandbox and uses the key of value when creating the Kubernetes secret.
Configuring components with secrets
Reference the secrets from AWS Secrets Manager as outputs from the CloudFormation stack, and then use them in your component config.Terraform components with secrets
components/open_webui.toml
Helm components with secrets
components/my-component
values.yaml
value key in the Helm chart template.
deployment.tpl
Configuring actions with secrets
Reference the secrets from AWS Secrets Manager as outputs from the CloudFormation stack, and then use them in your actions config. In this example, the secret is assigned to an action environment variable and then referenced in a script. Note the script is stored in thesrc directory of the app.
actions/rds_secrets.toml
src/rds_secrets/import.sh
Changing Secrets Outside of the App
If you need to change a secret value outside of the app, e.g., in AWS Secrets Manager or update the CloudFormation stack, understand that Nuon will not detect the change. In order for Nuon to be aware of the change, you will have to either reprovision the install or review the dependency graph in the dashboard and manually redeploy the components or actions that depend on the secret. If your secrets are configured to sync with Kubernetes, go to the install dashboard and manually select sync secrets in the Manage drop-down.If you have a use case for working with secret values not covered here,
Please contact us.