Files
acdl/modules-ir/l1/l1-ecs-cluster
Jon Chery 3508671377 refactor(modules): remove thin-composition layer; rewrite all module READMEs
The L2 thin-composition layer (composition.json + contract_resolver.py +
contract schema + sample contracts) has been removed completely. The
implementation was unsatisfactory and is deferred for a later redesign.

- Delete: composition.json x2, contract_resolver.py, contracts/ x2,
  contract.schema.json
- Patch: run_platform.sh now loads a pre-existing IR instance instead of
  resolving a contract (the downstream adapter/checkov/confidence/outbox
  pipeline is unchanged)
- Prune: L2 entries removed from registry.json (L1 entries unchanged)
- Rewrite: all 7 L1 module READMEs in plain language (no jargon), each
  with Resources/Inputs/Outputs/Usage/Compliance-extension-points/Versioning
  sections derived from interface.json
- Add: 2 L2 placeholder READMEs noting the composition is under redesign
- Add: modules-ir/README.md catalog index + README-TEMPLATE.md

---ci---
project: acdl
phase: 17
milestone: v1.3
status: execute
---/ci---
2026-07-22 13:54:40 +00:00
..

l1-ecs-cluster — ECS Fargate cluster

Module kind: L1 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 l1-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": "l1-ecs-cluster@1.0.0",
  "inputs": {
    "name": "acdl-microservice",
    "region": "us-east-1"
  }
}

The cluster_arn output is referenced by l1-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.