Cloud-SDK extraction — PR 5: drop in-core azure_blob backend (azure-sdk-for-go leaves go.mod)#675
Merged
Merged
Conversation
Deletes iac_state_azure.go and strips the azure_blob case + newAzureSharedKeyCredential from iac_module.go. backend: azure_blob now resolves an IaCStateBackend gRPC client from workflow-plugin-azure (>= v1.1.0). go mod tidy removes Azure/azure-sdk-for-go entirely — the audit script confirms zero azure-sdk references repo-wide. BREAKING: iac.state with backend: azure_blob now requires workflow-plugin-azure to be loaded. See docs/migrations. Rollback: revert this commit + go mod tidy restores the in-core backend and re-adds azure-sdk to go.mod; smoke-check with an azure_blob config.
The in-core azure_blob backend deletion removed Azure/azure-sdk-for-go from the root module, leaving the example submodule's go.mod/go.sum with orphaned indirect entries. Tidy removes them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR removes the in-core Azure Blob IaC state backend from workflow core, shifting backend: azure_blob to the external Azure plugin path and dropping Azure SDK dependencies from the root module.
Changes:
- Deleted the Azure Blob state store implementation and tests.
- Removed Azure SDK imports/dependencies from
iac_module.go,go.mod, andgo.sum. - Added migration documentation and a regression test for missing-plugin behavior.
Reviewed changes
Copilot reviewed 7 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
module/iac_state_test.go |
Adds missing-plugin regression coverage for azure_blob. |
module/iac_state_azure.go |
Deletes the in-core Azure Blob state backend. |
module/iac_state_azure_test.go |
Deletes Azure Blob backend unit tests. |
module/iac_module.go |
Removes Azure Blob construction and updates backend documentation. |
go.mod |
Removes Azure SDK module requirements. |
go.sum |
Removes Azure SDK-related checksums. |
docs/migrations/2026-05-14-cloud-sdk-extraction.md |
Adds migration guidance for Azure Blob backend users. |
Comments suppressed due to low confidence (1)
docs/migrations/2026-05-14-cloud-sdk-extraction.md:69
- This YAML example is not accepted by the current config type:
requires.pluginsdecodes into[]PluginRequirement, whose entries must be maps with at least anamefield. A scalar list item like- workflow-plugin-azurewill fail YAML unmarshalling instead of declaring the dependency.
To declare the dependency without auto-fetch:
```yaml
requires:
plugins:
- workflow-plugin-azure
</details>
Copilot review on #675: - The unsupported-backend error listed 'azure_blob' among the "use ..." suggestions, i.e. it suggested the value that just failed. Reword to separate in-core backends from plugin-provided backend guidance. - Migration doc's requires.plugins example used a scalar list item (- workflow-plugin-azure); requires.plugins decodes into []PluginRequirement whose entries need a `name:` key. Fixed to map form. - Sync the doc's quoted error block to the new wording. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
⏱ Benchmark Results✅ No significant performance regressions detected. benchstat comparison (baseline → PR)
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The payoff PR. Deletes the in-core
azure_blobIaC state backend now thatworkflow-plugin-azure v1.1.0serves it via theIaCStateBackendgRPC contract.Azure/azure-sdk-for-gois dropped fromworkflowcore'sgo.modentirely.module/iac_state_azure.go(+ its test); strip thecase "azure_blob":block +newAzureSharedKeyCredential+ theazblobimport frommodule/iac_module.go(thedefault:arm from the merged Task 8 now resolvesazure_blobfrom the plugin registry); fix the stale supported-backends doc comment.go mod tidyremovessdk/azcore+sdk/storage/azblob(+ transitive). Atomic — one commit, build green.docs/migrations/2026-05-14-cloud-sdk-extraction.md.BREAKING:
iac.statewithbackend: azure_blobnow requiresworkflow-plugin-azure≥ v1.1.0 loaded. The yamlbackend:value is unchanged;memory/filesystem/spaces/gcs/postgresare unaffected.Verification
git diff go.mod:azcore+azblob(+sdk/internal) removed; nothing spurious added.scripts/audit-cloud-symbols.sh --checkexit 0 — theazure-sdk-for-gosection has zero real imports (comment-only false positives only).unsupported backend "azure_blob" … or load the plugin), no panic; plugin-present (workflow-plugin-azure@v1.1.0indata/plugins/) → engine loads the plugin, populates the registry,IaCModule.Initconstructs a*module.grpcIaCStateStoreforazure_blob, server starts clean.go build ./.../go vet ./module/.../go test ./module/green.Scope Manifest
PR Count: 8 · Tasks: 19 · Status: Locked 2026-05-14T18:43:55Z
This is PR 5 —
Tasks 13, 14— branchfeat/cloud-sdk-extraction-p5-core. Basemain. Depends on PR 4 (workflow-plugin-azure v1.1.0, released) + PR 8 (#674, merged). Final PR of Phase A.Rollback: revert the commit +
go mod tidyrestores the in-core backend and re-adds azure-sdk. The two repo-wide pre-existing failures (TestFallbackRuns,TestInfraMultiEnv_E2E) are unrelated — see PR #668.🤖 Generated with Claude Code