Skip to content

fix(substrate): the capz snapshot-store identity holds Storage Blob Delegator on the account - #686

Merged
QuentinBisson merged 1 commit into
mainfrom
fix/capz-blob-delegator
Sep 25, 2026
Merged

QuentinBisson merged 1 commit into
mainfrom
fix/capz-blob-delegator

Conversation

@QuentinBisson

Copy link
Copy Markdown
Contributor

Problem

Substrate 1.1.0's golden tag copies the golden snapshot's objects server-side, and s3proxy signs the copy source with a user delegation SAS. Generating that key is an account-level action; the capz identity holds Storage Blob Data Contributor on the container only, so on glean every copy fails with AuthorizationPermissionMismatch and no AgentTemplate reaches Ready (giantswarm/giantswarm#37705).

Change

A second Crossplane-managed RoleAssignment gives the identity Storage Blob Delegator on the storage account, the role whose only action is generateUserDelegationKey. make verify-substrate-store asserts the assignment and its scope.

@circleci-architect

Copy link
Copy Markdown

Published Helm chart agent-platform

4.72.2-rdfd82c3at20260924235122hdfc9e2e
Chart agent-platform
Version 4.72.2-rdfd82c3at20260924235122hdfc9e2e
OCI reference oci://gsoci.azurecr.io/charts/giantswarm/agent-platform:4.72.2-rdfd82c3at20260924235122hdfc9e2e
Digest sha256:3f969aee2f133427167b714d87aaaf5a81a937c3270c089e3780d6766fc63ea8
Registry public — gsoci.azurecr.io
Git catalog giantswarm-test-catalog (index)
Pull this chart
helm pull oci://gsoci.azurecr.io/charts/giantswarm/agent-platform --version 4.72.2-rdfd82c3at20260924235122hdfc9e2e

Posted by architect-orb · build 13711 · commit dfc9e2e · updated in place on every push

@QuentinBisson
QuentinBisson marked this pull request as ready for review September 25, 2026 00:12
@QuentinBisson
QuentinBisson requested a review from a team as a code owner September 25, 2026 00:12
@circleci-architect

Copy link
Copy Markdown

Published Helm chart agent-platform-connectivity

4.72.2-rdfd82c3at20260924235122hdfc9e2e
Chart agent-platform-connectivity
Version 4.72.2-rdfd82c3at20260924235122hdfc9e2e
OCI reference oci://gsoci.azurecr.io/charts/giantswarm/agent-platform-connectivity:4.72.2-rdfd82c3at20260924235122hdfc9e2e
Digest sha256:229693eb66ae7e6fcfa3cbd11c59803f4d36684f68f056b1de3aed1f8436f014
Registry public — gsoci.azurecr.io
Git catalog giantswarm-test-catalog (index)
Pull this chart
helm pull oci://gsoci.azurecr.io/charts/giantswarm/agent-platform-connectivity --version 4.72.2-rdfd82c3at20260924235122hdfc9e2e

Posted by architect-orb · build 13712 · commit dfc9e2e · updated in place on every push

@QuentinBisson
QuentinBisson merged commit b583ef8 into main Sep 25, 2026
13 checks passed
@QuentinBisson
QuentinBisson deleted the fix/capz-blob-delegator branch September 25, 2026 00:13
teemow added a commit that referenced this pull request Sep 25, 2026
…-oauth

* origin/main:
  feat(model-serving): stamp the cache claim's tier as annotations (#676)
  fix(substrate): the capz snapshot-store identity holds Storage Blob Delegator on the account (#686)
  fix(connectivity): the egress gateway reaches the Substrate credential provider (#685)
  feat(llm-routing): route the LLM endpoint by model, with API keys (#672)

# Conflicts:
#	CHANGELOG.md
teemow added a commit that referenced this pull request Sep 25, 2026
…ardown-527

* origin/main:
  feat(model-serving): stamp the cache claim's tier as annotations (#676)
  fix(substrate): the capz snapshot-store identity holds Storage Blob Delegator on the account (#686)
  fix(connectivity): the egress gateway reaches the Substrate credential provider (#685)
  feat(llm-routing): route the LLM endpoint by model, with API keys (#672)

# Conflicts:
#	CHANGELOG.md
teemow added a commit that referenced this pull request Sep 25, 2026
…i-580

* origin/main:
  fix(serving): tear the serving slice down in order, configs freed (#679)
  fix: derive the managers' OAuth login from muster's OAuth server (#678)
  feat(model-serving): stamp the cache claim's tier as annotations (#676)
  fix(substrate): the capz snapshot-store identity holds Storage Blob Delegator on the account (#686)
  fix(connectivity): the egress gateway reaches the Substrate credential provider (#685)
  feat(llm-routing): route the LLM endpoint by model, with API keys (#672)
  feat: the kagent line and the Substrate line at 1.1.0 (#665)
  fix(model-manager): read served models wherever model-manager serves (#681)
  feat(model-serving): check every shipped preset's parsers by model family (#674)
  fix(backstage): drop the portal's dead agentPlatform.modelManager block (#677)
  fix(agent-manager): cap the Generic agent chart below 1.5.0 (#668)
  feat(observability): collect Substrate's and the kagent controller's metrics (#619)
  fix(connectivity): limit the substrate-bootstrap hook to 256Mi (#666)
  fix: drift detection ignores the serving configs' defaulted spec (#680)

# Conflicts:
#	CHANGELOG.md
#	tests/verify-target.py
teemow added a commit that referenced this pull request Sep 25, 2026
…en-606

* origin/main: (28 commits)
  feat(dashboards): turn done (final flush) p50 and p95 on Klaus Gateway (#701)
  feat: the managers', the portal's and mcp-kubernetes' traces to the platform's OTLP gateway (#700)
  feat(kagent): compact agent histories only past 600000 tokens (#699)
  fix: keep the single-replica components drainable (maxUnavailable 1) (#697)
  feat(model-serving): export the model pods' traces to the platform's OTLP gateway (#695)
  fix(substrate): keep Substrate's metrics on the scrape path (#694)
  feat: one OTLP collector for every exporter (global.observability.traces.otlp) (#696)
  fix(netpol): admit the scrape of the kagent controller and atenet-egress ext-proc (#691)
  fix(serving): make the models Gateway an internet-facing NLB on AWS (#692)
  fix(model-manager): reach the workload clusters' API servers (#689)
  feat(components): the CloudNativePG operator chart and image from gsoci (#671)
  fix(serving): tear the serving slice down in order, configs freed (#679)
  fix: derive the managers' OAuth login from muster's OAuth server (#678)
  feat(model-serving): stamp the cache claim's tier as annotations (#676)
  fix(substrate): the capz snapshot-store identity holds Storage Blob Delegator on the account (#686)
  fix(connectivity): the egress gateway reaches the Substrate credential provider (#685)
  feat(llm-routing): route the LLM endpoint by model, with API keys (#672)
  feat: the kagent line and the Substrate line at 1.1.0 (#665)
  fix(model-manager): read served models wherever model-manager serves (#681)
  feat(model-serving): check every shipped preset's parsers by model family (#674)
  ...

# Conflicts:
#	CHANGELOG.md
#	tests/verify-gpu-pool.py
teemow added a commit that referenced this pull request Sep 25, 2026
…reset-597

* origin/main: (28 commits)
  feat(dashboards): turn done (final flush) p50 and p95 on Klaus Gateway (#701)
  feat: the managers', the portal's and mcp-kubernetes' traces to the platform's OTLP gateway (#700)
  feat(kagent): compact agent histories only past 600000 tokens (#699)
  fix: keep the single-replica components drainable (maxUnavailable 1) (#697)
  feat(model-serving): export the model pods' traces to the platform's OTLP gateway (#695)
  fix(substrate): keep Substrate's metrics on the scrape path (#694)
  feat: one OTLP collector for every exporter (global.observability.traces.otlp) (#696)
  fix(netpol): admit the scrape of the kagent controller and atenet-egress ext-proc (#691)
  fix(serving): make the models Gateway an internet-facing NLB on AWS (#692)
  fix(model-manager): reach the workload clusters' API servers (#689)
  feat(components): the CloudNativePG operator chart and image from gsoci (#671)
  fix(serving): tear the serving slice down in order, configs freed (#679)
  fix: derive the managers' OAuth login from muster's OAuth server (#678)
  feat(model-serving): stamp the cache claim's tier as annotations (#676)
  fix(substrate): the capz snapshot-store identity holds Storage Blob Delegator on the account (#686)
  fix(connectivity): the egress gateway reaches the Substrate credential provider (#685)
  feat(llm-routing): route the LLM endpoint by model, with API keys (#672)
  feat: the kagent line and the Substrate line at 1.1.0 (#665)
  fix(model-manager): read served models wherever model-manager serves (#681)
  feat(model-serving): check every shipped preset's parsers by model family (#674)
  ...

# Conflicts:
#	CHANGELOG.md
#	tests/verify-gpu-pool.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant