SwiftkubeClient Swift Kubernetes客户端

Swift 的 Kubernetes 客户端,挺适合用来对接 K8s 集群的。用起来像 DSL 写法那种,代码结构清晰,还支持 K8s 的各种 API 版本。自动发现、支持/scale/status这类接口,连 CRD 和 controller 也顾到了,蛮全面的。

资源加载也比较灵活,支持从文件URL拉配置,搭配swift-log做日志输出也比较顺手。像deletepatchlist这些操作,它都有内建支持,写法也贴近 Swift 习惯,省得自己再封装一堆。

你要是平常用 Swift 写工具,或者想搞个跟 K8s 打交道的 CLI,真的可以看看这个SwiftkubeClient。是用 DSL 搞定 API 交互那块,写起来流畅得,调试也方便,适合那种喜欢写清爽代码的你。

对了,它兼容v1.18.9起步的 API,像v1.18.13之前的版本支持都还不错。如果你项目里是比较新的 K8s 版本,那用它基本不用担心兼容性问题。

如果你想了解更多 DSL 写法在 Swift 里的应用,可以看看这个MisterFusion,AutoLayout 用得挺溜的。还有这个SwifQL,写 SQL 查询也蛮优雅的。

zip
client-main.zip 预估大小:29个文件
folder
client-main 文件夹
file
.gitignore 70B
folder
Sources 文件夹
folder
SwiftkubeClient 文件夹
file
SwiftkubeClient.swift 2KB
folder
Watch 文件夹
file
RetryStrategy.swift 4KB
file
ResourceWatcher.swift 3KB
file
StreamingDelegate.swift 3KB
file
SwiftkubeClientTask.swift 4KB
file
LogWatcher.swift 2KB
folder
Model 文件夹
file
KubernetesAPIResource+Extensions.swift 2KB
folder
Client 文件夹
file
GenericKubernetesClient.swift 17KB
file
NamespacedGenericKubernetesClient+Pod.swift 2KB
file
KubernetesClient.swift 8KB
file
NamespacedGenericKubernetesClient.swift 10KB
file
KubernetesClient+APIVersions.swift 3KB
file
Selectors.swift 7KB
file
RequestBuilder.swift 5KB
file
ClusterScopedGenericKubernetesClient.swift 7KB
folder
Config 文件夹
file
KubeConfig.swift 8KB
file
KubernetesClientConfig.swift 7KB
file
Authentication.swift 1KB
file
LICENSE 11KB
file
CHANGELOG.md 2KB
folder
.github 文件夹
folder
workflows 文件夹
file
ci.yml 849B
file
README.md 12KB
file
Package.swift 1KB
folder
Tests 文件夹
folder
SwiftkubeClientTests 文件夹
file
NodeTests.swift 775B
file
RetryStrategy.swift 5KB
file
RequestBuilderTests.swift 7KB
file
.swiftformat 2KB
file
SwiftkubeClient.png 33KB
zip 文件大小:82.09KB