autumn-cli 0.10.0

CLI tool for the Autumn web framework
# outputs.tf — generated by `autumn release init --target aws-ecs`

# Every `aws` CLI call in the deploy walkthrough and aws-deploy.yml targets
# this region explicitly (via AWS_REGION, both the env var the walkthrough
# exports and the repo variable aws-deploy.yml sources, both derived from
# this output) rather than relying on the operator's ambient CLI config,
# which may point somewhere else entirely. AWS_REGION, not
# AWS_DEFAULT_REGION: the AWS CLI documents AWS_REGION as taking precedence
# over AWS_DEFAULT_REGION when both are set, so exporting only the latter
# wouldn't override an operator's already-exported AWS_REGION.
output "region" {
  description = "AWS region `terraform apply` provisioned into — export as AWS_REGION (not AWS_DEFAULT_REGION, which AWS_REGION takes precedence over) before running any `aws` CLI command in the deploy walkthrough (aws-deploy.yml already sources the equivalent AWS_REGION repo variable)."
  value       = var.region
}

output "app_url" {
  description = "Public HTTPS URL of the deployed {{project_name}} service (the domain served by the ALB, not the ALB's own DNS name)."
  value       = "https://${var.domain_name}"
}

output "alb_dns_name" {
  description = "The ALB's own DNS name — useful for debugging when app_url isn't resolving yet (e.g. before Route 53 propagates)."
  value       = aws_lb.this.dns_name
}

output "ecr_repository_url" {
  description = "URL of the ECR repository (used by `docker push`/`docker login` and the aws-deploy.yml workflow)."
  value       = aws_ecr_repository.this.repository_url
}

output "ecs_cluster_name" {
  description = "Name of the ECS cluster containing the app service and one-shot migration task."
  value       = aws_ecs_cluster.this.name
}

output "ecs_service_name" {
  description = "Name of the ECS service running the app."
  value       = aws_ecs_service.this.name
}

output "app_task_family" {
  description = "Task definition family for the app — aws-deploy.yml registers new revisions under this family name."
  value       = aws_ecs_task_definition.app.family
}

output "migrate_task_family" {
  description = "Task definition family for the one-shot migration task — aws-deploy.yml registers a new revision and runs it via `aws ecs run-task` before deploying a new app revision."
  value       = aws_ecs_task_definition.migrate.family
}

output "private_subnet_ids" {
  description = "Private subnet IDs — required by `aws ecs run-task --network-configuration` for the migration task."
  value       = aws_subnet.private[*].id
}

output "ecs_tasks_security_group_id" {
  description = "Security group ID shared by the app service and migration task — required by `aws ecs run-task --network-configuration`."
  value       = aws_security_group.ecs_tasks.id
}

output "execution_role_arn" {
  description = "ARN of the ECS task execution role (image pull, logs, secrets injection) — grant the CI deploy role `iam:PassRole` on this ARN, per aws-deploy.yml's header comment."
  value       = aws_iam_role.execution.arn
}

output "task_role_arn" {
  description = "ARN of the ECS task role (the running app container's own AWS permissions) — grant the CI deploy role `iam:PassRole` on this ARN, per aws-deploy.yml's header comment."
  value       = aws_iam_role.task.arn
}