fix: source STACKIT storage-bucket e2e credentials from environment#233
Conversation
The storage-bucket e2e harness's platform-team provider hardcoded service_account_key = var.stackit_service_account_key. Drop the variable and the explicit argument so the STACKIT provider discovers credentials from the environment instead: STACKIT_SERVICE_ACCOUNT_KEY_PATH for local development and WIF in CI. Passing an explicit null argument otherwise overrides that discovery and confuses the CI environment. The building block and backplane already authenticate via WIF; this only touches the test harness. experiments = ["iam"] stays because the inherited backplane provisions IAM resources. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Scorecard Check
📊 meshstack-hub Module Scorecard
📋 Per-Module Category SummaryScore per category per building block.
Core Structure — ✅ all passingBasic module file structure and documentation — applies to 1 modules
Core Structure — Summary
Integration — ✅ all passingmeshstack_integration.tf conventions — applies to 1 modules
Integration — Summary
Azure Backplane — not applicableAzure UAMI-based automation principal conventions — applies to 0 modules No applicable modules. STACKIT Backplane — ✅ all passingSTACKIT WIF-based automation principal conventions — applies to 1 modules
STACKIT Backplane — Summary
Testing — ✅ all passingEnd-to-end test coverage — applies to 1 modules
Testing — Summary
|
|
This pull request is automatically being deployed by Amplify Hosting (learn more). |
What
The
stackit/storage-buckete2e harness's platform-team provider hardcodedservice_account_key = var.stackit_service_account_key. This drops the variable and the explicit argument so the STACKIT provider discovers credentials from the environment on its own:STACKIT_SERVICE_ACCOUNT_KEY_PATH(~/.stackit/credentials.json), per the standardized convention inmeshstack-smoke-test/setup-env.sh.Passing an explicit (possibly
null)service_account_keyargument overrides that env-based discovery and confused the CI environment.Why not a "WIF fix" to the building block
The building block (
buildingblock/provider.tf) and backplane already authenticate the STACKIT API via WIF (use_oidc = true+ federated identity providers). Only the e2e test harness used a service account key — as the platform-team credential to provision the ephemeral backplane. This change touches only that harness.experiments = ["iam"]stays because the inherited backplane provisions IAM resources (stackit_authorization_project_role_assignment,stackit_service_account_federated_identity_provider).Testing
Ran locally via
task hub:e2e:run MODULE=stackit/storage-bucket(build-from-source mode). The provider authenticated purely fromSTACKIT_SERVICE_ACCOUNT_KEY_PATH, provisioned the backplane, ordered a real building block, and the test passed: 1 passed, 0 failed.🤖 Generated with Claude Code