Jon Chery
|
031887ec56
|
refactor(P57): contract surface redesign + rename + .yml repo-wide
Contract surface redesign:
- New top-level fields: id (3-6 char acronym → stack.name), name (full → stack.title),
infrastructure (map keyed by module name, replaces module:)
- Drop uses: field (dead reference; version pin lives in CI workflow uses: line)
- Drop top-level module/inputs (now nested under infrastructure map)
- Per-module optional version (defaults to latest published from registry)
- Multi-module contracts: one file deploys N modules in one pipeline run,
resource IDs namespaced with module name to avoid collisions
- stack.schema.json: add optional title field for display name
Rename:
- pipelines/deploy.yaml → pipelines/contract.yml (declarative spec, not a pipeline)
- pipelines/ci.yaml → pipelines/ci.yml
- All 44 .yaml files → .yml repo-wide (contracts, module examples, kyverno policies)
- .acdl/contract.yaml → .acdl/contract.yml
Resolver (core/contract_resolver.py):
- Rewrite resolve() to loop infrastructure map, default version to latest,
merge module fragments into one stack with namespaced resource IDs
- _latest_version() picks highest non-deprecated from registry
- _namespace_resources() prefixes IDs + rewrites ref: expressions for multi-module
- Single-module path: unprefixed IDs (backward compatible)
Verification:
- 494 tests pass (0 contract-shape failures)
- Local E2E passes (contract → resolver → adapter → local ECS HTTP 200 → outbox)
---ci---
project: acdl
phase: 57
milestone: v1.10.2
status: execute
---/ci---
|
2026-07-27 21:37:40 +00:00 |
|
Jon Chery
|
491ba78768
|
feat(P33): uptime-kuma primitive + deploy-uptime pipeline stage (REQ-88..91)
---ci---
project: acdl
phase: 33
milestone: v1.8
status: execute
---/ci---
- New uptime L1 primitive (aws:ecs:uptime-service) deploying uptime-kuma
on ECS Fargate with feature_flag_enabled, monitored_endpoints,
static_checks, alert_channels (Teams/email/SMS/GitHub issues).
- Adapter emits ECS Fargate task + service when feature_flag_enabled=true;
emits nothing when false. Container image louislam/uptime-kuma:1.
- New deploy-uptime pipeline stage in pipelines/deploy.yaml (after
publish-outputs, before comment-outputs). Now 9 stages.
- run_platform.sh --deploy-uptime flag + automatic uptime deployment
after L2 module (separate state $WORK/uptime-tf). Endpoints from L2
outputs passed as monitored_endpoints. Feature flag from
inputs.uptime_enabled (default true).
- scripts/seed_uptime_monitors.py for post-deploy monitor seeding via
uptime-kuma API.
- Registered in registry.json (14 modules total).
Tests: +6 (312 -> 318). All pass.
|
2026-07-22 22:15:35 +00:00 |
|