You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: re-seed api module from KAI-Scheduler main (flat layout)
Standalone github.com/kai-scheduler/api seeded from KAI-Scheduler main:
scheduling.run.ai (v1alpha2/v2/v2alpha2) + kai.scheduler/v1alpha1 Topology
types, their single generated client, and the resources/podgroup/constants
utilities, under a flat layout (no nested api/ dir).
- go.mod pinned to main: k8s v0.35.4, controller-runtime v0.23.3, Go 1.26.3
- codegen relocated (make generate/manifests/clients); regeneration idempotent
- 4 owned CRDs byte-identical to main's deployments/kai-scheduler/crds
- k8s_utils / feature_gates / kai.scheduler-v1 intentionally kept in kai-scheduler
Phase A of the API-separation migration (design: KAI-Scheduler PR #1887).
api is a standalone Go module providing Kubernetes API types, generated clients, and utilities for GPU-aware batch scheduling with KAI Scheduler.
3
+
`github.com/kai-scheduler/api` is a standalone Go module providing Kubernetes API types, generated clients, and utilities for GPU-aware batch scheduling with KAI Scheduler.
4
4
5
5
## Repository Structure
6
6
7
7
```
8
8
api/
9
-
├── api/scheduling/ # API type definitions (Queue, PodGroup, BindRequest)
- Apache 2.0 + NVIDIA copyright headers on all files
143
-
- GoDoc-style for exported functions/types
144
-
- Avoid obvious comments; explain "why" not "what"
81
+
Make API changes here first, test against kai-scheduler via the `replace` directive, then release and bump
82
+
kai-scheduler with `go get github.com/kai-scheduler/api@vX.Y.Z`.
145
83
146
-
## Contributing
147
-
148
-
Changes to API types should be made in this repository first, then consumed by kai-scheduler.
149
-
150
-
For questions or contributions to the main scheduler, see [kai-scheduler repository](https://github.com/kai-scheduler/KAI-Scheduler).
151
-
152
-
## Known Issues
153
-
154
-
### Operator API in Generated Clients
155
-
156
-
Generated clients currently include references to `kai/v1alpha1` (Topology CRD), which is operator-specific and should remain in kai-scheduler. This creates a dependency on the kai-scheduler module.
84
+
## Code Style
157
85
158
-
**Resolution**: Will be addressed when SDK client generation is set up independently. For now, the dependency exists but doesn't affect SDK users who only work with scheduling APIs.
86
+
Follow kai-scheduler conventions: three import groups (stdlib, external, internal); snake_case files;
0 commit comments