Skip to content

Commit 3a82b41

Browse files
committed
Update README
1 parent 3754900 commit 3a82b41

File tree

1 file changed

+18
-22
lines changed

1 file changed

+18
-22
lines changed

README.md

+18-22
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
<a href="https://swiftpackageindex.com/swiftkube/client">
1010
<img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fswiftkube%2Fclient%2Fbadge%3Ftype%3Dplatforms"/>
1111
</a>
12-
<a href="https://v1-28.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/">
13-
<img src="https://img.shields.io/badge/Kubernetes-1.29.6-blue.svg" alt="Kubernetes 1.29.6"/>
12+
<a href="https://v1-28.docs.kubernetes.io/docs/reference/generated/kubernetes-api/v1.32/">
13+
<img src="https://img.shields.io/badge/Kubernetes-1.32.0-blue.svg" alt="Kubernetes 1.32.0"/>
1414
</a>
1515
<a href="https://swift.org/package-manager">
1616
<img src="https://img.shields.io/badge/SwiftPM-compatible-brightgreen.svg?style=flat" alt="Swift Package Manager" />
@@ -42,7 +42,7 @@
4242
Swift client for talking to a [Kubernetes](http://kubernetes.io/) cluster via a fluent DSL based
4343
on [SwiftNIO](https://github.com/apple/swift-nio) and the [AysncHTTPClient](https://github.com/swift-server/async-http-client).
4444

45-
- [x] Covers all Kubernetes API Groups in v1.28.3
45+
- [x] Covers all Kubernetes API Groups in v1.32.0
4646
- [x] Automatic configuration discovery
4747
- [x] DSL style API
4848
- [x] For all API Groups/Versions
@@ -68,18 +68,14 @@ on [SwiftNIO](https://github.com/apple/swift-nio) and the [AysncHTTPClient](http
6868

6969
## Compatibility Matrix
7070

71-
| | 1.18.9 | 1.19.8 | 1.20.9 | 1.22.7 | 1.24.8 | 1.24.10 | 1.26.4 | 1.28.0 | 1.28.3 | 1.29.6 |
72-
|-------------------|--------|--------|--------|--------|--------|---------|--------|--------|--------|--------|
73-
| `0.6.x` || - | - | - | - | - | - | - | - | - |
74-
| `0.7.x...0.9.x` | - || - | - | - | - | - | - | - | - |
75-
| `0.10.x` | - | - || - | - | - | - | - | - | - |
76-
| `0.11.x` | - | - | - || - | - | - | - | - | - |
77-
| `0.12.x...0.13.x` | - | - | - | - || - | - | - | - | - |
78-
| `0.14.x` | - | - | - | - | - || - | - | - | - |
79-
| `0.15.x` | - | - | - | - | - | - || - | - | - |
80-
| `0.16.x` | - | - | - | - | - | - | - || - | - |
81-
| `0.17.x` | - | - | - | - | - | - | - | - || - |
82-
| `0.18.x` | - | - | - | - | - | - | - | - | - ||
71+
| | 1.24.10 | 1.26.4 | 1.28.0 | 1.28.3 | 1.29.6 | 1.32.0 |
72+
|-------------------|---------|--------|--------|--------|--------|--------|
73+
| `0.14.x` || - | - | - | - | - |
74+
| `0.15.x` | - || - | - | - | - |
75+
| `0.16.x` | - | - || - | - | - |
76+
| `0.17.x` | - | - | - || - | - |
77+
| `0.18.x` | - | - | - | - || - |
78+
| `0.19.x` | - | - | - | - | - ||
8379

8480
- `` Exact match of API objects in both client and the Kubernetes version.
8581
- `-` API objects mismatches either due to the removal of old API or the addition of new API. However, everything the
@@ -264,7 +260,7 @@ buffering policy is used, which should be taken into consideration.
264260

265261
```swift
266262
let task: SwiftkubeClientTask = client.pods.watch(in: .allNamespaces)
267-
let stream = task.start()
263+
let stream = await task.start()
268264

269265
for try await event in stream {
270266
print(event)
@@ -299,7 +295,7 @@ let strategy = RetryStrategy(
299295
)
300296
let task = client.pods.watch(in: .default, retryStrategy: strategy)
301297

302-
for try await event in task.stream() {
298+
for try await event in await task.stream() {
303299
print(event)
304300
}
305301
```
@@ -405,7 +401,7 @@ try await client.apiExtensionsV1.customResourceDefinitions.create(crd)
405401
The `KubernetesClient` can now be "extended", in order to manage the Custom Resources. One way would be to use the
406402
`UnstructuredResource` described in the previous section given some `GroupVersionResource`.
407403

408-
However, the client can work with any object that implement the relevant marker protocols, which allows for custom types
404+
However, the client can work with any object that implements the relevant marker protocols, which allows for custom types
409405
to be defined and used directly.
410406

411407
Here is a complete example to clarify.
@@ -456,7 +452,7 @@ The marker protocols are:
456452
- `CollectionDeletableResource` activate the `deleteAll` API for the resource
457453
- `ScalableResource` activates the `scale` API for the resource
458454
- `MetadataHavingResource` indicates, that the resource has a `metadata` field of type `meta.v1.ObjectMeta?`
459-
- `StatusHavingResource` indicate, that the resource has a `scale` field (w/o assuming its type)
455+
- `StatusHavingResource` indicate, that the resource has a `state` field (w/o assuming its type)
460456

461457
The following custom structs can be defined:
462458

@@ -470,7 +466,7 @@ struct CronTab: KubernetesAPIResource, NamespacedResource, MetadataHavingResourc
470466
var spec: CronTabSpec
471467
}
472468
473-
struct CronTabSpec: Codable, Hashable {
469+
struct CronTabSpec: Codable, Hashable, Sendable {
474470
var cronSpec: String
475471
var image: String
476472
var replicas: Int
@@ -548,7 +544,7 @@ app.get("metrics") { request -> EventLoopFuture<String> in
548544
To use the `SwiftkubeClient` in a SwiftPM project, add the following line to the dependencies in your `Package.swift` file:
549545

550546
```swift
551-
.package(name: "SwiftkubeClient", url: "https://github.com/swiftkube/client.git", from: "0.18.0")
547+
.package(name: "SwiftkubeClient", url: "https://github.com/swiftkube/client.git", from: "0.19.0")
552548
```
553549

554550
then include it as a dependency in your target:
@@ -559,7 +555,7 @@ import PackageDescription
559555
let package = Package(
560556
// ...
561557
dependencies: [
562-
.package(name: "SwiftkubeClient", url: "https://github.com/swiftkube/client.git", from: "0.18.0")
558+
.package(name: "SwiftkubeClient", url: "https://github.com/swiftkube/client.git", from: "0.19.0")
563559
],
564560
targets: [
565561
.target(name: "<your-target>", dependencies: [

0 commit comments

Comments
 (0)