Skip to content

cloudcoil

Cloudcoil combines typed Kubernetes API clients with a controller and admission runtime for Python 3.14+. The same Pydantic resource types work in API calls, controller handlers, CRD definitions and admission requests.

Start with Getting started to run a controller. The guides follow this repository's source; use a matching checkout when trying unreleased APIs.

Build an application

You need to… Guide
Read and write Kubernetes objects Resources
Define a custom resource and its status Custom resources
Repair desired state and manage child objects Controllers
Split work into stages or choose a case Stages, cases and reporting
Read dependencies through API clients or informers Live and cached reads
Default or validate writes Admission
Generate permissions, install CRDs and deploy Application deployment
Manage startup, shutdown and leadership changes Lifespans
Check behavior locally and against Kubernetes Testing

The Widget demo combines a CRD, ordered stages, three child kinds, status and admission. The pattern catalog covers dependency watches, nested cases, variable children, finalizers, reusable controller groups and standalone policies.

Use the client and models

Resource operations and logs work independently of the controller runtime. Use a published model package, or generate models from a CRD or OpenAPI document.

For embedding and tuning, see client caching, runtime and observability and the API reference. Maintainers can follow the model release guide.

Source and issues · Versioning and support · Apache-2.0 license