Metadata-Version: 2.4
Name: codecraftai-restclient-kubernetes
Version: 1.2.0
Summary: Code Craft AI - Kubernetes REST client
License-Expression: LicenseRef-CodeCraftAI-Source-Available
License-File: LICENSE.md
Keywords: python,automation,ccai,restclient,kubernetes
Author: Myron Walker
Author-email: myron.walker@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: POSIX
Requires-Dist: codecraftai-credentials (<2.0.0)
Requires-Dist: codecraftai-foundations (<2.0.0)
Requires-Dist: codecraftai-restclient-base (<2.0.0)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Requires-Dist: requests (>=2.32.4,<3.0.0)
Project-URL: Issues, https://github.com/code-craft-ai-company/codecraftai-restclient-kubernetes/issues
Project-URL: Repository, https://github.com/code-craft-ai-company/codecraftai-restclient-kubernetes
Description-Content-Type: text/x-rst

======================================
Code Craft AI - Kubernetes REST client
======================================

A pure-Python client for the Kubernetes API server.

The Kubernetes API is plain REST over HTTPS with JSON bodies, so this package
speaks it directly on top of ``codecraftai-restclient-base`` rather than
depending on the official ``kubernetes`` SDK. That keeps the fleet's
pure-Python guarantee and avoids dragging a large vendored client (and its
transitive dependency tree) into every consumer.

What it provides
================

* ``KubeConfigResolver`` — resolves a kubeconfig path, an in-memory
  kubeconfig dict, or the in-cluster service-account context into a server
  URL plus the TLS material and bearer token needed to reach it. Supports
  bearer-token auth, client-certificate (mTLS) auth, and custom CA bundles.
* ``KubernetesRestClient`` — the REST client, with api groups mirroring the
  API server's own grouping:

  * ``core_v1`` — namespaces, nodes, services, persistent volume claims
  * ``apps_v1`` — deployments, stateful sets
  * ``batch_v1`` — jobs
  * ``networking_v1`` — ingresses
  * ``version`` — the ``/version`` endpoint

Responses are returned as plain dictionaries matching the API server's JSON,
and are additionally attribute-addressable so callers written against the
SDK's object model keep working.

