Skip to content

Commit 6019fd6

Browse files
xhable137Artem Darmanyan
andauthored
[cloud-provider-yandex] CVE fix, fixed golangci-lint staticcheck and errcheck issues (#184)
--------- Signed-off-by: Artem Darmanyan <artem.darmanyan@flant.com> Co-authored-by: Artem Darmanyan <artem.darmanyan@flant.com>
1 parent 852722c commit 6019fd6

File tree

7 files changed

+42
-42
lines changed

7 files changed

+42
-42
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
- name: golangci-lint
3535
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
3636
with:
37-
version: v1.61.0
37+
version: v2.1.0
3838
args: --timeout=5m
3939
test:
4040
runs-on: ubuntu-latest

go.mod

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
module github.com/deckhouse/yandex-cloud-controller-manager
22

3-
go 1.23.0
3+
go 1.24.0
44

5-
toolchain go1.23.5
5+
toolchain go1.24.3
66

77
require (
88
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
99
github.com/deckarep/golang-set v1.8.0
1010
github.com/pkg/errors v0.9.1
1111
github.com/yandex-cloud/go-genproto v0.0.0-20250127124313-5be1a2cc06d4
1212
github.com/yandex-cloud/go-sdk v0.0.0-20250127132311-016f84adc072
13-
golang.org/x/sync v0.13.0
13+
golang.org/x/sync v0.18.0
1414
google.golang.org/genproto v0.0.0-20250124145028-65684f501c47
1515
google.golang.org/grpc v1.70.0
1616
google.golang.org/protobuf v1.36.4
@@ -45,7 +45,7 @@ require (
4545
github.com/go-openapi/jsonreference v0.21.0 // indirect
4646
github.com/go-openapi/swag v0.23.0 // indirect
4747
github.com/gogo/protobuf v1.3.2 // indirect
48-
github.com/golang-jwt/jwt/v4 v4.5.1 // indirect
48+
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
4949
github.com/golang/protobuf v1.5.4 // indirect
5050
github.com/google/btree v1.1.3 // indirect
5151
github.com/google/cel-go v0.22.0 // indirect
@@ -90,13 +90,13 @@ require (
9090
go.opentelemetry.io/proto/otlp v1.5.0 // indirect
9191
go.uber.org/multierr v1.11.0 // indirect
9292
go.uber.org/zap v1.27.0 // indirect
93-
golang.org/x/crypto v0.32.0 // indirect
93+
golang.org/x/crypto v0.45.0 // indirect
9494
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 // indirect
95-
golang.org/x/net v0.34.0 // indirect
96-
golang.org/x/oauth2 v0.25.0 // indirect
97-
golang.org/x/sys v0.29.0 // indirect
98-
golang.org/x/term v0.28.0 // indirect
99-
golang.org/x/text v0.21.0 // indirect
95+
golang.org/x/net v0.47.0 // indirect
96+
golang.org/x/oauth2 v0.27.0 // indirect
97+
golang.org/x/sys v0.38.0 // indirect
98+
golang.org/x/term v0.37.0 // indirect
99+
golang.org/x/text v0.31.0 // indirect
100100
golang.org/x/time v0.9.0 // indirect
101101
google.golang.org/genproto/googleapis/api v0.0.0-20250124145028-65684f501c47 // indirect
102102
google.golang.org/genproto/googleapis/rpc v0.0.0-20250124145028-65684f501c47 // indirect

go.sum

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZ
5959
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
6060
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
6161
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
62-
github.com/golang-jwt/jwt/v4 v4.5.1 h1:JdqV9zKUdtaa9gdPlywC3aeoEsR681PlKC+4F5gQgeo=
63-
github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
62+
github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI=
63+
github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
6464
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
6565
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
6666
github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg=
@@ -225,8 +225,8 @@ go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
225225
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
226226
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
227227
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
228-
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
229-
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
228+
golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
229+
golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
230230
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8 h1:yqrTHse8TCMW1M1ZCP+VAR/l0kKxwaAIqN/il7x4voA=
231231
golang.org/x/exp v0.0.0-20250106191152-7588d65b2ba8/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
232232
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -235,35 +235,35 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
235235
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
236236
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
237237
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
238-
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
239-
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
240-
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
241-
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
238+
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
239+
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
240+
golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M=
241+
golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8=
242242
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
243243
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
244244
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
245-
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
246-
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
245+
golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
246+
golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
247247
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
248248
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
249249
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
250250
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
251-
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
252-
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
253-
golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
254-
golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
251+
golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
252+
golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
253+
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
254+
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
255255
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
256256
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
257-
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
258-
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
257+
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
258+
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
259259
golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY=
260260
golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
261261
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
262262
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
263263
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
264264
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
265-
golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE=
266-
golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588=
265+
golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
266+
golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
267267
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
268268
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
269269
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

pkg/cloudprovider/yandex/instances.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func (yc *Cloud) InstanceShutdownByProviderID(ctx context.Context, providerID st
8181
}
8282

8383
func (yc *Cloud) extractNodeAddresses(ctx context.Context, instance *compute.Instance) ([]v1.NodeAddress, error) {
84-
if instance.NetworkInterfaces == nil || len(instance.NetworkInterfaces) < 1 {
84+
if len(instance.NetworkInterfaces) == 0 {
8585
return nil, fmt.Errorf("could not find network interfaces for instance: folderID=%s, name=%s", instance.FolderId, instance.Name)
8686
}
8787

pkg/cloudprovider/yandex/load_balancer.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ func (yc *Cloud) EnsureLoadBalancerDeleted(ctx context.Context, _ string, servic
103103

104104
func defaultLoadBalancerName(service *v1.Service) string {
105105
ret := "a" + string(service.UID)
106-
ret = strings.Replace(ret, "-", "", -1)
106+
ret = strings.ReplaceAll(ret, "-", "")
107107
if len(ret) > 32 {
108108
ret = ret[:32]
109109
}
@@ -253,51 +253,51 @@ type loadBalancerParameters struct {
253253
}
254254

255255
func (yc *Cloud) getLoadBalancerParameters(svc *v1.Service) (lbParams loadBalancerParameters, err error) {
256-
if value, ok := svc.ObjectMeta.Annotations[listenerSubnetIdAnnotation]; ok {
256+
if value, ok := svc.Annotations[listenerSubnetIdAnnotation]; ok {
257257
lbParams.internal = true
258258
lbParams.listenerSubnetID = value
259259
} else if len(yc.config.lbListenerSubnetID) != 0 {
260260
lbParams.listenerSubnetID = yc.config.lbListenerSubnetID
261-
_, isExternal := svc.ObjectMeta.Annotations[externalLoadBalancerAnnotation]
261+
_, isExternal := svc.Annotations[externalLoadBalancerAnnotation]
262262
lbParams.internal = !isExternal
263263
}
264264

265-
if value, ok := svc.ObjectMeta.Annotations[targetGroupNetworkIdAnnotation]; ok {
265+
if value, ok := svc.Annotations[targetGroupNetworkIdAnnotation]; ok {
266266
lbParams.targetGroupNetworkID = value
267267
} else if len(yc.config.lbTgNetworkID) != 0 {
268268
lbParams.targetGroupNetworkID = yc.config.lbTgNetworkID
269269
}
270270

271-
if value, ok := svc.ObjectMeta.Annotations[listenerAddressIPv4]; ok {
271+
if value, ok := svc.Annotations[listenerAddressIPv4]; ok {
272272
lbParams.listenerAddressIPv4 = value
273273
}
274274

275-
if value, ok := svc.ObjectMeta.Annotations[customTargetGroupNamePrefixAnnotation]; ok {
275+
if value, ok := svc.Annotations[customTargetGroupNamePrefixAnnotation]; ok {
276276
lbParams.targetGroupNamePrefix = value
277277
}
278278

279-
if value, ok := svc.ObjectMeta.Annotations[healthcheckIntervalSeconds]; ok {
279+
if value, ok := svc.Annotations[healthcheckIntervalSeconds]; ok {
280280
lbParams.healthcheckIntervalSeconds, err = tryAnnotationValueToInt(healthcheckIntervalSeconds, value)
281281
if err != nil {
282282
return
283283
}
284284
}
285285

286-
if value, ok := svc.ObjectMeta.Annotations[healthcheckTimeoutSeconds]; ok {
286+
if value, ok := svc.Annotations[healthcheckTimeoutSeconds]; ok {
287287
lbParams.healthcheckTimeoutSeconds, err = tryAnnotationValueToInt(healthcheckTimeoutSeconds, value)
288288
if err != nil {
289289
return
290290
}
291291
}
292292

293-
if value, ok := svc.ObjectMeta.Annotations[healthcheckHealthyThreshold]; ok {
293+
if value, ok := svc.Annotations[healthcheckHealthyThreshold]; ok {
294294
lbParams.healthcheckHealthyThreshold, err = tryAnnotationValueToInt(healthcheckHealthyThreshold, value)
295295
if err != nil {
296296
return
297297
}
298298
}
299299

300-
if value, ok := svc.ObjectMeta.Annotations[healthcheckUnhealthyThreshold]; ok {
300+
if value, ok := svc.Annotations[healthcheckUnhealthyThreshold]; ok {
301301
lbParams.healthcheckUnhealthyThreshold, err = tryAnnotationValueToInt(healthcheckUnhealthyThreshold, value)
302302
if err != nil {
303303
return

pkg/cloudprovider/yandex/load_balancer_tg_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func (ntgs *NodeTargetGroupSyncer) SyncTGs(ctx context.Context, nodes []*corev1.
4646

4747
var activeLoadBalancerServicesExist bool
4848
for _, service := range services {
49-
if service.Spec.Type == corev1.ServiceTypeLoadBalancer && service.ObjectMeta.DeletionTimestamp == nil {
49+
if service.Spec.Type == corev1.ServiceTypeLoadBalancer && service.DeletionTimestamp == nil {
5050
activeLoadBalancerServicesExist = true
5151
break
5252
}

pkg/cloudprovider/yandex/metadata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ func (m *MetadataService) Get(suffix string) (string, error) {
9292
if err != nil {
9393
return "", err
9494
}
95-
defer res.Body.Close()
95+
defer func(){_ = res.Body.Close()}()
9696

9797
if res.StatusCode != 200 {
9898
return "", fmt.Errorf("unexpected status code while trying to request %s: %d", url, res.StatusCode)

0 commit comments

Comments
 (0)