Skip to content

Commit 28c9e5e

Browse files
test(e2e): add validation for secure + server TLS bootstrapping (#7362)
1 parent 67d7250 commit 28c9e5e

File tree

13 files changed

+586
-309
lines changed

13 files changed

+586
-309
lines changed

e2e/cluster.go

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,13 @@ type ClusterParams struct {
3232
}
3333

3434
type Cluster struct {
35-
Model *armcontainerservice.ManagedCluster
36-
Kube *Kubeclient
37-
SubnetID string
38-
ClusterParams *ClusterParams
39-
Maintenance *armcontainerservice.MaintenanceConfiguration
40-
DebugPod *corev1.Pod
35+
Model *armcontainerservice.ManagedCluster
36+
Kube *Kubeclient
37+
KubeletIdentity *armcontainerservice.UserAssignedIdentity
38+
SubnetID string
39+
ClusterParams *ClusterParams
40+
Maintenance *armcontainerservice.MaintenanceConfiguration
41+
DebugPod *corev1.Pod
4142
}
4243

4344
// Returns true if the cluster is configured with Azure CNI
@@ -99,13 +100,14 @@ func prepareCluster(ctx context.Context, cluster *armcontainerservice.ManagedClu
99100
}
100101
}
101102

103+
kubeletIdentity, err := getClusterKubeletIdentity(cluster)
104+
if err != nil {
105+
return nil, fmt.Errorf("getting cluster kubelet identity: %w", err)
106+
}
107+
102108
if isNonAnonymousPull {
103-
kubeletIdentity, err := getClusterKubeletIdentity(cluster)
104-
if err != nil {
105-
return nil, fmt.Errorf("getting kubelet identity to assign ACR pull permissions: %w", err)
106-
}
107109
if err := assignACRPullToIdentity(ctx, config.GetPrivateACRName(isNonAnonymousPull, *cluster.Location), *kubeletIdentity.ObjectID, *cluster.Location); err != nil {
108-
return nil, fmt.Errorf("assign acr pull to the managed identity: %w", err)
110+
return nil, fmt.Errorf("assigning acr pull permissions to kubelet identity: %w", err)
109111
}
110112
}
111113

@@ -130,12 +132,13 @@ func prepareCluster(ctx context.Context, cluster *armcontainerservice.ManagedClu
130132
}
131133

132134
return &Cluster{
133-
Model: cluster,
134-
Kube: kube,
135-
SubnetID: subnetID,
136-
Maintenance: maintenance,
137-
ClusterParams: clusterParams,
138-
DebugPod: hostPod,
135+
Model: cluster,
136+
Kube: kube,
137+
KubeletIdentity: kubeletIdentity,
138+
SubnetID: subnetID,
139+
Maintenance: maintenance,
140+
ClusterParams: clusterParams,
141+
DebugPod: hostPod,
139142
}, nil
140143
}
141144

e2e/config/vhd.go

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ var (
9292
Distro: datamodel.AKSAzureLinuxV3OSGuardGen2FIPSTL,
9393
Gallery: imageGalleryLinux,
9494
UnsupportedLocalDns: true,
95+
// Secure TLS Bootstrapping isn't currently supported on FIPS-enabled VHDs
96+
UnsupportedSecureTLSBootstrapping: true,
9597
}
9698
VHDCBLMarinerV2Gen2Arm64 = &Image{
9799
Name: "CBLMarinerV2gen2arm64",
@@ -119,6 +121,8 @@ var (
119121
Gallery: imageGalleryLinux,
120122
UnsupportedKubeletNodeIP: true,
121123
UnsupportedLocalDns: true,
124+
// Old image, doesn't have Secure TLS Bootstrapping support
125+
UnsupportedSecureTLSBootstrapping: true,
122126
}
123127

124128
// without kubelet, kubectl, credential-provider and wasm
@@ -130,6 +134,8 @@ var (
130134
Distro: datamodel.AKSUbuntuContainerd2204Gen2,
131135
Gallery: imageGalleryLinux,
132136
UnsupportedLocalDns: true,
137+
// Old image, doesn't have Secure TLS Bootstrapping support
138+
UnsupportedSecureTLSBootstrapping: true,
133139
}
134140

135141
VHDUbuntu2404Gen1Containerd = &Image{
@@ -240,15 +246,16 @@ type perLocationVHDCache struct {
240246
}
241247

242248
type Image struct {
243-
Arch string
244-
Distro datamodel.Distro
245-
Name string
246-
OS OS
247-
Version string
248-
Gallery *Gallery
249-
UnsupportedKubeletNodeIP bool
250-
UnsupportedLocalDns bool
251-
Flatcar bool
249+
Arch string
250+
Distro datamodel.Distro
251+
Name string
252+
OS OS
253+
Version string
254+
Gallery *Gallery
255+
UnsupportedKubeletNodeIP bool
256+
UnsupportedLocalDns bool
257+
UnsupportedSecureTLSBootstrapping bool
258+
Flatcar bool
252259
}
253260

254261
func (i *Image) String() string {

e2e/go.mod

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/Azure/agentbaker/e2e
22

3-
go 1.23.7
3+
go 1.24.0
44

55
require (
66
github.com/Azure/agentbaker v0.20240503.0
@@ -24,9 +24,9 @@ require (
2424
github.com/stretchr/testify v1.11.1
2525
github.com/tidwall/gjson v1.18.0
2626
golang.org/x/crypto v0.41.0
27-
k8s.io/api v0.32.3
28-
k8s.io/apimachinery v0.32.3
29-
k8s.io/client-go v0.32.3
27+
k8s.io/api v0.34.2
28+
k8s.io/apimachinery v0.34.2
29+
k8s.io/client-go v0.34.2
3030
sigs.k8s.io/controller-runtime v0.20.4
3131
)
3232

@@ -46,9 +46,12 @@ require (
4646
github.com/vincent-petithory/dataurl v1.0.0 // indirect
4747
go.uber.org/multierr v1.11.0 // indirect
4848
go.uber.org/zap v1.27.0 // indirect
49+
go.yaml.in/yaml/v2 v2.4.2 // indirect
50+
go.yaml.in/yaml/v3 v3.0.4 // indirect
4951
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
5052
sigs.k8s.io/randfill v1.0.0 // indirect
51-
sigs.k8s.io/yaml v1.4.0 // indirect
53+
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
54+
sigs.k8s.io/yaml v1.6.0 // indirect
5255
)
5356

5457
require (
@@ -58,26 +61,23 @@ require (
5861
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
5962
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
6063
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
61-
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
64+
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
6265
github.com/go-logr/logr v1.4.3 // indirect
6366
github.com/go-openapi/jsonpointer v0.21.1 // indirect
6467
github.com/go-openapi/jsonreference v0.21.0 // indirect
6568
github.com/go-openapi/swag v0.23.1 // indirect
6669
github.com/gogo/protobuf v1.3.2 // indirect
6770
github.com/golang-jwt/jwt/v5 v5.2.3 // indirect
68-
github.com/golang/protobuf v1.5.4 // indirect
69-
github.com/google/gnostic-models v0.6.9 // indirect
70-
github.com/google/go-cmp v0.7.0 // indirect
71-
github.com/google/gofuzz v1.2.0 // indirect
71+
github.com/google/gnostic-models v0.7.0 // indirect
7272
github.com/google/uuid v1.6.0
73-
github.com/gorilla/websocket v1.5.3 // indirect
73+
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect
7474
github.com/josharian/intern v1.0.0 // indirect
7575
github.com/json-iterator/go v1.1.12 // indirect
7676
github.com/kylelemons/godebug v1.1.0 // indirect
7777
github.com/mailru/easyjson v0.9.0 // indirect
7878
github.com/moby/spdystream v0.5.0 // indirect
7979
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
80-
github.com/modern-go/reflect2 v1.0.2 // indirect
80+
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
8181
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
8282
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
8383
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
@@ -97,10 +97,9 @@ require (
9797
gopkg.in/inf.v0 v0.9.1 // indirect
9898
gopkg.in/yaml.v3 v3.0.1 // indirect
9999
k8s.io/klog/v2 v2.130.1 // indirect
100-
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect
101-
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e // indirect
100+
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect
101+
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect
102102
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
103-
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
104103
)
105104

106105
replace github.com/Azure/agentbaker => ../

e2e/go.sum

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ github.com/flatcar/ignition/v2 v2.0.0-20250903113522-05b8a773288c h1:MDbKEbAGtJu
8585
github.com/flatcar/ignition/v2 v2.0.0-20250903113522-05b8a773288c/go.mod h1:I75u/02g4G1qkgdWOtcbn4oF4d4L9VC5jtkpAlgAHnk=
8686
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
8787
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
88-
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
89-
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
88+
github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
89+
github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
9090
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
9191
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
9292
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
@@ -104,22 +104,17 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
104104
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
105105
github.com/golang-jwt/jwt/v5 v5.2.3 h1:kkGXqQOBSDDWRhWNXTFpqGSCMyh/PLnqUvMGJPDJDs0=
106106
github.com/golang-jwt/jwt/v5 v5.2.3/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
107-
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
108-
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
109-
github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
110-
github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw=
111-
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
107+
github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo=
108+
github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ=
112109
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
113110
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
114111
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
115-
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
116-
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
117112
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo=
118113
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
119114
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
120115
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
121-
github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg=
122-
github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
116+
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo=
117+
github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA=
123118
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
124119
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
125120
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
@@ -143,8 +138,9 @@ github.com/moby/spdystream v0.5.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVO
143138
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
144139
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
145140
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
146-
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
147141
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
142+
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
143+
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
148144
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
149145
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
150146
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
@@ -167,13 +163,15 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
167163
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
168164
github.com/redis/go-redis/v9 v9.8.0 h1:q3nRvjrlge/6UD7eTu/DSg2uYiU2mCL0G/uzBWqhicI=
169165
github.com/redis/go-redis/v9 v9.8.0/go.mod h1:huWgSWd8mW6+m0VPhJjSSQ+d6Nh1VICQ6Q5lHuCH/Iw=
170-
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
171-
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
166+
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
167+
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
172168
github.com/sanity-io/litter v1.5.5 h1:iE+sBxPBzoK6uaEP5Lt3fHNgpKcHXc/A2HGETy0uJQo=
173169
github.com/sanity-io/litter v1.5.5/go.mod h1:9gzJgR2i4ZpjZHsKvUXIRQVk7P+yM3e+jAF7bU2UI5U=
174170
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
175171
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
176172
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
173+
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
174+
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
177175
github.com/stretchr/testify v0.0.0-20161117074351-18a02ba4a312/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
178176
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
179177
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
@@ -197,6 +195,8 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
197195
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
198196
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
199197
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
198+
go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=
199+
go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU=
200200
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
201201
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
202202
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
@@ -254,28 +254,27 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkep
254254
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
255255
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
256256
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
257-
k8s.io/api v0.32.3 h1:Hw7KqxRusq+6QSplE3NYG4MBxZw1BZnq4aP4cJVINls=
258-
k8s.io/api v0.32.3/go.mod h1:2wEDTXADtm/HA7CCMD8D8bK4yuBUptzaRhYcYEEYA3k=
257+
k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY=
258+
k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw=
259259
k8s.io/apiextensions-apiserver v0.32.1 h1:hjkALhRUeCariC8DiVmb5jj0VjIc1N0DREP32+6UXZw=
260260
k8s.io/apiextensions-apiserver v0.32.1/go.mod h1:sxWIGuGiYov7Io1fAS2X06NjMIk5CbRHc2StSmbaQto=
261-
k8s.io/apimachinery v0.32.3 h1:JmDuDarhDmA/Li7j3aPrwhpNBA94Nvk5zLeOge9HH1U=
262-
k8s.io/apimachinery v0.32.3/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE=
263-
k8s.io/client-go v0.32.3 h1:RKPVltzopkSgHS7aS98QdscAgtgah/+zmpAogooIqVU=
264-
k8s.io/client-go v0.32.3/go.mod h1:3v0+3k4IcT9bXTc4V2rt+d2ZPPG700Xy6Oi0Gdl2PaY=
261+
k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4=
262+
k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw=
263+
k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M=
264+
k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE=
265265
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
266266
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
267-
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
268-
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
269-
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e h1:KqK5c/ghOm8xkHYhlodbp6i6+r+ChV2vuAuVRdFbLro=
270-
k8s.io/utils v0.0.0-20250321185631-1f6e0b77f77e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
267+
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA=
268+
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts=
269+
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y=
270+
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
271271
sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU=
272272
sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY=
273273
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
274274
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
275-
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
276275
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
277276
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
278-
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc=
279-
sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
280-
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
281-
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
277+
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco=
278+
sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
279+
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
280+
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=

e2e/kube.go

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,9 @@ import (
1818
errorsk8s "k8s.io/apimachinery/pkg/api/errors"
1919
"k8s.io/apimachinery/pkg/api/resource"
2020
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21-
"k8s.io/apimachinery/pkg/runtime/schema"
22-
"k8s.io/apimachinery/pkg/runtime/serializer"
2321
"k8s.io/apimachinery/pkg/util/wait"
2422
"k8s.io/apimachinery/pkg/watch"
2523
"k8s.io/client-go/kubernetes"
26-
"k8s.io/client-go/kubernetes/scheme"
2724
"k8s.io/client-go/rest"
2825
"k8s.io/client-go/tools/clientcmd"
2926
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -52,12 +49,8 @@ func getClusterKubeClient(ctx context.Context, resourceGroupName, clusterName st
5249
if err != nil {
5350
return nil, fmt.Errorf("convert kubeconfig bytes to rest config: %w", err)
5451
}
55-
config.NegotiatedSerializer = serializer.WithoutConversionCodecFactory{CodecFactory: scheme.Codecs}
56-
config.APIPath = "/api"
57-
config.GroupVersion = &schema.GroupVersion{
58-
Version: "v1",
59-
}
60-
// it's test cluster avoid unnecessary rate limiting
52+
53+
// it's a test cluster - avoid unnecessary rate limiting
6154
config.QPS = 200
6255
config.Burst = 400
6356

@@ -66,16 +59,14 @@ func getClusterKubeClient(ctx context.Context, resourceGroupName, clusterName st
6659
return nil, fmt.Errorf("create dynamic Kubeclient: %w", err)
6760
}
6861

69-
restClient, err := rest.RESTClientFor(config)
62+
clientset, err := kubernetes.NewForConfig(config)
7063
if err != nil {
71-
return nil, fmt.Errorf("create rest kube client: %w", err)
64+
return nil, fmt.Errorf("creating kubernetes clientset from rest config: %w", err)
7265
}
7366

74-
typed := kubernetes.New(restClient)
75-
7667
return &Kubeclient{
7768
Dynamic: dynamic,
78-
Typed: typed,
69+
Typed: clientset,
7970
RESTConfig: config,
8071
KubeConfig: data,
8172
}, nil

0 commit comments

Comments
 (0)