Skip to content

feat(charts): add values schemas#1340

Draft
ruirui6946 wants to merge 1 commit into
opensandbox-group:mainfrom
ruirui6946:agent/helm-values-schemas-1262
Draft

feat(charts): add values schemas#1340
ruirui6946 wants to merge 1 commit into
opensandbox-group:mainfrom
ruirui6946:agent/helm-values-schemas-1262

Conversation

@ruirui6946

Copy link
Copy Markdown
Contributor

Summary

  • add hand-crafted Draft 7 values.schema.json files for the controller, server, and all-in-one Helm charts
  • reject unknown chart-owned keys and validate scalar types while keeping Kubernetes-native extension objects such as resources, affinity, security contexts, env, and volumes open-ended
  • model controller QPS and burst as numbers and make the all-in-one global default an actual empty object

Why

The charts previously accepted misspelled keys and invalid scalar types until rendering or deployment. Inferred schemas also misclassify intentionally open values such as global and the floating-point Kubernetes client rate limits, so the schemas are maintained explicitly alongside values.yaml.

User impact

Valid existing values continue to render, while mistakes such as controller.logLevl or a string controller.replicaCount now fail during helm lint, helm install, or helm upgrade before resources reach the cluster.

Testing

  • Helm v3.21.3: linted all three charts with default values
  • linted representative valid overrides, including decimal QPS/burst, gateway env, and all-in-one global/sub-chart values
  • confirmed Helm rejects invalid replica types and unknown controller, gateway, all-in-one, and nested sub-chart keys
  • packaged all three charts and verified every archive contains its schema, including both dependency schemas in the all-in-one package

Closes #1262

@github-actions github-actions Bot added the component/k8s For kubernetes runtime label Jul 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/k8s For kubernetes runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(charts): add hand-crafted values.schema.json to all three charts

1 participant