feat(P39): refresh design docs + parameterize adapter (P1-1)
---ci--- project: acdl phase: 39 milestone: v1.9 status: execute ---/ci--- Phase 39 — design-doc-refresh-and-p1-1-parameterization: Design docs (REQ-100, REQ-101): - hitl_matrix_design.md: 'dev-only spike'/'v1.2 wires the gates' framing replaced with v1.9 wired-gates reality; 8-concern matrix marked implemented (offline-testable subset + signed evidence artifacts, D-084); v1.9 wiring section cross-references hitl_gates.py + attestation_matrix.py; approver_dr noted. - audit_ledger_design.md: outbox marked shipped+production since v1.8; S3 Object Lock + JWS + async worker + DLQ + daily checkpoints clearly labeled 'Deferred to a future milestone (D-083)'; RPO/RTO table updated; approver fields note v1.9 hitl_gates.attest. P1-1 adapter parameterization (REQ-102, D-085): - ecs-service interface.json: desired_count (default 1), launch_type (FARGATE), family (app) inputs added. - alb interface.json: load_balancer_type (application), target_type (ip). - adapter.py: hardcoded defaults replaced with inputs.get(<name>, <default>); hardcoded 'acdl-microservice-rt'/'acdl-microservice-igw' Name tags derive from the VPC name input. - contract_resolver.py: child_input_map routes wires to the sub-resource that declares the input (desired_count → aws:ecs:service, family → aws:ecs:task_definition, target_type → targetgroup, etc.). - microservice composition.json: wires added for the new inputs. Tests: +21 (test_p1_1_adapter_parameterization.py, test_design_docs_current.py). 371 passed; run_ci.sh green; run_platform.sh --check-only green; v1.1 S3 regression preserved.
This commit is contained in:
@@ -36,6 +36,18 @@
|
||||
"type": "string",
|
||||
"description": "AWS region the load balancer is created in.",
|
||||
"required": true
|
||||
},
|
||||
"load_balancer_type": {
|
||||
"type": "string",
|
||||
"description": "Load balancer type (application or network).",
|
||||
"required": false,
|
||||
"default": "application"
|
||||
},
|
||||
"target_type": {
|
||||
"type": "string",
|
||||
"description": "Target group target type (ip or instance).",
|
||||
"required": false,
|
||||
"default": "ip"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
@@ -73,13 +85,13 @@
|
||||
{
|
||||
"type": "aws:elbv2:loadbalancer",
|
||||
"description": "Application load balancer in the VPC subnets.",
|
||||
"inputs": ["name", "subnets", "security_group"],
|
||||
"inputs": ["name", "subnets", "security_group", "load_balancer_type"],
|
||||
"outputs": ["lb_arn"]
|
||||
},
|
||||
{
|
||||
"type": "aws:elbv2:targetgroup",
|
||||
"description": "Target group for the ECS service tasks.",
|
||||
"inputs": ["name", "port", "protocol", "vpc_id"],
|
||||
"inputs": ["name", "port", "protocol", "vpc_id", "target_type"],
|
||||
"outputs": ["target_group_arn"]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -61,6 +61,24 @@
|
||||
"type": "string",
|
||||
"description": "ARN of the CMK for CloudWatch log group encryption; if absent, uses managed key.",
|
||||
"required": false
|
||||
},
|
||||
"desired_count": {
|
||||
"type": "number",
|
||||
"description": "Desired number of ECS task replicas (Fargate).",
|
||||
"required": false,
|
||||
"default": 1
|
||||
},
|
||||
"launch_type": {
|
||||
"type": "string",
|
||||
"description": "ECS launch type (FARGATE or EC2).",
|
||||
"required": false,
|
||||
"default": "FARGATE"
|
||||
},
|
||||
"family": {
|
||||
"type": "string",
|
||||
"description": "ECS task definition family name.",
|
||||
"required": false,
|
||||
"default": "app"
|
||||
}
|
||||
},
|
||||
"outputs": {
|
||||
@@ -89,13 +107,13 @@
|
||||
{
|
||||
"type": "aws:ecs:task_definition",
|
||||
"description": "Fargate task definition; the adapter jsonencodes image/port/env into container_definitions.",
|
||||
"inputs": ["image", "port", "cpu", "memory", "env"],
|
||||
"inputs": ["image", "port", "cpu", "memory", "env", "family"],
|
||||
"outputs": ["task_def_arn"]
|
||||
},
|
||||
{
|
||||
"type": "aws:ecs:service",
|
||||
"description": "Fargate service running the task definition in the cluster + subnets.",
|
||||
"inputs": ["cluster_arn", "subnets", "security_group", "lb_target_group_arn"],
|
||||
"inputs": ["cluster_arn", "subnets", "security_group", "lb_target_group_arn", "desired_count", "launch_type"],
|
||||
"outputs": ["service_arn"]
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user