Pipeline contract
Define these inputs before writing YAML:
Target runtime credentials belong to Cloud Adapter. Do not copy them into the build system.
Recommended stages
- Validate: pin and print non-secret tool versions; validate configuration offline.
- Read-only smoke test: prove DNS, TLS, authentication, adapter routing, and one covered read.
- Preview: produce a plan or preview artifact for review.
- Approval: require a human or policy gate before mutation in shared environments.
- Apply: create one uniquely named resource with bounded timeouts and concurrency.
- Verify: check both the origin-shaped response and native target state.
- Expected failure: exercise one not-found or validation path and retain request identifiers.
- Cleanup: remove only resources carrying the run’s unique namespace.
- Publish evidence: versions, redacted configuration, request IDs, verification result, and cleanup result.
Example smoke-test job
AWS_ENDPOINT_URL_S3 routes only S3 clients in the job to Cloud Adapter; it does not redirect other AWS services. Add a target-native, read-only verification step from the matching route quickstart before cleanup when the pipeline has a target verification identity. Use the CI system’s workload identity or secret store for origin credentials. Never echo environment variables or enable shell tracing around credential and signed-request setup.
Retry and concurrency rules
- Bound automatic retries. A timed-out mutation may already have reached the target.
- Serialize tests that share a fixed resource name.
- Prefer a unique prefix per run and exact cleanup over broad bucket deletion.
- Make cleanup idempotent and run it after partial failure.
- Keep verification read-only and independent from the origin client when possible.