Commit Graph

330 Commits

Author SHA1 Message Date
Sambhav Kothari b0cce97d89
Add cloudcoil to client libraries
[CloudCoil](https://github.com/cloudcoil/cloudcoil) - Production-ready Python client for Kubernetes with async support
I've been working on improving the Python development experience for Kubernetes, and I'm excited to share CloudCoil - a modern K8s client that brings features like async/await, type safety, and integrated testing to the Python ecosystem.
Why another Kubernetes client?
In the Python ecosystem, we've been missing features that Go developers take for granted - things like robust client implementations, proper type safety, and integrated testing tools. CloudCoil aims to fix this by providing:
1) Production-focused features:
* 🔥 Elegant, Pythonic API - Feels natural to Python developers
*  Async First - Native async/await support for high performance
* 🛡️ Type Safe - Full mypy support and runtime validation
* 🧪 Testing Ready - Built-in pytest fixtures for K8s integration tests
* 📦 Zero Config - Works with your existing kubeconfig
* 🪶 Minimal Dependencies - Only requires httpx, pydantic, and pyyaml
2) First-class operator support:
- [cert-manager](https://github.com/cloudcoil/models-cert-manager)
- [FluxCD](https://github.com/cloudcoil/models-fluxcd)
- [Kyverno](https://github.com/cloudcoil/models-kyverno)
(More coming soon - let me know what you'd like to see!)
3) Rich features for production use:
Resource watching with async support:
    async for event_type, pod in await core.v1.Pod.async_watch(
        field_selector="metadata.name=mypod"
    ):
        if event_type == "DELETED":
            break
Smart wait conditions:
    pod = core.v1.Pod.get("test-pod")
    status = await pod.async_wait_for({
        "succeeded": lambda _, pod: pod.status.phase == "Succeeded",
        "failed": lambda _, pod: pod.status.phase == "Failed"
    }, timeout=300)
Dynamic CRD support:
    DynamicCRD = resources.get_dynamic_resource(
        "MyCustomResource",
        "example.com/v1"
    )
    resource = DynamicCRD(
        metadata={"name": "example"},
        spec={"someField": "value"}
    ).create()
4) Installation:
Choose your K8s version:
    # Latest version
    pip install cloudcoil[kubernetes]
    # Specific K8s version
    pip install cloudcoil[kubernetes-1-32]
The project is Apache 2.0 licensed and ready for production use. We'd especially love feedback from:
- Teams using Python for K8s automation
- Anyone building operators/controllers in Python
- DevOps engineers managing multiple clusters
Links:
* GitHub: https://github.com/cloudcoil/cloudcoil
* Docs: https://cloudcoil.github.io/cloudcoil
* PyPI: https://pypi.org/project/cloudcoil
Looking forward to your feedback, especially on what operators you'd like to see supported next!
2025-01-22 14:12:06 +00:00
windsonsea 5607a0b815 Clean up using-api/api-concepts.md 2024-12-18 10:54:37 +08:00
Kubernetes Prow Robot f8f5edaa81
Merge pull request #48463 from tkashem/kep-3926
add doc for new delete option ignoreStoreReadErrorWithClusterBreakingPotential
2024-11-26 15:34:58 +00:00
Abu Kashem f7cce0db57
add doc for new delete option ignoreStoreReadErrorWithClusterBreakingPotential 2024-11-26 10:22:34 -05:00
Kubernetes Prow Robot f7899bc5ef
Merge pull request #48464 from benluddy/dev-1.32-kep-4222
Document API support for CBOR encoding
2024-11-26 02:08:56 +00:00
Kubernetes Prow Robot 86ed3f5ebc
Merge pull request #48512 from p0lyn0mial/doc-update-watch-list-1-32
Document KEP 3157 (watch-list) for milestone 1.32
2024-11-26 01:12:57 +00:00
Christian Schlotter 3f677e9bac
SSA: fix table for merge-strategy markers 2024-11-25 16:35:19 +01:00
yongruilin aae228c037 Clarify Server-Side Apply docs and example 2024-11-21 08:36:56 -08:00
Ben Luddy a262986640
KEP-4222: Add alpha docs. 2024-11-20 15:28:50 -05:00
Lukasz Szaszkiewicz 3794a9a601 Update documentation for the WatchList feature 2024-11-12 13:53:36 +01:00
windsonsea ea5eb2dd34 Clean up using-api/deprecation-policy.md 2024-10-25 09:20:18 +08:00
windsonsea fd75f1beb9 update using-api/api-concepts.md 2024-10-23 16:07:50 +08:00
abhilasha 44c8ed2308
Add application/yaml section in api-concepts (#48417)
* fix: add application/yaml section in api-concepts

* nit fix: breaking the request and response into distinct code blocks

* fix: split the request and response into separate code blocks
2024-10-22 01:38:51 +01:00
Sagnik Pal 28db3e9253
Fixed content detail ref #48303 2024-10-12 21:54:18 +05:30
Kubernetes Prow Robot 2ab782ff3d
Merge pull request #46230 from sftim/20240506_explain_api_media_types
Add more detail about media types
2024-10-12 14:28:20 +01:00
windsonsea 2f7dd7c114 Clean up using-api/cel.md 2024-10-12 11:40:17 +08:00
Tim Bannister e44ac80ca2
Add more detail about media types
- Add section about JSON encoding for API
- Mention that the HTTP API doesn't use YAML
2024-10-09 03:57:08 +01:00
Kubernetes Prow Robot 6bc8f405ac
Merge pull request #47067 from Ritikaa96/glossary-add-watch
Added watch to glossary
2024-08-22 15:54:11 +01:00
Kubernetes Prow Robot 0bc4e99d70
Merge pull request #47479 from kohbis/patch-1
Fix tiny typo on deprecation-policy.md
2024-08-21 16:21:56 +01:00
kohbis acebe895e7
Update deprecation-policy.md 2024-08-13 21:55:40 +09:00
Daniel Chan 3c5c4fcc1f Merge main into dev-1.31 to keep in sync 2024-08-08 15:31:27 +02:00
Ivan ROGER 1c9bcc4bb5
Add missing closing brace in CEL example table
File: cel.md
2024-08-07 17:37:15 +02:00
Marek Siarkowicz 4b71738c73 Beta documentation for Consistent Reads from Cache 2024-07-31 18:48:09 +02:00
Jordan Liggitt 5dab30d474
KEP-4601: alpha docs 2024-07-26 23:27:51 -04:00
Ritikaa96 53dc63aec8 editing as per the reviews.
Signed-off-by: Ritikaa96 <ritika@india.nec.com>
2024-07-23 15:13:25 +05:30
Ritikaa96 5053a95f53 Adding glossary tooltip for watch in k/docs
Signed-off-by: Ritikaa96 <ritika@india.nec.com>
2024-07-23 15:08:24 +05:30
Kubernetes Prow Robot 8a4e77b6f6
Merge pull request #46695 from kechigon/main
Correction of CEL sample code.
2024-06-09 05:55:25 -07:00
Jun Duan b91d36dfed Fix mismatched parentheses in cel.md
Signed-off-by: Jun Duan <jun.duan.phd@outlook.com>
2024-06-06 16:36:27 +00:00
Keigo Kurita a0a7c71659 Update cel.md 2024-06-06 16:27:47 +09:00
Kubernetes Prow Robot b3538b015a
Merge pull request #45942 from thisisharrsh/fixed_typo_k8s_API
Fixed the typo in Kubernetes API concepts
2024-04-23 07:04:31 -07:00
Kubernetes Prow Robot d846df42df
Merge pull request #45863 from pegasas/issues/45751
Explain SSA JSON/YAML compatibility bug
2024-04-22 15:29:48 -07:00
Tim Bannister 7b6866063f Switch more feature-state shortcodes to be data driven
When the feature gates graduate (or get deprecated), the associated
shortcode will update automatically.
2024-04-22 13:02:28 +01:00
harsh 281514adf4 Fixed the typo in Kubernetes API concept 2024-04-21 11:27:04 +05:30
John Huang ddeb20746a
Update content/en/docs/reference/using-api/server-side-apply.md
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2024-04-14 10:40:28 +08:00
pegasas c9dd20ee58 Improve Server-Side Apply page to address JSON/YAML compatibility with go-yaml 2024-04-13 21:11:56 +08:00
Francis Huang f424d45142
Update deprecated API migration guidance of HorizontalPodAutoscaler for v1.25 and v1.26 (#45390)
* Update deprecation-guide.md

**targetAverageUtilization** is no longer supported by **autoscaling/v2**

* Remove sample and add document reference

* Update notable changes for HPA in 1.25 and 1.26

* cite a document metric usage

* Update deprecation-guide.md
2024-03-16 10:37:30 -07:00
Steve Kuznetsov 7fefbf740e
cel: provide example map validations
Signed-off-by: Steve Kuznetsov <skuznets@redhat.com>
2024-02-29 09:19:38 -07:00
cici37 27bec3a39a Address comment 2024-01-31 17:49:21 +00:00
cici37 16098e45eb Add newly added library info. 2024-01-31 17:44:22 +00:00
Alexander Zielenski 0d44cd14a7 add cel quantity library reference 2024-01-31 17:38:11 +00:00
cici37 f16cbcd76b Fix the hyperlinks 2024-01-31 17:27:39 +00:00
Abhay Krishna Arunachalam b9684657b9 Update wording in API deprecation guide for v1.27 and v1.29 2024-01-25 01:18:41 -08:00
Joe Betz bc63a98e2d
Document CEL option, library and language feature availability by version (#42695)
* Document CEL option, library and language feature availability by version

* Update content/en/docs/reference/using-api/cel.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Apply feedback

* Feedback applied

* noop commit to trigger build

---------

Co-authored-by: Tim Bannister <tim@scalefactory.com>
2024-01-09 16:44:07 +01:00
Takashiidobe d536e46dbd fix typos 2023-12-24 21:00:53 -05:00
Sergey Kanzhelev 083c0aabc4
Document that replacement functionality must be the same stability level (#42031)
* the replacement functionality must be the same stability level

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Michael <haifeng.yao@daocloud.io>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Michael <haifeng.yao@daocloud.io>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Michael <haifeng.yao@daocloud.io>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

* Update content/en/docs/reference/using-api/deprecation-policy.md

Co-authored-by: Tim Bannister <tim@scalefactory.com>

---------

Co-authored-by: Michael <haifeng.yao@daocloud.io>
Co-authored-by: Tim Bannister <tim@scalefactory.com>
2023-12-23 02:45:09 +01:00
Rui Chen 73ede84c98
[en] fix schema comemnt for health-checks doc
Signed-off-by: Rui Chen <rui@chenrui.dev>
2023-12-21 16:59:05 -05:00
Kubernetes Prow Robot 60f4e0a186
Merge pull request #43550 from maikokuppe/patch-1
Fix typo in deprecation-guide.md at v1.26
2023-12-21 03:15:08 +01:00
Kubernetes Prow Robot 35c508040e
Merge pull request #44037 from m3nax/patch-1
Updated dotnet - Sample Programs url to point the example folder of project
2023-12-19 14:46:36 +01:00
Tim Bannister e57cf329a6 Merge 'dev-1.29' with main 2023-12-11 17:11:37 +00:00
Kubernetes Prow Robot f7ead26dbf
Merge pull request #43689 from austince/patch-1
docs: Small fixes to the Resource deletion section of API Concept
2023-12-09 20:53:04 +01:00