feat(P61): L2 lifecycle pipeline — extend matrix + workflows + tests
Extend the modules-lifecycle pipeline with L2 composition modules (static-assets, microservice) per REQ-128: - pipelines/modules-lifecycle.yml: added l2-lifecycle-apply/modify/destroy stages + l2_modules matrix entry - .gitea/workflows/modules-lifecycle.yml + .github/workflows/modules-lifecycle.yml: added l2-lifecycle job (byte-identical), matrix over [static-assets, microservice], needs ci-vpc-apply, has apply/modify/destroy steps. ci-vpc-destroy now needs both [lifecycle, l2-lifecycle]. - schemas/modules-lifecycle-pipeline.schema.json: added l2_modules to matrix - scripts/run_l2_lifecycle_test.sh + run_l2_lifecycle_destroy.sh: L2 wrappers that set ACDL_REMOTE_STATE_KEY=spike/ci-vpc/terraform.tfstate so the microservice composition's terraform_remote_state reads from the CI VPC - adapters/terraform/adapter.py: parameterized remote_state key via ACDL_REMOTE_STATE_KEY env var (default: platform/terraform.tfstate) - modules/l2/static-assets/examples/complex.yml: fixed bucket_name to match simple (my-static-site) so terraform modifies in-place (adds CDN + WAF) - modules/l2/microservice/examples/complex.yml: fixed bucket_name to match simple (my-microservice-demo), added desired_count:2 (modify variant) - tests/test_pipeline_contract.py: 7 new L2 tests (l2 job exists, matrix lists both modules, apply/modify/destroy steps, needs ci-vpc-apply, ci-vpc-destroy needs both, contract matrix lists l2_modules) - pipelines/README.md: updated stages for L2 Regression: 485 passed, 5 deselected. Gitea + GitHub workflows byte-identical. ---ci--- project: acdl phase: P61 milestone: v1.11 status: execute ---/ci---
This commit is contained in:
@@ -1,15 +1,18 @@
|
||||
# Complex microservice with ALB + env vars + health check
|
||||
# Complex microservice with ALB + env vars + desired_count=2
|
||||
# Modify variant: same bucket_name/family/image as simple (in-place modify:
|
||||
# adds ALB, env vars, scales desired_count 1->2)
|
||||
environment: dev
|
||||
id: msvc
|
||||
infrastructure:
|
||||
microservice:
|
||||
inputs:
|
||||
bucket_name: my-production-microservice
|
||||
bucket_name: my-microservice-demo
|
||||
desired_count: 2
|
||||
env:
|
||||
ENVIRONMENT: production
|
||||
LOG_LEVEL: info
|
||||
image: public.ecr.aws/docker/library/nginx:latest
|
||||
port: 8080
|
||||
port: 80
|
||||
region: us-east-1
|
||||
version: 1.0.0
|
||||
name: microservice
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Complex static-assets deployment (S3 + CloudFront + WAF)
|
||||
# The full production stack: S3 origin + CloudFront CDN edge + WAF protection.
|
||||
# Modify variant: same bucket_name as simple (in-place modify, adds CDN + WAF)
|
||||
environment: dev
|
||||
id: assets
|
||||
infrastructure:
|
||||
static-assets:
|
||||
inputs:
|
||||
bucket_name: my-production-static-site
|
||||
bucket_name: my-static-site
|
||||
default_ttl: 3600
|
||||
max_ttl: 86400
|
||||
price_class: PriceClass_100
|
||||
|
||||
Reference in New Issue
Block a user