Kruise-api is a Go library that provides the canonical API type definitions and client for OpenKruise.
The library solves the problem of accessing and working with OpenKruise API types by centralizing the schema definitions in a single, versioned repository. It includes Go type definitions for the apps and policy packages, a clientset for interacting with the Kruise API, and OpenAPI schema documentation. Developers can import these types directly into their applications and serialize them to JSON without needing to maintain their own copies of the API definitions.
Teams building applications that interact with OpenKruise should use this library rather than copying API definitions manually. It suits any project that needs to programmatically create, update, or delete Kruise resources. The library follows semantic versioning aligned with Kruise releases, so a Kruise v1.x.y release corresponds to a kruise-api v1.x.z release, with patch versions incremented for bugfixes. The README provides an example demonstrating how to create, update, and delete CloneSet resources.
The project is maintained as a read-only mirror synced from the main Kruise repository, with all code changes made upstream and subsequently synchronized here. This architecture means the project does not accept direct pull requests but instead receives updates through automated synchronization from the source repository.