Files
acdl/modules/l1/ecs-cluster
Jon Chery 4bd07a4fae feat(P27): validated per-module examples (D-058) + schema glob fix
Add modules/<name>/examples/ directories with simple.yaml + complex.yaml
(+ mysql.yaml for RDS) for every primitive and module pattern. All 25
example contracts validate against schemas/contract.schema.json. Update
the contract schema to allow object/array input values (for env vars).
Fix the platform-test schema-validation glob to modules/*/*/examples/*.yaml
to match the nested l1/l2 path structure. Update the microservice sample
contract note (env objects now permitted by the schema).

---ci---
project: acdl
phase: 27
milestone: v1.7
status: execute
---/ci---
2026-07-22 20:22:45 +00:00
..

ecs-cluster — ECS Fargate cluster

Module kind: primitive | Version: 1.0.0

An ECS Fargate cluster. The simplest ECS module — one resource, two inputs, two outputs. The cluster is the container orchestration boundary that ecs-service references for task placement.

Resources

Resource Type Purpose
cluster aws_ecs_cluster The ECS Fargate cluster

Inputs

Name Type Required Default Description
name string yes The ECS cluster name
region string yes AWS region the cluster is created in

Outputs

Name Type Description
cluster_arn arn The ECS cluster ARN
cluster_id string The ECS cluster id (name)

Usage

{
  "id": "cluster",
  "type": "aws:ecs:cluster",
  "module": "ecs-cluster@1.0.0",
  "inputs": {
    "name": "acdl-microservice",
    "region": "us-east-1"
  }
}

The cluster_arn output is referenced by ecs-service as its cluster_arn input.

Compliance extension points

  • Container Insights — add configuration { container_insights = "enabled" } for observability (SOC2 CC7.3, DORA ICT risk monitoring).
  • CloudWatch Logs — add a log group with retention policy for cluster-level audit logs (SOX, SOC2 CC7.2, HIPAA §164.312(b)).
  • Encryption — add settings { name = "containerInsights", value = "enabled" } and KMS-based encryption for container data (HIPAA §164.312(a)(2)(iv), GDPR Art.32).

Versioning

1.0.0 — interface MAJOR, behavior MINOR, lifecycle PATCH. MAJOR bumps require a new registry entry (immutable publication); old entries enter a 12-month deprecation window.