Skip to main content
The Terraform install stack provisions the runner in your customer’s cloud account. When an install uses a Terraform stack, the await install stack step in the dashboard generates two tfvars files — inputs.auto.tfvars and secrets.auto.tfvars — and this guide walks through applying them with the Terraform CLI. This works for every Terraform install stack — AWS and GCP. The stack is the public nuonco/install-stacks module, with a directory per cloud (aws/, gcp/).

Prerequisites

  • Install Terraform — install Terraform. The required version is shown on the await install stack step in the dashboard.
  • Authenticate to your cloud — configure credentials for the target cloud so Terraform can provision resources — for example the AWS CLI / a configured profile or gcloud application-default credentials. The identity must have permission to create the stack’s resources in the target account.

Provision the stack

1

Clone the install stack module

Clone the repo and enter the directory for your cloud (aws or gcp):
git clone https://github.com/nuonco/install-stacks.git
cd install-stacks/<cloud>
2

Configure remote state (recommended)

Store Terraform state in a remote backend so it survives and can be shared. Create a backend.tf in the cloud directory pointing at a bucket or container you control — for example, GCS:
terraform {
  backend "gcs" {
    bucket = "<your-state-bucket>"
    prefix = "nuon/<install-id>"
  }
}
Use the equivalent backend for your cloud (s3 for AWS). See the Terraform backend docs.
3

Save the install configuration

From the dashboard’s await install stack step, copy or download the two generated files into the cloud directory:
  • inputs.auto.tfvars — install identity, runner settings, operation roles, and install inputs.
  • secrets.auto.tfvars — secrets and auto-generated secret declarations.
Both use the .auto.tfvars suffix, so Terraform loads them automatically — no -var-file flag needed.
4

Apply with Terraform

Initialize and apply:
terraform init && terraform apply
This provisions the runner in your customer’s cloud account. Once it’s up, the install continues.