3508671377
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---
57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
# l2-microservice — ECS Fargate microservice (composition being redesigned)
|
|
|
|
> **Module kind:** L2 composition | **Version:** TBD | **Status:** Under redesign
|
|
|
|
A composition that references multiple L1 primitives to deploy an ECS
|
|
Fargate microservice end-to-end (VPC, cluster, ECR, IAM role, ALB,
|
|
ECS service).
|
|
|
|
**The composition layer is being redesigned.** The previous
|
|
thin-composition implementation (a `composition.json` with children +
|
|
wires) has been removed. A new composition mechanism will be designed
|
|
in a later phase.
|
|
|
|
## Resources
|
|
|
|
TBD — the composition will reference these L1 primitives:
|
|
|
|
| L1 module | Purpose | README |
|
|
|-----------|---------|--------|
|
|
| `l1-vpc` | VPC, subnets, routing | [README](../l1/l1-vpc/README.md) |
|
|
| `l1-ecs-cluster` | ECS Fargate cluster | [README](../l1/l1-ecs-cluster/README.md) |
|
|
| `l1-ecr` | ECR image repository | [README](../l1/l1-ecr/README.md) |
|
|
| `l1-iam-role` | IAM task execution role | [README](../l1/l1-iam-role/README.md) |
|
|
| `l1-alb` | Application Load Balancer | [README](../l1/l1-alb/README.md) |
|
|
| `l1-ecs-service` | ECS task definition + service | [README](../l1/l1-ecs-service/README.md) |
|
|
|
|
## Inputs
|
|
|
|
TBD — will be defined when the composition mechanism is redesigned.
|
|
|
|
## Outputs
|
|
|
|
TBD — will be defined when the composition mechanism is redesigned.
|
|
|
|
## Usage
|
|
|
|
TBD — the composition mechanism is being redesigned. Until then, use
|
|
the L1 primitives directly. See each L1 module's README for usage
|
|
examples.
|
|
|
|
## Compliance extension points
|
|
|
|
The composition will need to wire compliance resources across L1s
|
|
when the compliance milestone (GDPR, SOX, SOC2, HIPAA, DORA) lands:
|
|
|
|
- **KMS key** — shared encryption key referenced by S3, ECR, CloudWatch Logs, and Secrets Manager.
|
|
- **CloudTrail** — management-plane audit trail for the entire stack.
|
|
- **VPC Flow Logs** — network audit trail.
|
|
- **Security groups** — proper network segmentation between ALB, service, and data tiers.
|
|
- **Private subnets** — ECS tasks in private subnets with NAT egress.
|
|
|
|
See each L1 module's README for per-module compliance extension points.
|
|
|
|
## Versioning
|
|
|
|
Versioning will be defined when the composition mechanism is
|
|
redesigned. |