Skip to content

feat(substrate): install Substrate from the Giant Swarm line (ghcr.io/giantswarm/substrate) - #144

Merged
teemow merged 1 commit into
mainfrom
substrate-giantswarm-line
Sep 10, 2026
Merged

feat(substrate): install Substrate from the Giant Swarm line (ghcr.io/giantswarm/substrate)#144
teemow merged 1 commit into
mainfrom
substrate-giantswarm-line

Conversation

@teemow

@teemow teemow commented Sep 10, 2026

Copy link
Copy Markdown
Member

The lab's Substrate — substrate-crds and substrate charts, the control-plane images and the preloaded gVisor worker image — comes from the Giant Swarm line of Agent Substrate, giantswarm/substrate branch giantswarm (tracking giantswarm/giantswarm#37757, epic giantswarm/giantswarm#37705): upstream kagent-dev/substrate v0.0.26 (the version the dev channel's kagent pins in its go.mod) plus the cherry-picked kagent-dev/substrate#33, published by the fork's own workflow as multi-arch images and charts under ghcr.io/giantswarm/substrate with dev versions <next upstream patch>-dev.giantswarm.<date>.<time>.h<sha7>. Its FORK.md is the ledger (pin, carried patches, re-pin procedure, digests).

  • internal/lab/substrate.go: substrateChartsRepooci://ghcr.io/giantswarm/substrate/helm, substrateImageRegistryghcr.io/giantswarm/substrate, substrateVersion0.0.27-dev.giantswarm.2026-09-10.19-33-37.h734ec53; the fork tags images with the bare version, so ateomGVisorImage drops the v prefix.
  • docs/platform.md, internal/config/config.go, substrate-values.yaml.tmpl: name the line instead of upstream.
  • The CA/JWT bootstrap port (substratepools.go) is unchanged — the pool wire format is the same at this pin.

The version moves only together with kagent's Substrate pin (a re-pin of the line), as a deliberate bump here.

Verification: a fresh isolated lab (configure --defaults --chart-branch poc/kagent-main, up) from published artifacts only with this binary — platform-test, test, backstage-test, agents-test, toolsets-test, models-test — and ate-system running only ghcr.io/giantswarm/substrate/* images (plus the chart's third-party postgres/rustfs/coredns/busybox/aws-cli). Results follow in this PR before it merges.

…/giantswarm/substrate)

The lab's Substrate — charts and images — comes from giantswarm/substrate,
branch giantswarm: the upstream release the dev channel's kagent pins in its
go.mod (kagent-dev/substrate v0.0.26) plus the cherry-picked
kagent-dev/substrate#33, published by the fork as multi-arch images and charts
under ghcr.io/giantswarm/substrate with dev versions
<next upstream patch>-dev.giantswarm.<date>.<time>.h<sha7>. The pinned version
is 0.0.27-dev.giantswarm.2026-09-10.19-33-37.h734ec53; the fork tags images
with the bare version, so the preloaded worker image drops the v prefix.
docs/platform.md and the config comments name the line; the CA/JWT bootstrap
port is unchanged.
@teemow
teemow requested a review from a team as a code owner September 10, 2026 19:35
@teemow

teemow commented Sep 10, 2026

Copy link
Copy Markdown
Member Author

Verified on a fresh isolated lab (~/substrate-lab: cluster substrate-lab, own ports), agentlab built from this branch, published artifacts only — configure --defaults --chart-branch poc/kagent-main resolved agent-platform 3.22.1-dev.poc-kagent-main.2026-09-10.20-05-41.h91af653 (giantswarm/agent-platform#347, the fork worker image), up in 7m29s with every HelmRelease Ready.

Proof Result
platform-test PASS
test PASS
backstage-test PASS
agents-test PASS — AgentTemplate Ready on Harness kagent, i.e. an actor booted on the fork's gVisor worker
toolsets-test PASS — incl. the live turn through kagent as admin and dev
models-test PASS

Substrate: releases substrate and substrate-crds at 0.0.27-dev.giantswarm.2026-09-10.19-33-37.h734ec53 (deployed); WorkerPool kagent/kagent-defaultghcr.io/giantswarm/substrate/ateom-gvisor:0.0.27-dev.giantswarm.2026-09-10.19-33-37.h734ec53, four workers Running on it. Images running in ate-system and podcertificate-controller-system: ghcr.io/giantswarm/substrate/{ateapi,atecontroller,atelet,atenet,podcertcontroller}:0.0.27-dev.giantswarm.…h734ec53 and the mirrored ghcr.io/giantswarm/substrate/agentgateway:c0f5597c7cb8, plus the chart's third-party postgres, rustfs, aws-cli, coredns, busybox. kubectl get pods -A -o jsonpath='{..image}' | grep -c kagent-dev/substrate → 0.

@teemow
teemow merged commit c402a0f into main Sep 10, 2026
5 checks passed
@teemow
teemow deleted the substrate-giantswarm-line branch September 10, 2026 20:31
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