All notable changes to api will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
kai.scheduler/v1API group (kai/v1):ConfigandSchedulingShardtypes plus their component sub-packages, with generated CRD manifests.usagedbconfig structs (UsageDBConfig,UsageParams,WindowType),podgrouper/constants, andutilities/math(SaturatingAdd).
- Re-synced
utilities/resources(DRA GPU-count overflow fix),scheduling/v2alpha2PodGroup types, andpodgrouper/constantswith KAI-Scheduler main.
Initial release of the standalone github.com/kai-scheduler/api module, seeded from KAI-Scheduler main.
-
API types (client-backed CRD contracts):
- Queue (
scheduling.run.ai/v2) — hierarchical queue resource - PodGroup (
scheduling.run.ai/v2alpha2) — gang scheduling with subgroups, plus validating webhook - BindRequest, NumaPlacementRequest (
scheduling.run.ai/v1alpha2) — pod binding coordination - Topology (
kai.scheduler/v1alpha1) — topology-aware scheduling input
- Queue (
-
Generated clients — single clientset, informer factory, and listers spanning both the
scheduling.run.aiandkai.scheduler/v1alpha1groups. -
CRD manifests (
config/crd/):scheduling.run.ai_queues.yamlscheduling.run.ai_podgroups.yamlscheduling.run.ai_bindrequests.yamlkai.scheduler_topologies.yaml
-
Utilities:
utilities/resources/— GPU fraction/memory extraction, DRA support, resource list operationsutilities/podgroup/—CalculatePreemptibility()
-
Constants — GPU annotation keys, labels, and priority constants.
-
Code generation —
make generate(deepcopy),make manifests(CRDs),make clients(clientset/informers/listers) reproduce all generated artifacts.
- Seeded fresh from
main(no git history preserved); Apache 2.0 / NVIDIA attribution retained via per-file headers. - Scheduler-internal code stays in kai-scheduler:
kai.scheduler/v1config types (Config, SchedulingShard), scheduler-framework glue (k8s_utils), and feature gates. - Dependencies: Kubernetes v0.35.4, controller-runtime v0.23.3, Go 1.26.3.