d103a37419
---ci--- project: acdl phase: 14 milestone: v1.2 status: verify verdict: VERIFIED requirements: covered: [REQ-32] ---/ci--- Phase 14 plan-as-execute + verify. scripts/verify_phase14.sh green. l2-microservice composition (6 L1s, 2 wire kinds); contract schema extended (inputs allow objects + healthcheck); resolver extended (array-form wires, child->child refs, multi-resource L1 expansion); adapter extended (ref: interpolation translation). v1.2 IR: 11 resources. v1.1 S3 regression byte-identical. Ready to ship v1.2.4.
55 lines
2.3 KiB
JSON
55 lines
2.3 KiB
JSON
{
|
|
"name": "l2-microservice",
|
|
"version": "1.0.0",
|
|
"kind": "l2",
|
|
"depth": 1,
|
|
"description": "Thin-composition: an ECS Fargate microservice. References 6 L1s (vpc, cluster, ecr, roles, alb, service).",
|
|
"children": [
|
|
{"id": "vpc", "module": "l1-vpc@1.0.0"},
|
|
{"id": "cluster", "module": "l1-ecs-cluster@1.0.0"},
|
|
{"id": "ecr", "module": "l1-ecr@1.0.0"},
|
|
{"id": "roles", "module": "l1-iam-role@1.0.0"},
|
|
{"id": "alb", "module": "l1-alb@1.0.0"},
|
|
{"id": "service", "module": "l1-ecs-service@1.0.0"}
|
|
],
|
|
"wires": {
|
|
"name": [
|
|
{"target": "vpc", "input": "name"},
|
|
{"target": "cluster", "input": "name"},
|
|
{"target": "ecr", "input": "name"},
|
|
{"target": "alb", "input": "name"}
|
|
],
|
|
"cidr": {"target": "vpc", "input": "cidr"},
|
|
"azs": {"target": "vpc", "input": "azs"},
|
|
"image": {"target": "service", "input": "image"},
|
|
"port": [
|
|
{"target": "service", "input": "port"},
|
|
{"target": "alb", "input": "port"}
|
|
],
|
|
"cpu": {"target": "service", "input": "cpu"},
|
|
"memory": {"target": "service", "input": "memory"},
|
|
"env": {"target": "service", "input": "env"},
|
|
"protocol": {"target": "alb", "input": "protocol"},
|
|
"region": [
|
|
{"target": "vpc", "input": "region"},
|
|
{"target": "cluster", "input": "region"},
|
|
{"target": "ecr", "input": "region"},
|
|
{"target": "roles", "input": "region"},
|
|
{"target": "alb", "input": "region"},
|
|
{"target": "service", "input": "region"}
|
|
],
|
|
"role_name": {"target": "roles", "input": "role_name"},
|
|
"assume_role_policy": {"target": "roles", "input": "assume_role_policy"},
|
|
"managed_policies": {"target": "roles", "input": "managed_policies"},
|
|
"cluster_arn": {"target": "service", "input": "cluster_arn", "source": "child:cluster.cluster_arn"},
|
|
"subnet_ids": [
|
|
{"target": "service", "input": "subnets", "source": "child:vpc.subnet_ids"},
|
|
{"target": "alb", "input": "subnets", "source": "child:vpc.subnet_ids"}
|
|
],
|
|
"target_group_arn": {"target": "service", "input": "lb_target_group_arn", "source": "child:alb.target_group_arn"},
|
|
"role_arn": [
|
|
{"target": "service", "input": "security_group", "source": "child:roles.role_arn"},
|
|
{"target": "alb", "input": "security_group", "source": "child:roles.role_arn"}
|
|
]
|
|
}
|
|
} |