A Swift client library for Kubernetes providing a fluent DSL to interact with the Kubernetes API.
Swiftkube Client is a native Swift library for communicating with Kubernetes clusters. It provides a type-safe, fluent DSL built on SwiftNIO and AsyncHTTPClient, covering the complete Kubernetes API to enable developers to build Kubernetes tooling and operators in Swift.
Swift developers building Kubernetes operators, CLI tools, or any application that needs to interact with Kubernetes APIs, particularly those who value type safety and modern Swift concurrency.
Developers choose Swiftkube Client for its complete Kubernetes API coverage with type safety, a fluent DSL that mirrors Kubernetes resources, and native support for modern Swift concurrency and SwiftNIO for high-performance networking.
Swift client for Kubernetes
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports all Kubernetes API groups and versions up to v1.34.6, ensuring compatibility with the latest Kubernetes features as listed in the README's overview.
Offers an intuitive, type-safe interface for all Kubernetes resources, enabling developers to use modern Swift concurrency with async/await, as demonstrated in the client DSL examples.
Discovers cluster configuration from standard sources like kubeconfig files and service accounts, simplifying setup without manual intervention, as detailed in the configuration section.
Enables persistent connections for watching resources and following pod logs, with configurable retry strategies, ideal for building reactive operators as shown in the watch API examples.
Natively supports CRDs with extensible client APIs using marker protocols, allowing type-safe management of custom resources, with a full example provided in the CRD support section.
The README explicitly lists PATCH API as unsupported in the overview, limiting update operations to full replacements rather than partial modifications.
Essential for building Kubernetes operators, but this feature is marked as not supported in the overview, requiring developers to implement such patterns manually.
The project admits that documentation is not complete, which could slow down onboarding and troubleshooting for new users.