Skip to content

docs: fix the router ConfigMap example key and nesting - #1621

Open
aeron-gh wants to merge 2 commits into
volcano-sh:mainfrom
aeron-gh:docs/config-router-example-key
Open

docs: fix the router ConfigMap example key and nesting#1621
aeron-gh wants to merge 2 commits into
volcano-sh:mainfrom
aeron-gh:docs/config-router-example-key

Conversation

@aeron-gh

@aeron-gh aeron-gh commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

/kind documentation

What this PR does / why we need it:

The first ConfigMap example in the router configuration guide could not work as written. Three separate defects, all in the same block:

  1. The data key was schedulerConfiguration, which no code path reads. The deployment subPath-mounts routerConfiguration to the fixed path the router loads, so the example's config was never seen.
  2. The fields sat at top level, but the parser unmarshals into RouterConfiguration, which expects them under scheduler:. They were dropped as unknown fields.
  3. It set namespace: default, while the chart creates the router's ConfigMap in the release namespace (documented install: kthena-system), so applying it produced an unrelated ConfigMap the router never mounts.

Mechanism and file references in #1599.

Running the example through the router's own ParseRouterConfig plus LoadSchedulerConfig shows what the first two cost:

  • before: pluginConfigs=0 scoreWeights=map[] filters=[], an entirely empty scheduler config
  • after: pluginConfigs=4 scoreWeights=map[kvcache-aware:1 least-latency:1 least-request:1 prefix-cache:1] filters=[least-request]

The example now uses the routerConfiguration key with the scheduler: nesting, and namespace: <namespace>, matching both the authentication example further down this page and the other router-ConfigMap examples in the repo (kvcache-aware.md, examples/redis/README.md).

Scope: all five published doc versions carry this example (versions.json lists v1.0.0 through v0.1.0), and every release tag from v0.1.0 to v1.0.0 subPath-mounts routerConfiguration and loads /etc/config/routerConfiguration.yaml, so it was never correct for any of them. Each versioned copy is fixed in place, keeping its own plugin set and names (the v0.x copies keep kv-cache); only the data key, the nesting, and the namespace change. The four v0.x copies additionally had the ConfigMap header pasted twice inside the same snippet, which is removed. Each result was verified by parsing it back through the router's config loader.

Which issue(s) this PR fixes:
Fixes #1599

Does this PR introduce a user-facing change?:

NONE

Copilot AI lite review requested due to automatic review settings August 14, 2026 14:11
@volcano-sh-bot volcano-sh-bot added the kind/documentation Improvements or additions to documentation label Aug 14, 2026

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@aeron-gh
aeron-gh force-pushed the docs/config-router-example-key branch from 60bf493 to 87de552 Compare August 14, 2026 15:52
Copilot AI review requested due to automatic review settings August 14, 2026 15:52
Signed-off-by: aeron-gh <agab0323@gmail.com>

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings August 14, 2026 16:29
Signed-off-by: aeron-gh <agab0323@gmail.com>

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@aeron-gh

Copy link
Copy Markdown
Contributor Author

@acsoto @kube-gopher
PTAL

@kube-gopher kube-gopher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm
/approve

@volcano-sh-bot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: kube-gopher
Once this PR has been reviewed and has the lgtm label, please assign lizhencheng9527 for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@aeron-gh

Copy link
Copy Markdown
Contributor Author

@LiZhenCheng9527 this one has lgtm and kube-gopher's approval, just needs a docs/OWNERS approve when you get a minute. thanks!

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

Labels

kind/documentation Improvements or additions to documentation lgtm size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: the first router ConfigMap example uses a key the router never reads

4 participants