Skip to content

Commit b704519

Browse files
authored
feat(openapi): support for Kubernetes v1.33 (Octarine) (7026)
feat(openapi): bump kubernetes-latest to v1.32.4 Signed-off-by: Marc Nuri <marc@marcnuri.com> --- feat(openapi): support for Kubernetes v1.33 (Octarine) https://kubernetes.io/blog/2025/04/23/kubernetes-v1-33-release/ Notable changes: - Removed authentication.k8s.io/v1beta1 SelfSubjectReview - Introduced certificates.k8s.io/v1beta1 ClusterTrustBundle - Introduced networking.k8s.io/v1 IPAddress and ServiceCIDR Signed-off-by: Marc Nuri <marc@marcnuri.com>
1 parent 1f5a2aa commit b704519

File tree

140 files changed

+42503
-20990
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+42503
-20990
lines changed

kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/V1NetworkAPIGroupDSL.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,16 @@
1515
*/
1616
package io.fabric8.kubernetes.client;
1717

18+
import io.fabric8.kubernetes.api.model.networking.v1.IPAddress;
19+
import io.fabric8.kubernetes.api.model.networking.v1.IPAddressList;
1820
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
1921
import io.fabric8.kubernetes.api.model.networking.v1.IngressClass;
2022
import io.fabric8.kubernetes.api.model.networking.v1.IngressClassList;
2123
import io.fabric8.kubernetes.api.model.networking.v1.IngressList;
2224
import io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicy;
2325
import io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyList;
26+
import io.fabric8.kubernetes.api.model.networking.v1.ServiceCIDR;
27+
import io.fabric8.kubernetes.api.model.networking.v1.ServiceCIDRList;
2428
import io.fabric8.kubernetes.client.dsl.MixedOperation;
2529
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
2630
import io.fabric8.kubernetes.client.dsl.Resource;
@@ -31,4 +35,8 @@ public interface V1NetworkAPIGroupDSL extends Client {
3135
MixedOperation<Ingress, IngressList, Resource<Ingress>> ingresses();
3236

3337
NonNamespaceOperation<IngressClass, IngressClassList, Resource<IngressClass>> ingressClasses();
38+
39+
NonNamespaceOperation<IPAddress, IPAddressList, Resource<IPAddress>> ipAddresses();
40+
41+
NonNamespaceOperation<ServiceCIDR, ServiceCIDRList, Resource<ServiceCIDR>> serviceCIDRs();
3442
}

kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/dsl/AuthenticationAPIGroupDSL.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,4 @@
2020

2121
public interface AuthenticationAPIGroupDSL extends Client {
2222
V1AuthenticationAPIGroupDSL v1();
23-
24-
V1Beta1AuthenticationAPIGroupDSL v1beta1();
2523
}

kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/dsl/V1Beta1AuthenticationAPIGroupDSL.java

Lines changed: 0 additions & 32 deletions
This file was deleted.

kubernetes-client-api/src/main/java/io/fabric8/kubernetes/client/dsl/V1beta1CertificatesAPIGroupDSL.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,32 @@
1717

1818
import io.fabric8.kubernetes.api.model.certificates.v1beta1.CertificateSigningRequest;
1919
import io.fabric8.kubernetes.api.model.certificates.v1beta1.CertificateSigningRequestList;
20+
import io.fabric8.kubernetes.api.model.certificates.v1beta1.ClusterTrustBundle;
21+
import io.fabric8.kubernetes.api.model.certificates.v1beta1.ClusterTrustBundleList;
2022
import io.fabric8.kubernetes.client.Client;
2123

2224
public interface V1beta1CertificatesAPIGroupDSL extends Client {
25+
2326
NonNamespaceOperation<CertificateSigningRequest, CertificateSigningRequestList, V1beta1CertificateSigningRequestResource<CertificateSigningRequest>> certificateSigningRequests();
27+
28+
/**
29+
* API entrypoint for certificates.k8s.io/v1beta1 ClusterTrustBundle.
30+
* <br>
31+
* ClusterTrustBundle is a cluster-scoped container for X.509 trust anchors (root certificates).<br>
32+
* <p>
33+
* ClusterTrustBundle objects are considered to be readable by any authenticated user in the cluster,
34+
* because they can be mounted by pods using the `clusterTrustBundle` projection.
35+
* All service accounts have read access to ClusterTrustBundles by default.
36+
* Users who only have namespace-level access to a cluster can read ClusterTrustBundles by impersonating a serviceaccount that
37+
* they have access to.
38+
* <p>
39+
* It can be optionally associated with a particular assigner, in which case it contains one valid set of trust anchors for
40+
* that signer.
41+
* Signers may have multiple associated ClusterTrustBundles; each is an independent set of trust anchors for that signer.
42+
* Admission control is used to enforce that only users with permissions on the signer can create or modify the corresponding
43+
* bundle.
44+
*
45+
* @return {@link NonNamespaceOperation} for ClusterTrustBundle
46+
*/
47+
NonNamespaceOperation<ClusterTrustBundle, ClusterTrustBundleList, Resource<ClusterTrustBundle>> clusterTrustBundles();
2448
}

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/impl/AuthenticationAPIGroupClient.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import io.fabric8.kubernetes.client.V1AuthenticationAPIGroupDSL;
1919
import io.fabric8.kubernetes.client.dsl.AuthenticationAPIGroupDSL;
20-
import io.fabric8.kubernetes.client.dsl.V1Beta1AuthenticationAPIGroupDSL;
2120
import io.fabric8.kubernetes.client.extension.ClientAdapter;
2221

2322
public class AuthenticationAPIGroupClient extends ClientAdapter<AuthenticationAPIGroupClient>
@@ -27,11 +26,6 @@ public V1AuthenticationAPIGroupDSL v1() {
2726
return adapt(V1AuthenticationAPIGroupClient.class);
2827
}
2928

30-
@Override
31-
public V1Beta1AuthenticationAPIGroupDSL v1beta1() {
32-
return adapt(V1Beta1AuthenticationAPIGroupClient.class);
33-
}
34-
3529
@Override
3630
public AuthenticationAPIGroupClient newInstance() {
3731
return new AuthenticationAPIGroupClient();

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/impl/KubernetesClientImpl.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@
126126
import io.fabric8.kubernetes.client.dsl.V1APIGroupDSL;
127127
import io.fabric8.kubernetes.client.dsl.V1Alpha1CertificatesAPIGroupDSL;
128128
import io.fabric8.kubernetes.client.dsl.V1BatchAPIGroupDSL;
129-
import io.fabric8.kubernetes.client.dsl.V1Beta1AuthenticationAPIGroupDSL;
130129
import io.fabric8.kubernetes.client.dsl.V1CertificatesAPIGroupDSL;
131130
import io.fabric8.kubernetes.client.dsl.V1DiscoveryAPIGroupDSL;
132131
import io.fabric8.kubernetes.client.dsl.V1EventingAPIGroupDSL;
@@ -252,7 +251,6 @@ protected void registerDefaultAdapters() {
252251
adapters.registerClient(V1AuthorizationAPIGroupDSL.class, new V1AuthorizationAPIGroupClient());
253252
adapters.registerClient(V1beta1AuthorizationAPIGroupDSL.class, new V1beta1AuthorizationAPIGroupClient());
254253
adapters.registerClient(V1AuthenticationAPIGroupDSL.class, new V1AuthenticationAPIGroupClient());
255-
adapters.registerClient(V1Beta1AuthenticationAPIGroupDSL.class, new V1Beta1AuthenticationAPIGroupClient());
256254
adapters.registerClient(V1NetworkAPIGroupDSL.class, new V1NetworkAPIGroupClient());
257255
adapters.registerClient(V1beta1NetworkAPIGroupDSL.class, new V1beta1NetworkAPIGroupClient());
258256
adapters.registerClient(DiscoveryAPIGroupDSL.class, new DiscoveryAPIGroupClient());

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/impl/V1Beta1AuthenticationAPIGroupClient.java

Lines changed: 0 additions & 34 deletions
This file was deleted.

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/impl/V1NetworkAPIGroupClient.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,19 @@
1515
*/
1616
package io.fabric8.kubernetes.client.impl;
1717

18+
import io.fabric8.kubernetes.api.model.networking.v1.IPAddress;
19+
import io.fabric8.kubernetes.api.model.networking.v1.IPAddressList;
1820
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
1921
import io.fabric8.kubernetes.api.model.networking.v1.IngressClass;
2022
import io.fabric8.kubernetes.api.model.networking.v1.IngressClassList;
2123
import io.fabric8.kubernetes.api.model.networking.v1.IngressList;
2224
import io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicy;
2325
import io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicyList;
26+
import io.fabric8.kubernetes.api.model.networking.v1.ServiceCIDR;
27+
import io.fabric8.kubernetes.api.model.networking.v1.ServiceCIDRList;
2428
import io.fabric8.kubernetes.client.V1NetworkAPIGroupDSL;
2529
import io.fabric8.kubernetes.client.dsl.MixedOperation;
30+
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
2631
import io.fabric8.kubernetes.client.dsl.Resource;
2732
import io.fabric8.kubernetes.client.extension.ClientAdapter;
2833

@@ -39,10 +44,20 @@ public MixedOperation<Ingress, IngressList, Resource<Ingress>> ingresses() {
3944
}
4045

4146
@Override
42-
public MixedOperation<IngressClass, IngressClassList, Resource<IngressClass>> ingressClasses() {
47+
public NonNamespaceOperation<IngressClass, IngressClassList, Resource<IngressClass>> ingressClasses() {
4348
return resources(IngressClass.class, IngressClassList.class);
4449
}
4550

51+
@Override
52+
public NonNamespaceOperation<IPAddress, IPAddressList, Resource<IPAddress>> ipAddresses() {
53+
return resources(IPAddress.class, IPAddressList.class);
54+
}
55+
56+
@Override
57+
public NonNamespaceOperation<ServiceCIDR, ServiceCIDRList, Resource<ServiceCIDR>> serviceCIDRs() {
58+
return resources(ServiceCIDR.class, ServiceCIDRList.class);
59+
}
60+
4661
@Override
4762
public V1NetworkAPIGroupClient newInstance() {
4863
return new V1NetworkAPIGroupClient();

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/impl/V1beta1CertificatesAPIGroupClient.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@
1717

1818
import io.fabric8.kubernetes.api.model.certificates.v1beta1.CertificateSigningRequest;
1919
import io.fabric8.kubernetes.api.model.certificates.v1beta1.CertificateSigningRequestList;
20+
import io.fabric8.kubernetes.api.model.certificates.v1beta1.ClusterTrustBundle;
21+
import io.fabric8.kubernetes.api.model.certificates.v1beta1.ClusterTrustBundleList;
2022
import io.fabric8.kubernetes.client.dsl.NonNamespaceOperation;
23+
import io.fabric8.kubernetes.client.dsl.Resource;
2124
import io.fabric8.kubernetes.client.dsl.V1beta1CertificateSigningRequestResource;
2225
import io.fabric8.kubernetes.client.dsl.V1beta1CertificatesAPIGroupDSL;
2326
import io.fabric8.kubernetes.client.extension.ClientAdapter;
@@ -32,6 +35,11 @@ public NonNamespaceOperation<CertificateSigningRequest, CertificateSigningReques
3235
V1beta1CertificateSigningRequestResource.class);
3336
}
3437

38+
@Override
39+
public NonNamespaceOperation<ClusterTrustBundle, ClusterTrustBundleList, Resource<ClusterTrustBundle>> clusterTrustBundles() {
40+
return resources(ClusterTrustBundle.class, ClusterTrustBundleList.class);
41+
}
42+
3543
@Override
3644
public V1beta1CertificatesAPIGroupClient newInstance() {
3745
return new V1beta1CertificatesAPIGroupClient();

kubernetes-model-generator/kubernetes-model-admissionregistration/src/generated/java/io/fabric8/kubernetes/api/model/admissionregistration/v1alpha1/MatchResources.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public MatchResources(List<NamedRuleWithOperations> excludeResourceRules, String
102102
}
103103

104104
/**
105-
* ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
105+
* ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
106106
*/
107107
@JsonProperty("excludeResourceRules")
108108
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@@ -111,23 +111,23 @@ public List<NamedRuleWithOperations> getExcludeResourceRules() {
111111
}
112112

113113
/**
114-
* ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
114+
* ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
115115
*/
116116
@JsonProperty("excludeResourceRules")
117117
public void setExcludeResourceRules(List<NamedRuleWithOperations> excludeResourceRules) {
118118
this.excludeResourceRules = excludeResourceRules;
119119
}
120120

121121
/**
122-
* matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".<br><p> <br><p> - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.<br><p> <br><p> - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.<br><p> <br><p> Defaults to "Equivalent"
122+
* matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".<br><p> <br><p> - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.<br><p> <br><p> - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy &#42;&#42;does&#42;&#42; consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.<br><p> <br><p> Defaults to "Equivalent"
123123
*/
124124
@JsonProperty("matchPolicy")
125125
public String getMatchPolicy() {
126126
return matchPolicy;
127127
}
128128

129129
/**
130-
* matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".<br><p> <br><p> - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.<br><p> <br><p> - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.<br><p> <br><p> Defaults to "Equivalent"
130+
* matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".<br><p> <br><p> - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.<br><p> <br><p> - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy &#42;&#42;does&#42;&#42; consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.<br><p> <br><p> Defaults to "Equivalent"
131131
*/
132132
@JsonProperty("matchPolicy")
133133
public void setMatchPolicy(String matchPolicy) {
@@ -167,7 +167,7 @@ public void setObjectSelector(LabelSelector objectSelector) {
167167
}
168168

169169
/**
170-
* ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.
170+
* ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.
171171
*/
172172
@JsonProperty("resourceRules")
173173
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@@ -176,7 +176,7 @@ public List<NamedRuleWithOperations> getResourceRules() {
176176
}
177177

178178
/**
179-
* ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.
179+
* ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.
180180
*/
181181
@JsonProperty("resourceRules")
182182
public void setResourceRules(List<NamedRuleWithOperations> resourceRules) {

0 commit comments

Comments
 (0)