Bugs
- Fix #2748: Pass custom headers in kubernetes-client to watch api by modify WatchConnectionManager
- Fix #2745: Filtering Operations can't configure PropagationPolicy
- Fix #2672: WaitUntilReady for Service resource throws IllegalArgumentException
Improvements
- Fix #2717: Remove edit() methods from RawCustomResourceOperationsImpl taking InputStream arguments
- Fix #2757: add
storage
andserved
toVersion
annotation - Fix #2759: add
ShortNames
annotation to specify short names for CRD generation - Fix #2694: Remove deprecated methods from KubernetesClient DSL
- Fix #2716: Add a property to disable BackwardCompatibilityInterceptor
Dependency Upgrade
New Features
- Fix #2702: Add support for discovery.k8s.io/v1beta1 EndpointSlice in KubernetesClient DSL
- Fix #2703: Add support for
certificates.k8s.io
v1 and v1beta1 API in KubernetesClient DSL - Fix #2708: Update CSI Volume Snapshot API to v1
- Fix #2789: Use thread context class loader instead of
Class.forName
- Fix #2779: Add DSL support for
scheduling.k8s.io
v1
andv1beta1
to SchedulingAPIGroupDSL - Fix #2776: Preview release of CRD generator based on annotations
- Classes extending the
CustomResource
class can now be used as the basis for CRD generation - Several annotations are available to override the default behavior if it doesn't fit your needs
- Validation schema is automatically derived from your class' spec implementation (or from the CR
class, if no spec is present) - CRDs are automatically generated at compile-time if you include the
io.fabric8:crd-generator
dependency to your project (with the suggestedcompile
scope) - CRDs are generated for both
v1beta1
andv1
versions of the specification at this point - One CRD manifest is generated per CRD using the CRD name (e.g.
mycrplural.group.example.com
)
suffixed with the specification version, e.g.mycrplural.group.example.com-v1.yml
- The CRD files are generated in the
target/META-INF/fabric8
directory of your project
- Classes extending the
Note: Breaking changes in the API
DSL Changes:
client.settings()
DSL has been removed since PodPreset v1alpha1 API is no longer present in Kubernetes 1.20.xclient.customResourceDefinitions()
has been removed. Useclient.apiextensions().v1beta1().customResourceDefinitions()
insteadclient.events()
has been removed. Useclient.v1().events()
insteadclient.customResource(...)
method is removed. Useclient.customResources(...)
with CustomResource configuration in annotations inside POJOs
Model Changes:
- Classes in
io.fabric8.kubernetes.api.model.scheduling
have been moved toio.fabric8.kubernetes.api.model.scheduling.v1
andio.fabric8.kubernetes.api.model.scheduling.v1beta1
- Classes in
io.fabric8.kubernetes.api.model.admission
have been moved toio.fabric8.kubernetes.api.model.admission.v1
andio.fabric8.kubernetes.api.model.admission.v1beta1
- Classes in
io.fabric8.kubernetes.api.model.certificates
have been moved toio.fabric8.kubernetes.api.model.certificates.v1
andio.fabric8.kubernetes.api.model.certificates.v1beta1
- Classes in
io.fabric8.kubernetes.api.model.events
have been moved toio.fabric8.kubernetes.api.model.events.v1
andio.fabric8.kubernetes.api.model.events.v1beta1