Skip to content

[Feat](operator): split operator config contract across schema, validation, and canonical translation#1694

Open
FAUST-BENCHOU wants to merge 3 commits intovllm-project:mainfrom
FAUST-BENCHOU:feat/split-config
Open

[Feat](operator): split operator config contract across schema, validation, and canonical translation#1694
FAUST-BENCHOU wants to merge 3 commits intovllm-project:mainfrom
FAUST-BENCHOU:feat/split-config

Conversation

@FAUST-BENCHOU
Copy link
Copy Markdown
Contributor

Closes #1595

Summary

The Operator API has been separated from a single file: semanticrouter_types is domain-specific, and semanticrouter_webhook is only responsible for registration; validation is centralized in semanticrouter_validate_deployment.go and semanticrouter_validate_configspec*.go, with validateConfigSpec() chained to the end of validateSemanticRouter. canonical_config_builder delegates the translation of each domain to canonical_config_operator_*.go. Samples and tests are now aligned with the manifest/fixture seams.

Checklist

  • PR title uses the repo prefix format: [Bugfix], [CI/Build], [CLI], [Dashboard], [Doc], [Feat], [Router], or [Misc]
  • If the PR spans multiple categories, the title includes all relevant prefixes
  • Commits in this PR are signed off with git commit -s
  • Source-of-truth docs or indexed debt entries were updated when applicable
  • The validation results above reflect the actual commands or blockers for this change

See CONTRIBUTING.md for the full contributor workflow and commit guidance.

@netlify
Copy link
Copy Markdown

netlify bot commented Apr 1, 2026

Deploy Preview for vllm-semantic-router ready!

Name Link
🔨 Latest commit 66b8cc6
🔍 Latest deploy log https://app.netlify.com/projects/vllm-semantic-router/deploys/69ce4806683e4c0008c45574
😎 Deploy Preview https://deploy-preview-1694--vllm-semantic-router.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 1, 2026

👥 vLLM Semantic Team Notification

The following members have been identified for the changed files in this PR and have been automatically assigned:

📁 deploy

Owners: @rootfs, @Xunzhuo, @samzong
Files changed:

  • deploy/operator/api/v1alpha1/AGENTS.md
  • deploy/operator/api/v1alpha1/sample_fixtures_manifest_test.go
  • deploy/operator/api/v1alpha1/sample_validation_fixtures_test.go
  • deploy/operator/api/v1alpha1/sample_validation_test.go
  • deploy/operator/api/v1alpha1/semanticrouter_types.go
  • deploy/operator/api/v1alpha1/semanticrouter_types_configspec.go
  • deploy/operator/api/v1alpha1/semanticrouter_types_configspec_extended.go
  • deploy/operator/api/v1alpha1/semanticrouter_types_image_service.go
  • deploy/operator/api/v1alpha1/semanticrouter_types_tools_db.go
  • deploy/operator/api/v1alpha1/semanticrouter_types_workload.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_configspec.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_configspec_model_catalog.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_configspec_providers_defaults.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_configspec_routing.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_configspec_services_observability.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_configspec_stores_integrations.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_configspec_test.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_deployment.go
  • deploy/operator/api/v1alpha1/semanticrouter_validate_deployment_test.go
  • deploy/operator/api/v1alpha1/semanticrouter_webhook.go
  • deploy/operator/api/v1alpha1/semanticrouter_webhook_test.go
  • deploy/operator/api/v1alpha1/zz_generated.deepcopy.go
  • deploy/operator/controllers/canonical_config_builder.go
  • deploy/operator/controllers/canonical_config_operator_model_catalog.go
  • deploy/operator/controllers/canonical_config_operator_providers.go
  • deploy/operator/controllers/canonical_config_operator_routing.go
  • deploy/operator/controllers/canonical_config_operator_services.go
  • deploy/operator/controllers/canonical_config_operator_stores.go
  • deploy/operator/controllers/semanticrouter_controller.go

📁 tools

Owners: @Xunzhuo, @yuluo-yx, @samzong
Files changed:

  • tools/agent/task-matrix.yaml
  • tools/make/golang.mk

vLLM

🎉 Thanks for your contributions!

This comment was automatically generated based on the OWNER files in the repository.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 1, 2026

✅ Supply Chain Security Report — All Clear

Scanner Status Findings
AST Codebase Scan (Py, Go, JS/TS, Rust) 28 finding(s) — MEDIUM: 21 · LOW: 7
AST PR Diff Scan No issues detected
Regex Fallback Scan No issues detected

Scanned at 2026-04-02T10:46:10.863Z · View full workflow logs

@github-actions github-actions bot deleted a comment from codecov-commenter Apr 1, 2026
@github-actions github-actions bot deleted a comment from codecov-commenter Apr 1, 2026
…ion, and canonical translation

Signed-off-by: zhoujinyu <2319109590@qq.com>
@github-actions github-actions bot deleted a comment from codecov-commenter Apr 1, 2026
@FAUST-BENCHOU FAUST-BENCHOU changed the title [Feat](operator): split operator config contract across schema, validation, and canonical translation WIP [Feat](operator): split operator config contract across schema, validation, and canonical translation Apr 1, 2026
@FAUST-BENCHOU FAUST-BENCHOU changed the title WIP [Feat](operator): split operator config contract across schema, validation, and canonical translation [Feat](operator): split operator config contract across schema, validation, and canonical translation Apr 1, 2026
@FAUST-BENCHOU
Copy link
Copy Markdown
Contributor Author

{"level":"fatal","ts":"2026-04-01T02:48:53.545","caller":"logging.go:259","msg":"runtime_config_load_failed","config_path":"/app/config/config.yaml","error":"global.model_catalog.kbs[\"privacy_kb\"]: failed to load labels manifest: open /app/config/..2026_04_01_02_45_33.3158745937/kb/privacy/labels.json: no such file or directory","event":"runtime_config_load_failed","component":"router","stacktrace":"github.com/vllm-project/semantic-router/src/semantic-router/pkg/observability/logging.logComponentEventAt\n\t/app/src/semantic-router/pkg/observability/logging/logging.go:259\ngithub.com/vllm-project/semantic-router/src/semantic-router/pkg/observability/logging.ComponentFatalEvent\n\t/app/src/semantic-router/pkg/observability/logging/logging.go:251\nmain.loadRuntimeConfigOrFatal\n\t/app/src/semantic-router/cmd/runtime_bootstrap.go:92\nmain.main\n\t/app/src/semantic-router/cmd/main.go:21\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:283"}

this ci error was not introduced by me,anyway i will try to figure it out

Signed-off-by: zhoujinyu <2319109590@qq.com>
@github-actions github-actions bot deleted a comment from codecov-commenter Apr 1, 2026
Comment on lines -1039 to +1046
MountPath: "/app/config",
MountPath: "/app/config/config.yaml",
SubPath: "config.yaml",
ReadOnly: true,
},
{
Name: "config-volume",
MountPath: "/app/config/tools_db.json",
SubPath: "tools_db.json",
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

this part has nothing to do with issue #1595
but i consider it as a bug

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: split operator config contract across schema, validation, and canonical translation

5 participants