Files
acdl/modules/l1/uptime/terraform/main.tf
T
Jon Chery 0ca383dae6 feat(P4): transparent terraform + feature flags + run_platform.sh split (REQ-233..238)
Create run_codegen.sh (pre-TF: env check, validate, resolve, adapt).
Create run_postapply.sh (post-TF: Checkov, confidence, HITL, outbox, SSM, uptime).
Add variable 'enabled' (bool, default true) + count=var.enabled?1:0 to all 12
L1 modules (alb, cloudfront, ecr, ecs-cluster, ecs-service, iam-role, kms-key,
rds, s3, uptime, vpc, waf). Fix all cross-resource references with [0] indexing.
Update interface.json for all modules to declare 'enabled' input.
Fix stale artifact path /tmp/acdl_platform_run_v18 → /tmp/nova_platform_run (REQ-238).
run_platform.sh remains as backward-compat shim for local-dev usage.

---ci---
project: acdl
phase: 4
milestone: v1.20
status: execute
requirements: [REQ-233, REQ-234, REQ-235, REQ-236, REQ-237, REQ-238]
---/ci---
2026-08-07 18:49:56 +00:00

25 lines
823 B
Terraform

resource "aws_ecs_task_definition" "uptime" {
family = "nova-uptime"
cpu = tostring(var.cpu)
memory = tostring(var.memory)
requires_compatibilities = ["FARGATE"]
network_mode = "awsvpc"
container_definitions = local.container_definitions
}
resource "aws_ecs_service" "uptime" {
name = "nova-uptime"
cluster = local.cluster_ref
task_definition = aws_ecs_task_definition.uptime.arn
desired_count = var.enabled ? (var.feature_flag_enabled ? 1 : 0) : 0
launch_type = "FARGATE"
dynamic "network_configuration" {
for_each = length(local.subnet_list) > 0 ? [1] : []
content {
subnets = local.subnet_list
security_groups = local.sg_list
assign_public_ip = true
}
}
}