docs(P20): specify phase 20 — consumer happy path + reusable deploy workflow (v1.5)

---ci---
project: acdl
phase: 20
milestone: v1.5
status: specify
---/ci---

Add v1.5 milestone to ROADMAP.md + REQUIREMENTS.md. Phase 20 covers
REQ-46 (README consumer model + mermaid + L3B/spike scrub), REQ-47
(generic CONSUMER_GUIDE.md + versioned uses: + consumer-scoped prereqs
+ run-time platform fetch), REQ-48 (zero-trust OIDC/ABAC credentials +
static-key override + daily rotation), REQ-49 (reusable byte-identical
deploy.yml Gitea+GitHub implementing pipelines/deploy.yaml), REQ-50
(contracts/static-asset.yaml @v1.4), REQ-51 (deploy-workflow conformance
tests). Update config.json milestone to v1.5.
This commit is contained in:
Jon Chery
2026-07-22 17:09:23 +00:00
parent e050e65158
commit 895a2f3806
78 changed files with 55 additions and 4297 deletions
+57
View File
@@ -0,0 +1,57 @@
# 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.
+51
View File
@@ -0,0 +1,51 @@
# l2-static-asset — S3 static asset (composition being redesigned)
> **Module kind:** L2 composition | **Version:** TBD | **Status:** Under redesign
A composition that references the `l1-s3` primitive to deploy a single
S3 bucket for static asset hosting.
**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 this L1 primitive:
| L1 module | Purpose | README |
|-----------|---------|--------|
| `l1-s3` | S3 bucket | [README](../l1/l1-s3/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
`l1-s3` directly. See the [l1-s3 README](../l1/l1-s3/README.md) for a
usage example.
## Compliance extension points
The composition will need to wire compliance resources when the
compliance milestone (GDPR, SOX, SOC2, HIPAA, DORA) lands:
- **KMS key** — shared encryption key for S3 SSE.
- **S3 access logs** — access logging to a separate audit bucket.
- **Object Lock** — 7-year immutable retention for evidence.
- **Public access block** — prevent data exfiltration.
See the [l1-s3 README](../l1/l1-s3/README.md) for per-module compliance
extension points.
## Versioning
Versioning will be defined when the composition mechanism is
redesigned.