361fe600a9
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---
20 lines
706 B
Bash
Executable File
20 lines
706 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# scripts/run_l2_lifecycle_destroy.sh — run a single L2 module lifecycle destroy.
|
|
#
|
|
# Usage: run_l2_lifecycle_destroy.sh <module> [ci-vpc-outputs.json]
|
|
#
|
|
# Wraps run_platform.sh for L2 composition modules in the modules-lifecycle
|
|
# pipeline. Sets ACDL_REMOTE_STATE_KEY to point to the CI VPC state.
|
|
set -euo pipefail
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT"
|
|
|
|
MODULE="$1"
|
|
|
|
CONTRACT="modules/l2/${MODULE}/examples/complex.yml"
|
|
|
|
# Point terraform_remote_state to the CI VPC state (not the platform VPC)
|
|
export ACDL_REMOTE_STATE_KEY="spike/ci-vpc/terraform.tfstate"
|
|
|
|
# Run the platform lifecycle destroy command
|
|
bash scripts/run_platform.sh --destroy "$CONTRACT" |