Files
acdl/modules/l1/ecs-cluster
Jon Chery 553caf8f1d docs(P21): rewrite README + normalize modules terminology (REQ-52,55,56,57,58,59,60)
---ci---
project: acdl
phase: 21
milestone: v1.6
status: execute
---/ci---

README.md rewrite:
- Remove all .ciagent/ references (links + repository-layout row).
- Remove .gitea/workflows/ row from repository layout.
- Restate repository roles: consumer repo = app code + 1+ contracts +
  CI definitions (thin .github/workflows/*.yml uses:-ing the central
  workflow); platform repo owns modules/adapters/core/schemas/pipelines/
  scripts/workflows.
- Replace Status section with Features list (consumer + platform-engineer
  referenceable) + Roadmap (planned only, no version changelog, no
  internal CIAgent status). Includes the composition-redesign roadmap
  entry (dynamic module creation from a contract).
- Fix the mermaid flowchart: all node text visible (short multi-line
  labels via <br/>), add a security-checks stage before policy checks,
  do not name specific tools (security checks/policy checks/infrastructure
  plan via adapter), add infrastructure-apply stage (dev only, after
  evidence event).
- Remove the environments table (dev/qa/prod/dr) completely; point to
  docs/environments/ for platform-managed environments.
- Credentials section: remove go-gitea/gitea#36988 blocked mention +
  waivers D-039/D-047 language. State OIDC+ABAC default; alternative is a
  static AWS key (GitHub Secrets for platform-runner runs, .env.secrets
  locally) with daily rotation (platform-managed) or out-of-band rotation
  (consumer-managed for local .env.secrets).
- forge -> platform runners / platform-managed throughout.
- Links point to docs/ Pages paths, not .ciagent/.

modules/ terminology:
- modules/README.md: L1 primitives -> primitives, L2 compositions ->
  modules, composition -> pattern (prose); add roadmap note for the
  composition redesign.
- README-TEMPLATE.md: L1 primitive -> primitive.
- All 7 L1 READMEs: L1 primitive -> primitive.
- L2 static-asset + microservice READMEs: L2 composition -> module
  pattern, composition -> pattern, L1 -> primitive; bump stale @v1 ->
  @v1.4 in usage examples; fix CONSUMER_GUIDE.md -> consumer-guide.md
  link.

Verification: grep sweeps for .ciagent/.gitea/forge/go-gitea/waiver/
D-039/D-047/acdl_platform in docs/ README.md modules/ contracts/ all
return 0 hits. Tests: 166 pass. run_ci.sh green.
2026-07-22 18:26:00 +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.