docs/get-started/quickstart-aws.md

Quickstart: AWS

The reference production path is one OpenTofu module, vocion-stack, applied in your AWS account. It builds the network, load balancer with WAF, one EC2 host, RDS Postgres 16, a KMS key for the credential vault, Secrets Manager entries, AWS Backup and alarms. Models run on Amazon Bedrock by default.

The module lives at infra/terraform/modules/vocion-stack in vocion-core. Check that the release you pin contains it; see Deploy on AWS.

1. Write a root module

module "vocion" {
  source = "./vocion-core/infra/terraform/modules/vocion-stack"

  name_prefix     = "northwind-vocion"
  azs             = ["us-east-1a", "us-east-1b"]
  hostname        = "agents.northwind.example"
  route53_zone_id = "Z0123456789EXAMPLE"
  core_ref        = "v5.0.0"          # a release tag or a 40-character commit, never a branch

  app_env = {
    VOCION_SCHEDULE_OWNER           = "1"   # the module does not set it; schedules need it
    VOCION_ENFORCE_WORKSPACE_ACCESS = "1"
    LANGFUSE_ENABLED                = "false"
  }
}

2. Apply and finish the first deploy

tofu init && tofu apply

Then, in order (each step is spelled out in Deploy on AWS):

  1. Put the app's secrets (AUTH_SECRET, VOCION_TOOL_SIGNING_SECRET, model keys) into the app_env_secret_name secret.
  2. Through an SSM port-forward, enable vector and create the vocion_app database role; store its login in rds_app_secret_name.
  3. Run the deploy: $(tofu output -raw deploy_command).
  4. Create the first admin with npm run user:create on the host.

Next