Generated and conditional inputs
Stack inputs can now be generated, and they can depend on another answer.
generate creates a random secret once per deployment:
signingSecret: alien.secret({
providedBy: "developer",
required: true,
label: "Signing secret",
generate: { length: 64 },
env: "ACME_SIGNING_SECRET",
}),The value is reused across every update. Use it for values nobody should type, like a signing key shared between the deployment and your backend. A value you provide replaces it.
when asks a question only when a yes or no input says so:
snapshotsBucket: alien.string({
providedBy: "deployer",
required: true,
label: "Snapshots bucket",
when: { input: "snapshotsEnabled", equals: true },
}),An inactive input is skipped: it isn't required, isn't validated, and sets no environment variable. The setup page, the CLI, CloudFormation, Terraform, and Helm all follow the same rule.
- Inputs at registration: a deployment set up with the CLI can answer inputs when it registers
- Terraform: conditional inputs need Terraform 1.9 or newer