Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.nuon.co/llms.txt

Use this file to discover all available pages before exploring further.

Deploying an Example App

If you’re still designing your BYOC architecture, it is helpful to deploy a sample app. For the Customer VPC architecture, see byo-vpc in nuonco/example-app-configs.

Overview

The customer provides VPC and subnet IDs at deploy time, common when the customer prefers you use their VPC.

App config

Customer VPC is natively supported via the Nuon-generated CloudFormation template. Terraform deployments are also possible but require forking the published modules at install-stacks to add BYO-VPC inputs — see the Terraform section below.

CloudFormation

The vendor’s stack.toml references CloudFormation nested templates. Point vpc_nested_template_url at the byo-vpc/default template — it accepts existing VPC and subnet IDs as parameters instead of creating them:
stack.toml
vpc_nested_template_url    = "https://nuon-artifacts.s3.us-west-2.amazonaws.com/aws-cloudformation-templates/v0.4.0/byo-vpc/default/stack.yaml"
runner_nested_template_url = "https://nuon-artifacts.s3.us-west-2.amazonaws.com/aws-cloudformation-templates/v0.4.0/runner/asg/stack.yaml"
The customer enters VpcID, RunnerSubnetID, PublicSubnetIDs, and PrivateSubnetIDs in the CloudFormation Quick Create form.

Terraform

The default Terraform modules at install-stacks always create a fresh VPC — they don’t accept existing VPC or subnet IDs as inputs. To support Terraform deployments of this pattern, fork the module and add BYO-VPC variables — see Customizing Terraform Stack Templates.

Sandbox

Whichever format the customer deploys, the Stack reports the VPC and subnet IDs back to Nuon as install stack outputs. The vendor’s sandbox.toml wires them into the Sandbox so it attaches to the customer’s subnets instead of creating its own:
sandbox.toml
[vars]
vpc_id             = "{{.nuon.install_stack.outputs.vpc_id}}"
public_subnet_ids  = "{{.nuon.install_stack.outputs.public_subnets}}"
private_subnet_ids = "{{.nuon.install_stack.outputs.private_subnets}}"
runner_subnet_id   = "{{.nuon.install_stack.outputs.runner_subnet}}"