Skip to content

feat(helm): optional runtime AI inventory via k8s-aibom (default off) - #1099

Merged
ruizhang0101 merged 5 commits into
vllm-project:mainfrom
glenmessenger:add-k8s-aibom
Sep 29, 2026
Merged

ruizhang0101 merged 5 commits into
vllm-project:mainfrom
glenmessenger:add-k8s-aibom

Conversation

@glenmessenger

Copy link
Copy Markdown
Contributor

This adds k8s-aibom — an open-source, unprivileged controller that
generates CycloneDX 1.6 ML-BOMs for AI workloads at runtime — as an
optional chart dependency, following the same OCI + condition
pattern as kube-prometheus-stack and prometheus-adapter.

Default is off, and even when enabled, inventory is namespace-opt-in
via a label — installing the stack changes nothing unless the
operator makes both decisions. vLLM is a natively detected runtime,
so deployments managed by this chart produce complete BOMs out of
the box: served model (declared, from --model/HF_MODEL_ID), runtime
and version (inferred from the image), and resolved image digests.

Context on maturity: the chart is digest-pinned and attested, and
ships as a qualified component in NVIDIA AI Cluster Runtime (default
in their stock GKE inference recipe since v0.20). Happy to adjust
naming, placement, or the values shape to match maintainer
preferences.

Validation: helm lint clean; helm dependency update resolves the
chart anonymously from ghcr; helm template renders k8s-aibom
resources only with --set k8s-aibom.enabled=true and is unchanged
with the default values.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request adds k8s-aibom as an optional dependency to the Helm chart, allowing users to generate runtime AI inventories (CycloneDX 1.6 ML-BOM) for their workloads. It updates the Helm chart configuration, lockfile, default values, and adds documentation in README.md. Feedback suggests updating the installation example in README.md to use the release name llmstack instead of vllm-stack to maintain consistency with the rest of the documentation.

Comment thread helm/README.md Outdated
stack into (inventory is namespace-opt-in by design — nothing is
recorded without this label):

helm install vllm-stack . --set k8s-aibom.enabled=true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

For consistency with the rest of the documentation (e.g., lines 19 and 25), the release name llmstack should be used instead of vllm-stack in the installation example.

Suggested change
helm install vllm-stack . --set k8s-aibom.enabled=true
helm install llmstack . --set k8s-aibom.enabled=true

Signed-off-by: Glen Messenger <gmessenger@google.com>
ruizhang0101
ruizhang0101 previously approved these changes Sep 24, 2026

@ruizhang0101 ruizhang0101 left a comment

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.

LGTM

Signed-off-by: Glen Messenger <gmessenger@google.com>
…DME section

Signed-off-by: Glen Messenger <gmessenger@google.com>
@glenmessenger

Copy link
Copy Markdown
Contributor Author

Pre-commit and schema checks are green after the last commit (regenerated values.schema.json with the pinned helm-schema version; fenced the README code blocks). Secure-Minimal-Example has now failed three times with the identical error — minikube unreachable (i/o timeout) during the Helm-uninstall teardown step, after the test itself: runs 36039619460, 36042053779, and 36080504447. Our change renders no resources in that scenario (k8s-aibom.enabled defaults to false), so it looks environmental rather than related to this PR. Happy to rebase or retrigger if useful.

Signed-off-by: Glen Messenger <gmessenger@google.com>
@glenmessenger

Copy link
Copy Markdown
Contributor Author

Bumped the pin to k8s-aibom 1.5.1 — a security patch release (details in the project's #97/#98); the delta over 1.5.0 is exactly the two fixes. Re-requesting review since my earlier force-push dismissed the approval — apologies for the churn, and thanks again for the review.

@glenmessenger

Copy link
Copy Markdown
Contributor Author

@ruizhang0101 gentle ping on the above — the pin now points at the patched 1.5.1 and the earlier CI failures were resolved (pre-commit/schema fixed; the remaining Secure-Minimal-Example failures were the environmental minikube teardown timeouts noted earlier). Nothing else outstanding from our side.

@ruizhang0101

Copy link
Copy Markdown
Collaborator

Hi, we are taking a look at the CI machine issue and will try to solve the issue ASAP.

@ruizhang0101
ruizhang0101 enabled auto-merge (squash) September 29, 2026 23:03

@ruizhang0101 ruizhang0101 left a comment

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.

LGTM

@ruizhang0101
ruizhang0101 merged commit e8cb495 into vllm-project:main Sep 29, 2026
12 of 16 checks passed
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.

2 participants