App Inputs
App inputs allow you to define customer provided values that can be used to configure your app.
Inputs are used to collect customer provider values, for configuring your app.
Defining App Inputs
Add inputs to your app using the following configuration block
Configuration Using App Inputs
App inputs can be used to configure both sandboxes and components. All inputs are made available via variable configuration.
All inputs are accessed using {{.nuon.install.inputs.<input-name>}}
.
Configuring Sandboxes
You can configure sandboxes by using install inputs as var
s.
For example, to use the vpc_id
input, as a variable to configure the aws-eks-byovpc
sandbox:
Configuring Components
Depending upon the component type, you can use install inputs to configure components using Helm values, Terraform variables or environment variables.
To use inputs in a Terraform module.
To use inputs in a Helm chart.
To use inputs in a Docker image.
To use inputs in a Kubernetes job.
App Input Groups
You can organize inputs into groups, which are useful for structuring how they are visualized in the installer. By
default, all inputs are created in the default
group.
To create a group, and add an input to it, simply declare the group in your config or terraform and set the group
field on any input belonging to it.
App Inputs For Customer Resources
App inputs are commonly used to allow a customer to provide access to existing resources. For example, an input can be used for:
- accepting a database url, or database ID to connect to
- accepting a VPC ID to install an app into
- accepting a token to access a third party cloud provider or account
The nuon managed sandboxes offer “bring-your-own-vpc” options, where inputs are used to accept the ID of a customer managed VPC for installation.
You can even use app inputs to manage resources from third party cloud providers.
Updating Inputs
If you add a required input after an install is created, the inputs must be added to the install before it can process any new sandbox updates or component provision/deprovision jobs.
Currently, updating inputs is only supported via our api.
We recommend avoiding adding backwards incompatible input changes in the same app.