Skip to content

Commit e0f536b

Browse files
committed
use the ClusterTrustBundles beta API
1 parent f598b48 commit e0f536b

File tree

20 files changed

+165
-136
lines changed

20 files changed

+165
-136
lines changed

cmd/kube-controller-manager/app/certificates.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"context"
2424
"fmt"
2525

26-
certificatesv1alpha1 "k8s.io/api/certificates/v1alpha1"
26+
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
2727
"k8s.io/apiserver/pkg/server/dynamiccertificates"
2828
utilfeature "k8s.io/apiserver/pkg/util/feature"
2929
"k8s.io/client-go/kubernetes"
@@ -272,7 +272,7 @@ func newKubeAPIServerSignerClusterTrustBundledPublisherController(ctx context.Co
272272
}
273273

274274
func clusterTrustBundlesAvailable(client kubernetes.Interface) (bool, error) {
275-
resList, err := client.Discovery().ServerResourcesForGroupVersion(certificatesv1alpha1.SchemeGroupVersion.String())
275+
resList, err := client.Discovery().ServerResourcesForGroupVersion(certificatesv1beta1.SchemeGroupVersion.String())
276276

277277
if resList != nil {
278278
// even in case of an error above there might be a partial list for APIs that

pkg/controller/certificates/clustertrustbundlepublisher/metrics_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"testing"
2424
"time"
2525

26-
certificatesv1alpha1 "k8s.io/api/certificates/v1alpha1"
26+
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
2727
apierrors "k8s.io/apimachinery/pkg/api/errors"
2828
"k8s.io/component-base/metrics/legacyregistry"
2929
"k8s.io/component-base/metrics/testutil"
@@ -50,7 +50,7 @@ clustertrustbundle_publisher_sync_total{code="200"} 1
5050
},
5151
{
5252
desc: "kube api error",
53-
err: apierrors.NewNotFound(certificatesv1alpha1.Resource("clustertrustbundle"), "test.test:testSigner:something"),
53+
err: apierrors.NewNotFound(certificatesv1beta1.Resource("clustertrustbundle"), "test.test:testSigner:something"),
5454
metrics: []string{
5555
"clustertrustbundle_publisher_sync_total",
5656
},

pkg/controller/certificates/clustertrustbundlepublisher/publisher.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@ import (
2323
"strings"
2424
"time"
2525

26-
certificatesv1alpha1 "k8s.io/api/certificates/v1alpha1"
26+
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
2727
apierrors "k8s.io/apimachinery/pkg/api/errors"
2828
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2929
"k8s.io/apimachinery/pkg/fields"
3030
"k8s.io/apimachinery/pkg/labels"
3131
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
3232
"k8s.io/apimachinery/pkg/util/wait"
3333
"k8s.io/apiserver/pkg/server/dynamiccertificates"
34-
certinformers "k8s.io/client-go/informers/certificates/v1alpha1"
34+
certinformers "k8s.io/client-go/informers/certificates/v1beta1"
3535
clientset "k8s.io/client-go/kubernetes"
36-
certlisters "k8s.io/client-go/listers/certificates/v1alpha1"
36+
certlisters "k8s.io/client-go/listers/certificates/v1beta1"
3737
"k8s.io/client-go/tools/cache"
3838
"k8s.io/client-go/util/workqueue"
3939
"k8s.io/klog/v2"
@@ -174,19 +174,19 @@ func (p *ClusterTrustBundlePublisher) syncClusterTrustBundle(ctx context.Context
174174

175175
bundle, err := p.ctbLister.Get(bundleName)
176176
if apierrors.IsNotFound(err) {
177-
_, err = p.client.CertificatesV1alpha1().ClusterTrustBundles().Create(ctx, &certificatesv1alpha1.ClusterTrustBundle{
177+
_, err = p.client.CertificatesV1beta1().ClusterTrustBundles().Create(ctx, &certificatesv1beta1.ClusterTrustBundle{
178178
ObjectMeta: metav1.ObjectMeta{
179179
Name: bundleName,
180180
},
181-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
181+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
182182
SignerName: p.signerName,
183183
TrustBundle: caBundle,
184184
},
185185
}, metav1.CreateOptions{})
186186
} else if err == nil && bundle.Spec.TrustBundle != caBundle {
187187
bundle = bundle.DeepCopy()
188188
bundle.Spec.TrustBundle = caBundle
189-
_, err = p.client.CertificatesV1alpha1().ClusterTrustBundles().Update(ctx, bundle, metav1.UpdateOptions{})
189+
_, err = p.client.CertificatesV1beta1().ClusterTrustBundles().Update(ctx, bundle, metav1.UpdateOptions{})
190190
}
191191

192192
if err != nil {
@@ -205,7 +205,7 @@ func (p *ClusterTrustBundlePublisher) syncClusterTrustBundle(ctx context.Context
205205
continue
206206
}
207207

208-
if err := p.client.CertificatesV1alpha1().ClusterTrustBundles().Delete(ctx, bundleObject.Name, metav1.DeleteOptions{}); err != nil && !apierrors.IsNotFound(err) {
208+
if err := p.client.CertificatesV1beta1().ClusterTrustBundles().Delete(ctx, bundleObject.Name, metav1.DeleteOptions{}); err != nil && !apierrors.IsNotFound(err) {
209209
klog.FromContext(ctx).Error(err, "failed to remove a cluster trust bundle", "bundleName", bundleObject.Name)
210210
deletionError = err
211211
}

pkg/controller/certificates/clustertrustbundlepublisher/publisher_test.go

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
cryptorand "crypto/rand"
2323
"testing"
2424

25-
certificatesv1alpha1 "k8s.io/api/certificates/v1alpha1"
25+
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
2626
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2727
"k8s.io/apimachinery/pkg/runtime"
2828
"k8s.io/apiserver/pkg/server/dynamiccertificates"
@@ -44,7 +44,7 @@ func TestCTBPublisherSync(t *testing.T) {
4444

4545
createAction := expectAction[clienttesting.CreateAction](t, filteredActions[0], "create")
4646

47-
ctb, ok := createAction.GetObject().(*certificatesv1alpha1.ClusterTrustBundle)
47+
ctb, ok := createAction.GetObject().(*certificatesv1beta1.ClusterTrustBundle)
4848
if !ok {
4949
t.Fatalf("expected ClusterTrustBundle create, got %v", createAction.GetObject())
5050
}
@@ -63,7 +63,7 @@ func TestCTBPublisherSync(t *testing.T) {
6363

6464
updateAction := expectAction[clienttesting.UpdateAction](t, filteredActions[0], "update")
6565

66-
ctb, ok := updateAction.GetObject().(*certificatesv1alpha1.ClusterTrustBundle)
66+
ctb, ok := updateAction.GetObject().(*certificatesv1beta1.ClusterTrustBundle)
6767
if !ok {
6868
t.Fatalf("expected ClusterTrustBundle update, got %v", updateAction.GetObject())
6969
}
@@ -109,19 +109,19 @@ func TestCTBPublisherSync(t *testing.T) {
109109
{
110110
name: "no CTBs for the current signer exist",
111111
existingCTBs: []runtime.Object{
112-
&certificatesv1alpha1.ClusterTrustBundle{
112+
&certificatesv1beta1.ClusterTrustBundle{
113113
ObjectMeta: metav1.ObjectMeta{
114114
Name: "nosigner",
115115
},
116-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
116+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
117117
TrustBundle: "somedatahere",
118118
},
119119
},
120-
&certificatesv1alpha1.ClusterTrustBundle{
120+
&certificatesv1beta1.ClusterTrustBundle{
121121
ObjectMeta: metav1.ObjectMeta{
122122
Name: "signer:one",
123123
},
124-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
124+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
125125
SignerName: "signer",
126126
TrustBundle: "signerdata",
127127
},
@@ -132,11 +132,11 @@ func TestCTBPublisherSync(t *testing.T) {
132132
{
133133
name: "CTB for the signer exists with different content",
134134
existingCTBs: []runtime.Object{
135-
&certificatesv1alpha1.ClusterTrustBundle{
135+
&certificatesv1beta1.ClusterTrustBundle{
136136
ObjectMeta: metav1.ObjectMeta{
137137
Name: testBundleName,
138138
},
139-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
139+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
140140
SignerName: testSignerName,
141141
TrustBundle: "olddata",
142142
},
@@ -147,20 +147,20 @@ func TestCTBPublisherSync(t *testing.T) {
147147
{
148148
name: "multiple CTBs for the signer",
149149
existingCTBs: []runtime.Object{
150-
&certificatesv1alpha1.ClusterTrustBundle{
150+
&certificatesv1beta1.ClusterTrustBundle{
151151
ObjectMeta: metav1.ObjectMeta{
152152
Name: testBundleName,
153153
},
154-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
154+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
155155
SignerName: testSignerName,
156156
TrustBundle: string(testCAProvider.CurrentCABundleContent()),
157157
},
158158
},
159-
&certificatesv1alpha1.ClusterTrustBundle{
159+
&certificatesv1beta1.ClusterTrustBundle{
160160
ObjectMeta: metav1.ObjectMeta{
161161
Name: "test.test/testSigner:name2",
162162
},
163-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
163+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
164164
SignerName: testSignerName,
165165
TrustBundle: string(testCAProvider.CurrentCABundleContent()),
166166
},
@@ -171,20 +171,20 @@ func TestCTBPublisherSync(t *testing.T) {
171171
{
172172
name: "multiple CTBs for the signer - the one with the proper name needs changing",
173173
existingCTBs: []runtime.Object{
174-
&certificatesv1alpha1.ClusterTrustBundle{
174+
&certificatesv1beta1.ClusterTrustBundle{
175175
ObjectMeta: metav1.ObjectMeta{
176176
Name: testBundleName,
177177
},
178-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
178+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
179179
SignerName: testSignerName,
180180
TrustBundle: "olddata",
181181
},
182182
},
183-
&certificatesv1alpha1.ClusterTrustBundle{
183+
&certificatesv1beta1.ClusterTrustBundle{
184184
ObjectMeta: metav1.ObjectMeta{
185185
Name: "test.test/testSigner:name2",
186186
},
187-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
187+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
188188
SignerName: testSignerName,
189189
TrustBundle: string(testCAProvider.CurrentCABundleContent()),
190190
},
@@ -202,11 +202,11 @@ func TestCTBPublisherSync(t *testing.T) {
202202
{
203203
name: "another CTB with a different name exists for the signer",
204204
existingCTBs: []runtime.Object{
205-
&certificatesv1alpha1.ClusterTrustBundle{
205+
&certificatesv1beta1.ClusterTrustBundle{
206206
ObjectMeta: metav1.ObjectMeta{
207207
Name: "test.test/testSigner:preexisting",
208208
},
209-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
209+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
210210
SignerName: testSignerName,
211211
TrustBundle: string(testCAProvider.CurrentCABundleContent()),
212212
},
@@ -224,28 +224,28 @@ func TestCTBPublisherSync(t *testing.T) {
224224
{
225225
name: "CTB at the correct state - noop",
226226
existingCTBs: []runtime.Object{
227-
&certificatesv1alpha1.ClusterTrustBundle{
227+
&certificatesv1beta1.ClusterTrustBundle{
228228
ObjectMeta: metav1.ObjectMeta{
229229
Name: "nosigner",
230230
},
231-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
231+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
232232
TrustBundle: "somedatahere",
233233
},
234234
},
235-
&certificatesv1alpha1.ClusterTrustBundle{
235+
&certificatesv1beta1.ClusterTrustBundle{
236236
ObjectMeta: metav1.ObjectMeta{
237237
Name: "signer:one",
238238
},
239-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
239+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
240240
SignerName: "signer",
241241
TrustBundle: "signerdata",
242242
},
243243
},
244-
&certificatesv1alpha1.ClusterTrustBundle{
244+
&certificatesv1beta1.ClusterTrustBundle{
245245
ObjectMeta: metav1.ObjectMeta{
246246
Name: testBundleName,
247247
},
248-
Spec: certificatesv1alpha1.ClusterTrustBundleSpec{
248+
Spec: certificatesv1beta1.ClusterTrustBundleSpec{
249249
SignerName: testSignerName,
250250
TrustBundle: string(testCAProvider.CurrentCABundleContent()),
251251
},
@@ -297,9 +297,9 @@ func fakeKubeClientSetWithCTBList(t *testing.T, signerName string, ctbs ...runti
297297
return false, nil, nil
298298
}
299299

300-
retList := &certificatesv1alpha1.ClusterTrustBundleList{}
300+
retList := &certificatesv1beta1.ClusterTrustBundleList{}
301301
for _, ctb := range ctbs {
302-
ctbObj, ok := ctb.(*certificatesv1alpha1.ClusterTrustBundle)
302+
ctbObj, ok := ctb.(*certificatesv1beta1.ClusterTrustBundle)
303303
if !ok {
304304
continue
305305
}

pkg/controlplane/apiserver/aggregator.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,7 @@ func DefaultGenericAPIServicePriorities() map[schema.GroupVersion]APIServicePrio
277277
{Group: "authentication.k8s.io", Version: "v1alpha1"}: {Group: 17700, Version: 1},
278278
{Group: "authorization.k8s.io", Version: "v1"}: {Group: 17600, Version: 15},
279279
{Group: "certificates.k8s.io", Version: "v1"}: {Group: 17300, Version: 15},
280+
{Group: "certificates.k8s.io", Version: "v1beta1"}: {Group: 17300, Version: 9},
280281
{Group: "certificates.k8s.io", Version: "v1alpha1"}: {Group: 17300, Version: 1},
281282
{Group: "rbac.authorization.k8s.io", Version: "v1"}: {Group: 17000, Version: 15},
282283
{Group: "apiextensions.k8s.io", Version: "v1"}: {Group: 16700, Version: 15},

pkg/controlplane/instance.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
batchapiv1 "k8s.io/api/batch/v1"
3838
certificatesapiv1 "k8s.io/api/certificates/v1"
3939
certificatesv1alpha1 "k8s.io/api/certificates/v1alpha1"
40+
certificatesv1beta1 "k8s.io/api/certificates/v1beta1"
4041
coordinationapiv1 "k8s.io/api/coordination/v1"
4142
coordinationv1alpha2 "k8s.io/api/coordination/v1alpha2"
4243
apiv1 "k8s.io/api/core/v1"
@@ -457,6 +458,7 @@ var (
457458
betaAPIGroupVersionsDisabledByDefault = []schema.GroupVersion{
458459
admissionregistrationv1beta1.SchemeGroupVersion,
459460
authenticationv1beta1.SchemeGroupVersion,
461+
certificatesv1beta1.SchemeGroupVersion,
460462
storageapiv1beta1.SchemeGroupVersion,
461463
flowcontrolv1beta1.SchemeGroupVersion,
462464
flowcontrolv1beta2.SchemeGroupVersion,

pkg/kubeapiserver/default_storage_factory_builder.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func NewStorageFactoryConfigEffectiveVersion(effectiveVersion basecompatibility.
8686
networking.Resource("servicecidrs").WithVersion("v1beta1"),
8787
admissionregistration.Resource("mutatingadmissionpolicies").WithVersion("v1alpha1"),
8888
admissionregistration.Resource("mutatingadmissionpolicybindings").WithVersion("v1alpha1"),
89-
certificates.Resource("clustertrustbundles").WithVersion("v1alpha1"),
89+
certificates.Resource("clustertrustbundles").WithVersion("v1beta1"),
9090
storage.Resource("volumeattributesclasses").WithVersion("v1beta1"),
9191
storagemigration.Resource("storagemigrations").WithVersion("v1alpha1"),
9292
}

0 commit comments

Comments
 (0)