Skip to content
This repository was archived by the owner on Sep 10, 2026. It is now read-only.

feat: curate from a local fleet checkout (-fleet-dir) - #93

Closed
paurosello wants to merge 1 commit into
mainfrom
llm-routing-local-charts
Closed

paurosello wants to merge 1 commit into
mainfrom
llm-routing-local-charts

Conversation

@paurosello

@paurosello paurosello commented Sep 3, 2026

Copy link
Copy Markdown

fleet.version is a released pin, so a change to agent-platform or
agent-platform-connectivity reaches this chart only after it is published.
That makes an unreleased fleet change untestable end to end: this chart cannot
carry it, and agentplatform-kind installs this chart.

hack/curate.sh -fleet-dir <dir> reads both source charts from a local
checkout of giantswarm/agentic-platform instead:

$ hack/curate.sh -fleet-dir ~/workspace/agentic-platform/helm

helm pull --untar and a checkout name the directory after the chart alike,
so the two paths differ only in where the charts come from — the test asserts
the same sources curate byte-identically either way, with Pull disabled so
the checkout is provably the only source read.

fleet.version is not consulted in that mode and the run says so on stderr.
CI's --check always pulls the pin, so output curated from a checkout is
never what the committed files are compared against, and the README says not
to commit it.

The transform stays deny-unknown: a new top-level values key still needs its
keys: rule (and, for an open map, an annotations: entry) before the run
succeeds. Writing that rule against a local branch and committing it with the
fleet.version bump that makes it real is the intended flow, and the README
documents it.

Proof

Used to curate giantswarm/agent-platform#254 (LLM routing) into this chart
and install it on a kind lab through platform.apsPath
(giantswarm/agentlab#52). The templates/llm/* files, the
agent-platform-standalone.llmRouting helper rename and the llmRouting
values block all survived curation intact, and the running gateway served a
real completion. That run is also what caught a routing bug in #254 — which
is the point of being able to install an unreleased chart.

hack/curate.sh --check against the pinned 3.2.4 still passes unchanged.

@paurosello
paurosello requested a review from a team as a code owner September 3, 2026 08:14
paurosello added a commit to giantswarm/agentlab that referenced this pull request Sep 3, 2026
…inference through agentgateway (platform.llmRouting)

The lab could not test an unreleased chart change at all. Every hop of the
delivery chain consumes a released artifact: agent-platform-connectivity is
published to gsoci, agent-platform-standalone generates its whole chart from
that release, and this lab vendors agent-platform-standalone from git at
platform.apsRef. So the platform change most worth testing — the one not yet
shipped — was the one change the lab could not install.

platform.apsPath closes the last hop: it installs a local
agent-platform-standalone checkout instead of the pinned commit, skipping the
fetch and only building the chart's dependencies. The checkout is read, never
written (helm fills its gitignored charts/). apsRepo/apsRef are ignored while
it is set and the boot says which chart it used.
`agentlab configure --defaults --aps-path <dir>` sets it, `--aps-path ""`
clears it. The standalone side of the same gap is `hack/curate.sh -fleet-dir`
(giantswarm/agent-platform-standalone#93); together they are the loop:
curate there, install here.

The first thing tested through that loop is platform.llmRouting: agent
inference stops leaving the agent pods for api.anthropic.com and goes through
the platform's own agentgateway, so the data plane emits GenAI metrics for
every model call. One toggle renders both halves — the cluster-internal `llm`
listener on the edge Gateway, and the base URL kagent's default ModelConfig
dials — because a listener nothing uses and agents pointed at a closed port
are both broken labs. The port is one constant, written into the listener and
into that URL, so the pair cannot drift; it has nothing to do with
platform.agentsPort, the HOST port for the kagent UI.

Off by default: the chart change is unreleased, and the released umbrella's
values.schema.json rejects an undeclared top-level key outright, so a block
emitted by default would fail every install (HACKS.md U13). It needs
platform.agents, since the cutover is a kagent ModelConfig.

Verified on the lab: the listener answers a real completion, and after one
agent turn the lab Prometheus serves
agentgateway_gen_ai_client_token_usage_sum and
agentgateway_gen_ai_client_cost_usd_total keyed by
agent="<serviceaccount>", agent_namespace="kagent", with
agentgateway_cost_catalog_lookups_total{status="Exact"} growing.
fleet.version is a released pin, so a change to agent-platform or
agent-platform-connectivity reaches this chart only after it is published.
That makes an unreleased fleet change untestable end to end: the standalone
chart cannot carry it, and agentplatform-kind installs the standalone chart.

-fleet-dir reads both source charts from a local checkout of
giantswarm/agentic-platform instead. `helm pull --untar` and a checkout name
the directory after the chart alike, so the two paths differ only in where
the charts come from and the curated output is byte-identical for the same
sources.

The pin is not consulted in that mode and the run says so on stderr. CI's
--check always pulls the pin, so output curated from a checkout is never
what the committed files are compared against.
@paurosello
paurosello force-pushed the llm-routing-local-charts branch from aee8d0b to 90ea25d Compare September 3, 2026 08:18
@teemow

teemow commented Sep 8, 2026

Copy link
Copy Markdown
Member

This repository retires with roadmap#4348: the Agent Platform ships as one chart, giantswarm/agent-platform — it brings its own Flux engine, carries this chart's extra dependencies as components and its wiring in agent-platform-connectivity; both consumers of this chart run it. #186 puts the pointer, the values mapping and the migration notes into the README and is this chart's last release; the repository is archived right after, which freezes this PR as it is (I am not closing it — it is yours).

What this PR is for has a home in the one chart: testing an unreleased fleet change end to end is agentlab's platform.chartPath (a local helm/agent-platform checkout installed in the lab shape, agentlab v0.23.0) and the meta chart's own ATS on kind (giantswarm/agent-platform#286, PR #307), which installs the PR's chart and connectivity chart from an in-cluster registry. The generator (hack/curate.sh) retires with the chart, so -fleet-dir has no successor to port to.

@QuentinBisson

Copy link
Copy Markdown
Contributor

Closing unmerged: this chart is retired under giantswarm/roadmap#4348 and the platform now ships as the single chart helm/agent-platform in giantswarm/agent-platform, which has no curation step to point at a local fleet checkout.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants