Skip to content

Outputs

Rod Christiansen edited this page Oct 8, 2026 · 3 revisions

Outputs

Every output on the root module, from outputs.tf.

Name Value Notes
api_url http://<alb-dns>/api Literal http:// prefix, built from the ALB DNS name regardless of whether TLS is configured. Port 80 only redirects to 443, so a client must follow that redirect. The root module appends /v1/negotiate to this for the messaging module.
frontend_url http://<alb-dns> Same caveat about the scheme.
ecr_api_repository_url ECR repository URI for API images Repository name is <project_name>-api.
ecr_frontend_repository_url ECR repository URI for frontend images Repository name is <project_name>-frontend.
database_endpoint RDS endpoint, i.e. host:port Private; not reachable from outside the VPC.
database_name RDS database name Defaults to reportmate.
ingest_queue_url SQS ingest queue URL Queue is created but not wired into any container by this module.
storage_bucket_name S3 bucket name <project_name>-<environment>-storage.
cognito_user_pool_endpoint Cognito user pool OIDC endpoint Use as the OIDC issuer.
cognito_client_id Cognito app client id The client secret is not a root output; read it from Secrets Manager at <project>-<env>/cognito-client-secret.
websocket_url API Gateway WebSocket stage invoke URL The production stage.
ecr_maintenance_repository_url ECR repository URI for the maintenance image Repository name is <project_name>-maintenance.
demo_loop_ecr_repository_url ECR repository URI for demo-loop images, else null Wrapped in try(); null when enable_demo_loop = false.
demo_loop_service_name Demo-loop ECS service name, else null Same.
region The value of var.region Echoed so the shell scripts can read it back with terraform output -raw region.

Not exported

Several values you may expect are only available inside submodules or from Secrets Manager (every submodule output is listed on Submodules):

  • The ECS cluster name and the API/frontend service names. Reconstruct them as <project_name>-<environment>-cluster, -api, -frontend.
  • The ALB zone id (needed for a Route 53 alias record). It is a containers module output but is not re-exported at the root.
  • Every secret ARN.
  • The generated NextAuth secret. It is marked sensitive in the auth module and not surfaced at the root; the frontend reads it from Secrets Manager.

Bootstrap module outputs

bootstrap/ is a separate root module with its own three outputs, used to fill in backend.hcl:

Name Value
state_bucket <project_name>-terraform-state
lock_table <project_name>-terraform-lock
region The bootstrap module's var.region

Clone this wiki locally