Skip to content

feat!: rename Helm chart async-processor → llm-d-async (#179) - #340

Merged
shimib merged 5 commits into
llm-d:mainfrom
shimib:feat/rename-chart-llm-d-async-179
Jul 22, 2026
Merged

feat!: rename Helm chart async-processor → llm-d-async (#179)#340
shimib merged 5 commits into
llm-d:mainfrom
shimib:feat/rename-chart-llm-d-async-179

Conversation

@shimib

@shimib shimib commented Jul 21, 2026

Copy link
Copy Markdown
Member

Completes #179 — the container image was already llm-d-async; this renames the Helm chart.

Changes

  • Chart renamed charts/async-processorcharts/llm-d-async: Chart.yaml name, template helper identifiers (llm-d-async.*), rendered resource names/labels, dashboard file, and the helm-unittest suites.
  • Consumers updated to the new chart path/name: scripts/publish-helm-chart.sh, pre-commit.yml + ci-e2e-tests.yaml, deploy/install.sh (+ kind-emulator), docs/guides/e2e-deploy.md, and the e2e suite (chart path, release name, resource-name/label selectors; value files renamed too).
  • Bugfix: deploy/install.sh default image repo pointed at the nonexistent ghcr.io/llm-d/async-processor → corrected to ghcr.io/llm-d/llm-d-async.

⚠️ Breaking

The chart now publishes as oci://ghcr.io/llm-d/charts/llm-d-async and renders llm-d-async-* resources with app.kubernetes.io/name=llm-d-async. A Deployment selector is immutable, so upgrading from an existing async-processor install requires uninstall + reinstall. The old charts/async-processor OCI package isn't renamed (GHCR has no redirect) — its last version stays available but gets no new releases.

Out of scope (intentionally unchanged)

Go binary name, OTEL service name (async-processor), and the *-system / *-monitoring namespace defaults (kept consistent with the Makefile).

Testing

  • helm lint ✓ · helm unittest 49/49 ✓ · go vet ./test/e2e/... ✓ · go build ./... ✓.

Follow-up (separate, cross-repo)

The llm-d/llm-d guides reference charts/async-processor; they need a follow-up PR to point at charts/llm-d-async after a release publishes the new package.

Closes #179

Rename the Helm chart (name, directory, template helpers, rendered resource
names/labels, unit tests) and all in-repo consumers: publish-helm-chart.sh,
CI workflows (helm lint/unittest/template paths), deploy/install.sh +
kind-emulator, docs/guides/e2e-deploy, and the e2e suite. The container
image was already llm-d-async, so this completes llm-d#179.

BREAKING CHANGE: the chart now publishes as
oci://ghcr.io/llm-d/charts/llm-d-async and renders resources named
llm-d-async-* with app.kubernetes.io/name=llm-d-async. A Deployment
selector is immutable, so upgrading from an existing async-processor
install requires uninstall + reinstall. The old charts/async-processor
OCI package is not renamed (GHCR has no redirect); its last version stays
available but receives no new releases.

Also fixes deploy/install.sh's default image repo, which pointed at the
nonexistent ghcr.io/llm-d/async-processor -> ghcr.io/llm-d/llm-d-async.

Out of scope (unchanged): the Go binary name, the OTEL service name
(async-processor), and the *-system / *-monitoring namespace defaults.

Closes llm-d#179

Signed-off-by: Shimi Bandiel <shimib@google.com>
Signed-off-by: Shimi Bandiel <shimib@google.com>
@shimib
shimib requested a review from evacchi as a code owner July 21, 2026 21:28
containers:
- command:
- /async-processor
- /llm-d-async

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change this back or update the docker binary name first https://github.com/llm-d/llm-d-async/blob/main/Dockerfile#L38

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — fixed in 25d245a. Reverted just the container command back to /async-processor to match the image's binary (Dockerfile ENTRYPOINT), which I intentionally left unrenamed. My blanket rename under charts/ had wrongly changed it, and helm-unittest didn't catch it (no assertion on command). Left the binary name as-is rather than renaming it — happy to rename the binary too in a follow-up if we want full consistency.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update: went with your other option — renamed the binary to llm-d-async instead of reverting the command. So the Dockerfile now builds/ENTRYPOINTs llm-d-async and the chart command is /llm-d-async (matches). While doing it I also made the OTEL service name consistent: this branch had already set the chart's OTEL_SERVICE_NAME env to llm-d-async, but otel.go's default and the e2e Jaeger query still said async-processor (would've failed the nightly OTEL e2e) — both now llm-d-async, which also matches the existing otel.go doc comment. And fixed the Makefile IMG/E2E_IMG defaults (pointed at the nonexistent async-processor image). Namespaces + buildx builder name left as-is. Added the OTEL change to the breaking release note.

value: {{ .Values.ap.otel.samplerArg | quote }}
- name: OTEL_SERVICE_NAME
value: "async-processor"
value: "llm-d-async"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

charts/llm-d-async/templates/ap-deployments.yaml:259 changes:

        - name: OTEL_SERVICE_NAME
          value: "llm-d-async"   # was: "async-processor"

and the unittest at tests/deployment_test.yaml:449 was updated to match. But the PR body says OTEL service name is intentionally unchanged (async-processor). So
either:

  • the value change is an accidental over-replace (the updated test masks it), or
  • the intent changed and the description is stale.

shimib added 3 commits July 21, 2026 21:58
The chart rename changed the container command to /llm-d-async, but the
image's binary is still async-processor (Dockerfile ENTRYPOINT), so the pod
would fail to start. Revert just the command path to match the (intentionally
unchanged) binary name.

Signed-off-by: Shimi Bandiel <shimib@google.com>
Follow-up within llm-d#340 (per review) to complete the identity rename so the
container command can be /llm-d-async:
- Dockerfile: build/COPY/ENTRYPOINT the binary as llm-d-async; chart
  container command -> /llm-d-async (matches the image).
- OTEL: default service name -> llm-d-async, aligning otel.go with its own
  doc comment AND the chart's OTEL_SERVICE_NAME env (already llm-d-async on
  this branch). Update the e2e Jaeger query and README default to match, so
  the e2e queries traces under the correct service name.
- Makefile IMG/E2E_IMG defaults -> ghcr.io/llm-d/llm-d-async (they pointed
  at the nonexistent async-processor image).

Namespaces (*-system/-monitoring) and the buildx builder name are left as-is
(infra identifiers, not the app/image name).

Signed-off-by: Shimi Bandiel <shimib@google.com>
…ragment

Signed-off-by: Shimi Bandiel <shimib@google.com>
@shimib
shimib merged commit 2837b60 into llm-d:main Jul 22, 2026
8 checks passed
shimib added a commit to shimib/llm-d that referenced this pull request Jul 23, 2026
…ync)

Follow-up to llm-d/llm-d-async#340 (chart renamed async-processor ->
llm-d-async). Update the install/uninstall commands and the kind-e2e
harness to the new OCI chart path (charts/llm-d-async) and release name,
and the log/resource reference (deployment/llm-d-async).

DRAFT / DO NOT MERGE until an async-processor release first publishes
oci://ghcr.io/llm-d/charts/llm-d-async. ASYNC_VERSION is a placeholder
(0.8.0) — set it to that release's version before merging. Left the ops-guide
link (docs/operations/async-processor.md, a real filename) unchanged.

Signed-off-by: Shimi Bandiel <shimib@google.com>
ahg-g pushed a commit to llm-d/llm-d that referenced this pull request Aug 10, 2026
…ync) (#2099)

* docs(guides): point async guide at the renamed chart (charts/llm-d-async)

Follow-up to llm-d/llm-d-async#340 (chart renamed async-processor ->
llm-d-async). Update the install/uninstall commands and the kind-e2e
harness to the new OCI chart path (charts/llm-d-async) and release name,
and the log/resource reference (deployment/llm-d-async).

DRAFT / DO NOT MERGE until an async-processor release first publishes
oci://ghcr.io/llm-d/charts/llm-d-async. ASYNC_VERSION is a placeholder
(0.8.0) — set it to that release's version before merging. Left the ops-guide
link (docs/operations/async-processor.md, a real filename) unchanged.

Signed-off-by: Shimi Bandiel <shimib@google.com>

* docs(guides): extend chart-rename sweep to the multi-tenant guide

#2047 merged, so the multi-tenant guide is now on main referencing the old
charts/async-processor. Update it to match #340's rename:
- install/upgrade/uninstall -> oci://ghcr.io/llm-d/charts/llm-d-async and
  release name llm-d-async (so the chart fullname -> llm-d-async-* resources);
- deploy/KSA references -> llm-d-async;
- gmp-podmonitoring.yaml selector app.kubernetes.io/name -> llm-d-async
  (must match the renamed pod label or it won't scrape);
- ASYNC_VERSION placeholder (set at release, same as the main guide).

Left the gcp-setup/teardown demo GSA (SA_NAME=async-processor) and prose
comments as-is (a separate GCP-IAM naming choice, not the chart).

Signed-off-by: Shimi Bandiel <shimib@google.com>

* docs(artifacts): point async core-libraries link at llm-d/llm-d-async

Signed-off-by: Shimi Bandiel <shimib@google.com>

* docs(async): pin ASYNC_VERSION to v0.8.0 (published chart)

charts/llm-d-async:v0.8.0 is now published to ghcr.io/llm-d. The OCI
tag is v-prefixed, so helm --version resolves v0.8.0 (not 0.8.0).
Drops the placeholder TODOs.

Signed-off-by: Shimi Bandiel <shimib@google.com>

* docs(operations): point async-processor Helm example at renamed chart

The operations guide's install example still used the old release name
and charts/async-processor path; align with the renamed chart
(llm-d-async / charts/llm-d-async).

Signed-off-by: Shimi Bandiel <shimib@google.com>

* docs(async): bump ASYNC_VERSION to v0.9.0

v0.9.0 is the latest llm-d-async release. Both the chart
(oci://ghcr.io/llm-d/charts/llm-d-async:v0.9.0) and the app image
(ghcr.io/llm-d/llm-d-async:v0.9.0) are published and public.

Also refresh the stale inline comments: the v0.8.0 note about being the
first release published under charts/llm-d-async no longer applies.

Signed-off-by: Shimi Bandiel <shimib@google.com>

---------

Signed-off-by: Shimi Bandiel <shimib@google.com>
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.

[Feature]: Change container name and chart name to llm-d-async

2 participants