Align the Kubernetes cluster create/edit page with the backend's promotion of operator/K8s knobs out of worker_config and the removal of gpuVendorOverrides. - k8s_options: drop gpuVendorOverrides; add operatorImage, namespace, and gpuInstanceOptions (presence = GPU instances enabled, carrying an optional gpuInstancesAccessStaticAddress). - Add a top-level system_default_container_registry to the cluster type (promoted out of worker_config on the backend). - Group all k8s_options fields into a new top-level "K8s Deployment Options" collapsible section (sibling of Advanced, rendered above it), with namespace first followed by volume mounts, image credentials, node selector, operator image, and GPU instances. - Drive the GPU instances toggle from local state instead of Form.useWatch (an unregistered nested path never re-rendered, leaving the switch unresponsive); use antd's borderless Switch and keep the label/switch grouped together. Namespace gains a gpustack-system placeholder. - Remove the gpuVendorOverrides validation from the form and the stale operator_image / namespace / gpu_instances_access_static_address hints from the worker_config YAML template and JSON schema. - Add-worker GPU picker: always allow multi-select for K8s clusters (runtime node selectors are now auto-derived), dropping the override-gating, cluster fetch, and single-only hint. - Update locales (en/zh/ja/ru/tr) for the removed and added keys.
113 lines
2.8 KiB
JSON
113 lines
2.8 KiB
JSON
{
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"debug": {
|
|
"type": "boolean",
|
|
"description": "Enable debug mode"
|
|
},
|
|
"cache_dir": {
|
|
"type": "string",
|
|
"description": "Cache directory path"
|
|
},
|
|
"log_dir": {
|
|
"type": "string",
|
|
"description": "Log directory path"
|
|
},
|
|
"system_default_container_registry": {
|
|
"type": "string",
|
|
"description": "Default container registry"
|
|
},
|
|
"image_name_override": {
|
|
"type": "string",
|
|
"description": "Override image name"
|
|
},
|
|
"image_repo": {
|
|
"type": "string",
|
|
"description": "Container image repository"
|
|
},
|
|
"gateway_mode": {
|
|
"type": "string",
|
|
"description": "Gateway mode",
|
|
"enum": ["worker", "gateway", "disabled", "auto"]
|
|
},
|
|
"gateway_kubeconfig": {
|
|
"type": "string",
|
|
"description": "Path to kubeconfig used by gateway"
|
|
},
|
|
"gateway_concurrency": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "Gateway concurrency limit"
|
|
},
|
|
"service_discovery_name": {
|
|
"type": "string",
|
|
"description": "Service discovery name"
|
|
},
|
|
"huggingface_token": {
|
|
"type": "string",
|
|
"description": "Hugging Face access token"
|
|
},
|
|
"disable_worker_metrics": {
|
|
"type": "boolean",
|
|
"description": "Disable worker metrics collection"
|
|
},
|
|
"worker_port": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 65535,
|
|
"description": "Worker service port"
|
|
},
|
|
"worker_metrics_port": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 65535,
|
|
"description": "Worker metrics port"
|
|
},
|
|
"service_port_range": {
|
|
"type": "string",
|
|
"pattern": "^\\d+-\\d+$",
|
|
"description": "Service port range, e.g. 30000-31000"
|
|
},
|
|
"ray_port_range": {
|
|
"type": "string",
|
|
"pattern": "^\\d+-\\d+$",
|
|
"description": "Ray port range, e.g. 20000-20100"
|
|
},
|
|
"system_reserved": {
|
|
"type": "object",
|
|
"description": "System reserved resources",
|
|
"properties": {
|
|
"ram": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Reserved RAM in GiB"
|
|
},
|
|
"vram": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Reserved VRAM in GiB"
|
|
}
|
|
}
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"description": "Additional resource definitions",
|
|
"additionalProperties": {}
|
|
},
|
|
"enable_hf_transfer": {
|
|
"type": "boolean",
|
|
"description": "Enable Hugging Face transfer acceleration"
|
|
},
|
|
"enable_hf_xet": {
|
|
"type": "boolean",
|
|
"description": "Enable Hugging Face Xet support"
|
|
},
|
|
"proxy_mode": {
|
|
"type": "string",
|
|
"enum": ["worker", "system", "disabled"],
|
|
"description": "Proxy mode"
|
|
}
|
|
}
|
|
}
|