Skip to content

fix(charts): emit leading document separators in monitoring partials - #2368

Merged
ahg-g merged 1 commit into
llm-d:mainfrom
LukeAVanDrie:fix-fused-manifest-docs
Aug 14, 2026
Merged

fix(charts): emit leading document separators in monitoring partials#2368
ahg-g merged 1 commit into
llm-d:mainfrom
LukeAVanDrie:fix-fused-manifest-docs

Conversation

@LukeAVanDrie

@LukeAVanDrie LukeAVanDrie commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What type of PR is this?

/kind bug

What this PR does / why we need it:

The routerlib service-monitor and rbac partials open their conditional bodies without a leading ---. Include sites chain partials on adjacent lines and rely on each partial to separate itself, so with router.monitoring.prometheus.enabled=true the rendered ServiceMonitor continues the preceding EPP Service document, forming one YAML document with duplicate root keys. Helm parses that document last-key-wins as a ServiceMonitor and the Service drops out of the release inventory: an upgrade that enables monitoring deletes the live Service, a fresh install with monitoring enabled never creates it, and Helm reports no error. Observed on GKE with Helm v4.2.0; the audit log shows a services.delete issued by Helm during the upgrade.

The rbac partial fails the same way when the service-monitor partial renders empty (prometheus enabled with a provider other than prometheusoperator): its ClusterRole fuses onto the Service.

The fix adds a leading --- inside each partial's conditional, matching _leader-election-rbac.yaml.

Verified with helm template on the standalone chart, strict-parsing the output: with the prometheusoperator provider the parsed manifest set gains the missing Service (13 documents before, 14 after); with the gmp provider likewise (18 before, 19 after). No other document changes.

Which issue(s) this PR fixes:

Ad hoc fix

Release note:

NONE

@github-actions github-actions Bot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Aug 12, 2026
The routerlib service-monitor and rbac partials open their conditional
bodies without a leading '---'. Include sites chain partials on
adjacent lines and rely on each partial to separate itself, so with
router.monitoring.prometheus.enabled=true the rendered ServiceMonitor
continues the preceding EPP Service document, forming one YAML document
with duplicate root keys. Helm parses that document last-key-wins as a
ServiceMonitor and the Service drops out of the release inventory: an
upgrade that enables monitoring deletes the live Service, a fresh
install with monitoring enabled never creates it, and Helm reports no
error. Observed on GKE with Helm v4.2.0.

The rbac partial fails the same way when the service-monitor partial
renders empty (prometheus enabled with a provider other than
prometheusoperator): its ClusterRole fuses onto the Service.

Add a leading '---' inside each conditional, matching
_leader-election-rbac.yaml.

Signed-off-by: Luke Van Drie <lukevandrie@google.com>
@LukeAVanDrie
LukeAVanDrie force-pushed the fix-fused-manifest-docs branch from 218c346 to 5f1df22 Compare August 12, 2026 18:11
@LukeAVanDrie
LukeAVanDrie marked this pull request as ready for review August 12, 2026 18:13
@LukeAVanDrie
LukeAVanDrie requested a review from a team as a code owner August 12, 2026 18:13
@github-actions github-actions Bot added kind/bug Categorizes issue or PR as related to a bug. and removed kind/bug Categorizes issue or PR as related to a bug. labels Aug 12, 2026
@ahg-g
ahg-g merged commit c8125d2 into llm-d:main Aug 14, 2026
41 of 43 checks passed
@ahg-g

ahg-g commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

pls send a patch to release-0.10 branch

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

Labels

kind/bug Categorizes issue or PR as related to a bug. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants