From 79f6249110f9b776787f3ff646c878ca058b0245 Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 27 Aug 2026 14:23:02 +0800 Subject: [PATCH 1/4] Bump google.golang.org/grpc to v1.82.1 to fix CVE This fixes the GHSA-hrxh-6v49-42gf (gRPC-Go: xDS RBAC and HTTP/2 Vulnerabilities) found in google.golang.org/grpc v1.81.1. Co-authored-by: Cursor Signed-off-by: Xun Jiang --- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 88695ce06..d34b1b092 100644 --- a/go.mod +++ b/go.mod @@ -48,7 +48,7 @@ require ( golang.org/x/sys v0.47.0 golang.org/x/text v0.41.0 google.golang.org/api v0.283.0 - google.golang.org/grpc v1.81.1 + google.golang.org/grpc v1.82.1 google.golang.org/protobuf v1.36.11 k8s.io/api v0.33.12 k8s.io/apiextensions-apiserver v0.33.12 @@ -75,7 +75,7 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2 // indirect github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 // indirect - github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 // indirect github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0 // indirect github.com/Masterminds/semver/v3 v3.4.0 // indirect @@ -180,7 +180,7 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/zeebo/blake3 v0.2.4 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect - go.opentelemetry.io/contrib/detectors/gcp v1.42.0 // indirect + go.opentelemetry.io/contrib/detectors/gcp v1.43.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 // indirect go.opentelemetry.io/otel v1.43.0 // indirect @@ -200,7 +200,7 @@ require ( golang.org/x/tools v0.49.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/go.sum b/go.sum index 8b880b21f..4cbddcecf 100644 --- a/go.sum +++ b/go.sum @@ -50,8 +50,8 @@ github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0 h1:XRzhVemXdgv github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk= github.com/GehirnInc/crypt v0.0.0-20230320061759-8cc1b52080c5 h1:IEjq88XO4PuBDcvmjQJcQGg+w+UaafSy8G5Kcb5tBhI= github.com/GehirnInc/crypt v0.0.0-20230320061759-8cc1b52080c5/go.mod h1:exZ0C/1emQJAw5tHOaUDyY1ycttqBAPcxuzf7QbY6ec= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0 h1:DHa2U07rk8syqvCge0QIGMCE1WxGj9njT44GH7zNJLQ= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0 h1:rIkQfkCOVKc1OiRCNcSDD8ml5RJlZbH/Xsq7lbpynwc= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0/go.mod h1:RD2SsorTmYhF6HkTmDw7KmPYQk8OBYwTkuasChwv7R4= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 h1:owcC2UnmsZycprQ5RfRgjydWhuoxg71LUfyiQdijZuM= github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0/go.mod h1:ZPpqegjbE99EPKsu3iUWV22A04wzGPcAY/ziSIQEEgs= github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.53.0 h1:4LP6hvB4I5ouTbGgWtixJhgED6xdf67twf9PoY96Tbg= @@ -440,8 +440,8 @@ github.com/zeebo/pcg v1.0.1 h1:lyqfGeWiv4ahac6ttHs+I5hwtH/+1mrhlCtVNQM2kHo= github.com/zeebo/pcg v1.0.1/go.mod h1:09F0S9iiKrwn9rlI5yjLkmrug154/YRW6KnnXVDM/l4= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/contrib/detectors/gcp v1.42.0 h1:kpt2PEJuOuqYkPcktfJqWWDjTEd/FNgrxcniL7kQrXQ= -go.opentelemetry.io/contrib/detectors/gcp v1.42.0/go.mod h1:W9zQ439utxymRrXsUOzZbFX4JhLxXU4+ZnCt8GG7yA8= +go.opentelemetry.io/contrib/detectors/gcp v1.43.0 h1:62yY3dT7/ShwOxzA0RsKRgshBmfElKI4d/Myu2OxDFU= +go.opentelemetry.io/contrib/detectors/gcp v1.43.0/go.mod h1:RyaZMFY7yi1kAs45S6mbFGz8O8rqB0dTY14uzvG4LCs= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0 h1:yI1/OhfEPy7J9eoa6Sj051C7n5dvpj0QX8g4sRchg04= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0/go.mod h1:NoUCKYWK+3ecatC4HjkRktREheMeEtrXoQxrqYFeHSc= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 h1:OyrsyzuttWTSur2qN/Lm0m2a8yqyIjUVBZcxFPuXq2o= @@ -533,12 +533,12 @@ google.golang.org/api v0.283.0 h1:0lkp8u0MPwJVHqRL+nJlMAoZVVzbmiXmFHXMOTmSPik= google.golang.org/api v0.283.0/go.mod h1:6Wssta4c5n9qHq5CBhmlai5h/PUa1djdDAIhYEHyvcM= google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 h1:XzmzkmB14QhVhgnawEVsOn6OFsnpyxNPRY9QV01dNB0= google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:L43LFes82YgSonw6iTXTxXUX1OlULt4AQtkik4ULL/I= -google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7 h1:41r6JMbpzBMen0R/4TZeeAmGXSJC7DftGINUodzTkPI= -google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:EIQZ5bFCfRQDV4MhRle7+OgjNtZ6P1PiZBgAKuxXu/Y= +google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 h1:yQugLulqltosq0B/f8l4w9VryjV+N/5gcW0jQ3N8Qec= +google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478/go.mod h1:C6ADNqOxbgdUUeRTU+LCHDPB9ttAMCTff6auwCVa4uc= google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 h1:PvEgGJf9C/1u5CHkInMg7UFYYUoiaQmW2LbtH0pjB78= google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= -google.golang.org/grpc v1.81.1 h1:VnnIIZ88UzOOKLukQi+ImGz8O1Wdp8nAGGnvOfEIWQQ= -google.golang.org/grpc v1.81.1/go.mod h1:xGH9GfzOyMTGIOXBJmXt+BX/V0kcdQbdcuwQ/zNw42I= +google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= +google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 2b8da49df1d2703e9d0a0872f6a90c0f99326f42 Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 27 Aug 2026 14:38:27 +0800 Subject: [PATCH 2/4] Bump dependencies in restic patch to fix CVEs Bumps golang.org/x/net to v0.56.0, golang.org/x/text to v0.39.0, and google.golang.org/grpc to v1.82.1 in the restic patch file to resolve vulnerabilities reported by trivy image scan. Co-authored-by: Cursor Signed-off-by: Xun Jiang --- hack/fix_restic_cve.txt | 64 ++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/hack/fix_restic_cve.txt b/hack/fix_restic_cve.txt index 12d5d7ab0..884b8a742 100644 --- a/hack/fix_restic_cve.txt +++ b/hack/fix_restic_cve.txt @@ -1,5 +1,5 @@ diff --git a/go.mod b/go.mod -index 5f939c481..891dbd4e7 100644 +index 5f939c4..2bd75e5 100644 --- a/go.mod +++ b/go.mod @@ -1,15 +1,15 @@ @@ -33,13 +33,13 @@ index 5f939c481..891dbd4e7 100644 - golang.org/x/term v0.4.0 - golang.org/x/text v0.6.0 - google.golang.org/api v0.106.0 -+ golang.org/x/crypto v0.52.0 -+ golang.org/x/net v0.55.0 ++ golang.org/x/crypto v0.53.0 ++ golang.org/x/net v0.56.0 + golang.org/x/oauth2 v0.36.0 -+ golang.org/x/sync v0.20.0 -+ golang.org/x/sys v0.45.0 -+ golang.org/x/term v0.43.0 -+ golang.org/x/text v0.37.0 ++ golang.org/x/sync v0.21.0 ++ golang.org/x/sys v0.46.0 ++ golang.org/x/term v0.44.0 ++ golang.org/x/text v0.39.0 + google.golang.org/api v0.283.0 ) @@ -56,7 +56,7 @@ index 5f939c481..891dbd4e7 100644 + cloud.google.com/go/iam v1.5.3 // indirect + cloud.google.com/go/monitoring v1.24.3 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 // indirect -+ github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0 // indirect ++ github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 // indirect + github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0 // indirect + github.com/cncf/xds/go v0.0.0-20260202195803-dba9d589def2 // indirect @@ -99,7 +99,7 @@ index 5f939c481..891dbd4e7 100644 - google.golang.org/protobuf v1.28.1 // indirect + github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect -+ go.opentelemetry.io/contrib/detectors/gcp v1.42.0 // indirect ++ go.opentelemetry.io/contrib/detectors/gcp v1.43.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 // indirect + go.opentelemetry.io/otel v1.43.0 // indirect @@ -109,9 +109,9 @@ index 5f939c481..891dbd4e7 100644 + go.opentelemetry.io/otel/trace v1.43.0 // indirect + golang.org/x/time v0.15.0 // indirect + google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 // indirect -+ google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7 // indirect ++ google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 // indirect -+ google.golang.org/grpc v1.81.1 // indirect ++ google.golang.org/grpc v1.82.1 // indirect + google.golang.org/protobuf v1.36.11 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect @@ -120,7 +120,7 @@ index 5f939c481..891dbd4e7 100644 -go 1.18 +go 1.25.8 diff --git a/go.sum b/go.sum -index 026e1d2fa..94d984253 100644 +index 026e1d2..738e46e 100644 --- a/go.sum +++ b/go.sum @@ -1,42 +1,61 @@ @@ -169,8 +169,8 @@ index 026e1d2fa..94d984253 100644 github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 h1:BWe8a+f/t+7KY7zH2mqygeUD0t8hNFXe08p1Pb3/jKE= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= -+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0 h1:DHa2U07rk8syqvCge0QIGMCE1WxGj9njT44GH7zNJLQ= -+github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= ++github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0 h1:rIkQfkCOVKc1OiRCNcSDD8ml5RJlZbH/Xsq7lbpynwc= ++github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.32.0/go.mod h1:RD2SsorTmYhF6HkTmDw7KmPYQk8OBYwTkuasChwv7R4= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0 h1:owcC2UnmsZycprQ5RfRgjydWhuoxg71LUfyiQdijZuM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0/go.mod h1:ZPpqegjbE99EPKsu3iUWV22A04wzGPcAY/ziSIQEEgs= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/cloudmock v0.53.0 h1:4LP6hvB4I5ouTbGgWtixJhgED6xdf67twf9PoY96Tbg= @@ -358,8 +358,8 @@ index 026e1d2fa..94d984253 100644 -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -+go.opentelemetry.io/contrib/detectors/gcp v1.42.0 h1:kpt2PEJuOuqYkPcktfJqWWDjTEd/FNgrxcniL7kQrXQ= -+go.opentelemetry.io/contrib/detectors/gcp v1.42.0/go.mod h1:W9zQ439utxymRrXsUOzZbFX4JhLxXU4+ZnCt8GG7yA8= ++go.opentelemetry.io/contrib/detectors/gcp v1.43.0 h1:62yY3dT7/ShwOxzA0RsKRgshBmfElKI4d/Myu2OxDFU= ++go.opentelemetry.io/contrib/detectors/gcp v1.43.0/go.mod h1:RyaZMFY7yi1kAs45S6mbFGz8O8rqB0dTY14uzvG4LCs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0 h1:yI1/OhfEPy7J9eoa6Sj051C7n5dvpj0QX8g4sRchg04= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.67.0/go.mod h1:NoUCKYWK+3ecatC4HjkRktREheMeEtrXoQxrqYFeHSc= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.67.0 h1:OyrsyzuttWTSur2qN/Lm0m2a8yqyIjUVBZcxFPuXq2o= @@ -386,8 +386,8 @@ index 026e1d2fa..94d984253 100644 -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -+golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988= -+golang.org/x/crypto v0.52.0/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc= ++golang.org/x/crypto v0.53.0 h1:QZ4Muo8THX6CizN2vPPd5fBGHyogrdK9fG4wLPFUsto= ++golang.org/x/crypto v0.53.0/go.mod h1:DNLU434OwVakk9PzuwV8w62mAJpRJL3vsgcfp4Qnsio= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -406,8 +406,8 @@ index 026e1d2fa..94d984253 100644 -golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -+golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= -+golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= ++golang.org/x/net v0.56.0 h1:Rw8j/hFzGvJUZwNBXnAtf5sVDVt+65SK2C7IxCxZt5o= ++golang.org/x/net v0.56.0/go.mod h1:D3Ku6r+V6JROoZK144D2XfMHFcMq/0zSfLelVTCFKec= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -415,8 +415,8 @@ index 026e1d2fa..94d984253 100644 -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -+golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= -+golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= ++golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= ++golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -431,21 +431,21 @@ index 026e1d2fa..94d984253 100644 golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.4.0 h1:Zr2JFtRQNX3BCZ8YtxRE9hNJYC8J6I1MVbMg6owUp18= -golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -+golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY= -+golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= ++golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= ++golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.4.0 h1:O7UWfv5+A2qiuulQk30kVinPoMtoIPeVaKLEgLpVkvg= -golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= -+golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= -+golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= ++golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= ++golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.6.0 h1:3XmdazWV+ubf7QgHSTWeykHOci5oeekaGJBLkrkaw4k= -golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -+golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= -+golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= ++golang.org/x/text v0.39.0 h1:UbZz4pLOvn600D6Oh6GGEI6VAmndrEBLv8/6BEXzyus= ++golang.org/x/text v0.39.0/go.mod h1:3UwRclnC2g0TU9x8PZiyfOajCd1zaUNHF9cvqcQZ+ZM= +golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= +golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -498,12 +498,12 @@ index 026e1d2fa..94d984253 100644 +google.golang.org/api v0.283.0/go.mod h1:6Wssta4c5n9qHq5CBhmlai5h/PUa1djdDAIhYEHyvcM= +google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 h1:XzmzkmB14QhVhgnawEVsOn6OFsnpyxNPRY9QV01dNB0= +google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:L43LFes82YgSonw6iTXTxXUX1OlULt4AQtkik4ULL/I= -+google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7 h1:41r6JMbpzBMen0R/4TZeeAmGXSJC7DftGINUodzTkPI= -+google.golang.org/genproto/googleapis/api v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:EIQZ5bFCfRQDV4MhRle7+OgjNtZ6P1PiZBgAKuxXu/Y= ++google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 h1:yQugLulqltosq0B/f8l4w9VryjV+N/5gcW0jQ3N8Qec= ++google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478/go.mod h1:C6ADNqOxbgdUUeRTU+LCHDPB9ttAMCTff6auwCVa4uc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68 h1:PvEgGJf9C/1u5CHkInMg7UFYYUoiaQmW2LbtH0pjB78= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260523011958-0a33c5d7ca68/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= -+google.golang.org/grpc v1.81.1 h1:VnnIIZ88UzOOKLukQi+ImGz8O1Wdp8nAGGnvOfEIWQQ= -+google.golang.org/grpc v1.81.1/go.mod h1:xGH9GfzOyMTGIOXBJmXt+BX/V0kcdQbdcuwQ/zNw42I= ++google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= ++google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 32db61415442670fd915e4ef2d53c3a8b8d3a9d4 Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 27 Aug 2026 14:38:52 +0800 Subject: [PATCH 3/4] Bump base images and Go version to fix CVEs Bumps golang to 1.26.7 and paketobuildpacks/run-jammy-tiny to 0.2.165 to resolve OS and Go vulnerabilities reported by trivy image scan. Bump golangci-lint that supports Golang 1.26. Co-authored-by: Cursor Signed-off-by: Xun Jiang --- .github/workflows/pr-linter-check.yml | 2 +- Dockerfile | 6 +++--- Dockerfile-Windows | 2 +- Tiltfile | 2 +- go.mod | 2 +- hack/build-image/Dockerfile | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/pr-linter-check.yml b/.github/workflows/pr-linter-check.yml index 79d7918b2..439b12920 100644 --- a/.github/workflows/pr-linter-check.yml +++ b/.github/workflows/pr-linter-check.yml @@ -28,5 +28,5 @@ jobs: - name: Linter check uses: golangci/golangci-lint-action@v9 with: - version: v2.5.0 + version: v2.13.1 args: --verbose diff --git a/Dockerfile b/Dockerfile index 46fd212fe..6696c9045 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ # limitations under the License. # Velero binary build section -FROM --platform=$BUILDPLATFORM golang:1.25.11-trixie AS velero-builder +FROM --platform=$BUILDPLATFORM golang:1.26.7-trixie AS velero-builder ARG GOPROXY ARG BIN @@ -49,7 +49,7 @@ RUN mkdir -p /output/usr/bin && \ go clean -modcache -cache # Restic binary build section -FROM --platform=$BUILDPLATFORM golang:1.25.11-trixie AS restic-builder +FROM --platform=$BUILDPLATFORM golang:1.26.7-trixie AS restic-builder ARG GOPROXY ARG BIN @@ -73,7 +73,7 @@ RUN mkdir -p /output/usr/bin && \ go clean -modcache -cache # Velero image packing section -FROM paketobuildpacks/run-jammy-tiny:0.2.139 +FROM paketobuildpacks/run-jammy-tiny:0.2.165 LABEL maintainer="Xun Jiang " diff --git a/Dockerfile-Windows b/Dockerfile-Windows index a6330f214..29f1955a5 100644 --- a/Dockerfile-Windows +++ b/Dockerfile-Windows @@ -15,7 +15,7 @@ ARG OS_VERSION=1809 # Velero binary build section -FROM --platform=$BUILDPLATFORM golang:1.25.11-trixie AS velero-builder +FROM --platform=$BUILDPLATFORM golang:1.26.7-trixie AS velero-builder ARG GOPROXY ARG BIN diff --git a/Tiltfile b/Tiltfile index 63e3a231f..143ea74ee 100644 --- a/Tiltfile +++ b/Tiltfile @@ -52,7 +52,7 @@ git_sha = str(local("git rev-parse HEAD", quiet = True, echo_off = True)).strip( tilt_helper_dockerfile_header = """ # Tilt image -FROM golang:1.25.11 as tilt-helper +FROM golang:1.26.7 as tilt-helper # Support live reloading with Tilt RUN wget --output-document /restart.sh --quiet https://raw.githubusercontent.com/windmilleng/rerun-process-wrapper/master/restart.sh && \ diff --git a/go.mod b/go.mod index d34b1b092..11460ffca 100644 --- a/go.mod +++ b/go.mod @@ -2,7 +2,7 @@ module github.com/vmware-tanzu/velero go 1.25.8 -toolchain go1.25.11 +toolchain go1.26.7 require ( cloud.google.com/go/storage v1.57.2 diff --git a/hack/build-image/Dockerfile b/hack/build-image/Dockerfile index 430784b5f..aacf8556f 100644 --- a/hack/build-image/Dockerfile +++ b/hack/build-image/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM --platform=$TARGETPLATFORM golang:1.25.11-trixie +FROM --platform=$TARGETPLATFORM golang:1.26.7-trixie ARG GOPROXY @@ -98,7 +98,7 @@ RUN ARCH=$(go env GOARCH) && \ # get golangci-lint # Use "go install" so the download goes through GOPROXY instead of the GitHub # release API/CDN, which has been returning intermittent/persistent HTTP 504s. -RUN go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.5.0 +RUN go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.13.1 # install kubectl RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/$(go env GOARCH)/kubectl From 69dbce1fea5be8430b32486aad7849fee6cf5bdd Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Thu, 27 Aug 2026 17:50:52 +0800 Subject: [PATCH 4/4] Delete Requeue from ctrl.Result, because Requeue is deprecated by controller-runtime. The change is used to address the linter issue after golangci-lint bump to v2.13.1. Requeue is replaced by RequeueAfter. Signed-off-by: Xun Jiang --- pkg/controller/data_download_controller.go | 8 ++++---- pkg/controller/data_download_controller_test.go | 7 +++---- pkg/controller/data_upload_controller.go | 6 +++--- pkg/controller/data_upload_controller_test.go | 7 +++---- pkg/controller/pod_volume_backup_controller.go | 6 +++--- pkg/controller/pod_volume_backup_controller_test.go | 7 +++---- pkg/controller/pod_volume_restore_controller.go | 6 +++--- pkg/controller/pod_volume_restore_controller_legacy.go | 2 +- pkg/controller/pod_volume_restore_controller_test.go | 5 ++--- .../server_status_request_controller_test.go | 10 +++++----- 10 files changed, 30 insertions(+), 34 deletions(-) diff --git a/pkg/controller/data_download_controller.go b/pkg/controller/data_download_controller.go index eb0e38c5a..adcb81a64 100644 --- a/pkg/controller/data_download_controller.go +++ b/pkg/controller/data_download_controller.go @@ -254,12 +254,12 @@ func (r *DataDownloadReconciler) Reconcile(ctx context.Context, req ctrl.Request if r.vgdpCounter != nil && r.vgdpCounter.IsConstrained(ctx, r.logger) { log.Debug("Data path initiation is constrained, requeue later") - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } if _, err := r.getTargetPVC(ctx, dd); err != nil { log.WithField("error", err).Debugf("Cannot find target PVC for DataDownload yet. Retry later.") - return ctrl.Result{Requeue: true}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } log.Info("Data download starting") @@ -350,7 +350,7 @@ func (r *DataDownloadReconciler) Reconcile(ctx context.Context, req ctrl.Request if err != nil { if err == datapath.ConcurrentLimitExceed { log.Debug("Data path instance is concurrent limited requeue later") - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } else { return r.errorOut(ctx, dd, err, "error to create data path", log) } @@ -381,7 +381,7 @@ func (r *DataDownloadReconciler) Reconcile(ctx context.Context, req ctrl.Request log.WithError(err).Warnf("Failed to update datadownload %s to InProgress, will data path close and retry", dd.Name) r.closeDataPath(ctx, dd.Name) - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } if terminated { diff --git a/pkg/controller/data_download_controller_test.go b/pkg/controller/data_download_controller_test.go index 9cefd5a64..a9ce47e28 100644 --- a/pkg/controller/data_download_controller_test.go +++ b/pkg/controller/data_download_controller_test.go @@ -315,12 +315,12 @@ func TestDataDownloadReconcile(t *testing.T) { dd: dataDownloadBuilder().Finalizers([]string{DataUploadDownloadFinalizer}).Result(), constrained: true, expected: dataDownloadBuilder().Finalizers([]string{DataUploadDownloadFinalizer}).Result(), - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "new dd but no target PVC", dd: dataDownloadBuilder().Finalizers([]string{DataUploadDownloadFinalizer}).Result(), - expectedResult: &ctrl.Result{Requeue: true}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "new dd but accept failed", @@ -390,7 +390,7 @@ func TestDataDownloadReconcile(t *testing.T) { dataMgr: datapath.NewManager(0), notNilExpose: true, notMockCleanUp: true, - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "data path init error", @@ -594,7 +594,6 @@ func TestDataDownloadReconcile(t *testing.T) { } if test.expectedResult != nil { - assert.Equal(t, test.expectedResult.Requeue, actualResult.Requeue) assert.Equal(t, test.expectedResult.RequeueAfter, actualResult.RequeueAfter) } diff --git a/pkg/controller/data_upload_controller.go b/pkg/controller/data_upload_controller.go index cac03ca47..ba6cf997d 100644 --- a/pkg/controller/data_upload_controller.go +++ b/pkg/controller/data_upload_controller.go @@ -265,7 +265,7 @@ func (r *DataUploadReconciler) Reconcile(ctx context.Context, req ctrl.Request) if r.vgdpCounter != nil && r.vgdpCounter.IsConstrained(ctx, r.logger) { log.Debug("Data path initiation is constrained, requeue later") - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } log.Info("Data upload starting") @@ -359,7 +359,7 @@ func (r *DataUploadReconciler) Reconcile(ctx context.Context, req ctrl.Request) if err != nil { if err == datapath.ConcurrentLimitExceed { log.Debug("Data path instance is concurrent limited requeue later") - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } else { return r.errorOut(ctx, du, err, "error to create data path", log) } @@ -391,7 +391,7 @@ func (r *DataUploadReconciler) Reconcile(ctx context.Context, req ctrl.Request) log.WithError(err).Warnf("Failed to update dataupload %s to InProgress, will data path close and retry", du.Name) r.closeDataPath(ctx, du.Name) - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } if terminated { diff --git a/pkg/controller/data_upload_controller_test.go b/pkg/controller/data_upload_controller_test.go index 5839447f8..7c8b4c443 100644 --- a/pkg/controller/data_upload_controller_test.go +++ b/pkg/controller/data_upload_controller_test.go @@ -478,7 +478,7 @@ func TestReconcile(t *testing.T) { du: dataUploadBuilder().Finalizers([]string{DataUploadDownloadFinalizer}).Result(), constrained: true, expected: dataUploadBuilder().Finalizers([]string{DataUploadDownloadFinalizer}).Result(), - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "new du but accept failed", @@ -548,7 +548,7 @@ func TestReconcile(t *testing.T) { name: "Error in data path is concurrent limited", du: dataUploadBuilder().Phase(velerov2alpha1api.DataUploadPhasePrepared).SnapshotType(fakeSnapshotType).Finalizers([]string{DataUploadDownloadFinalizer}).Node("test-node").Result(), dataMgr: datapath.NewManager(0), - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "data path init error", @@ -562,7 +562,7 @@ func TestReconcile(t *testing.T) { du: dataUploadBuilder().Phase(velerov2alpha1api.DataUploadPhasePrepared).SnapshotType(fakeSnapshotType).Finalizers([]string{DataUploadDownloadFinalizer}).Node("test-node").Result(), needErrs: []bool{false, false, true, false}, expected: dataUploadBuilder().Phase(velerov2alpha1api.DataUploadPhasePrepared).Finalizers([]string{DataUploadDownloadFinalizer}).Result(), - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "data path start error", @@ -694,7 +694,6 @@ func TestReconcile(t *testing.T) { } if test.expectedResult != nil { - assert.Equal(t, test.expectedResult.Requeue, actualResult.Requeue) assert.Equal(t, test.expectedResult.RequeueAfter, actualResult.RequeueAfter) } diff --git a/pkg/controller/pod_volume_backup_controller.go b/pkg/controller/pod_volume_backup_controller.go index 2372bf25b..b16e914dc 100644 --- a/pkg/controller/pod_volume_backup_controller.go +++ b/pkg/controller/pod_volume_backup_controller.go @@ -238,7 +238,7 @@ func (r *PodVolumeBackupReconciler) Reconcile(ctx context.Context, req ctrl.Requ if r.vgdpCounter != nil && r.vgdpCounter.IsConstrained(ctx, r.logger) { log.Debug("Data path initiation is constrained, requeue later") - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } log.Info("Accepting PVB") @@ -314,7 +314,7 @@ func (r *PodVolumeBackupReconciler) Reconcile(ctx context.Context, req ctrl.Requ if err != nil { if err == datapath.ConcurrentLimitExceed { log.Debug("Data path instance is concurrent limited requeue later") - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } else { return r.errorOut(ctx, pvb, err, "error to create data path", log) } @@ -346,7 +346,7 @@ func (r *PodVolumeBackupReconciler) Reconcile(ctx context.Context, req ctrl.Requ log.WithError(err).Warnf("Failed to update PVB %s to InProgress, will data path close and retry", pvb.Name) r.closeDataPath(ctx, pvb.Name) - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } if terminated { diff --git a/pkg/controller/pod_volume_backup_controller_test.go b/pkg/controller/pod_volume_backup_controller_test.go index 8b05f0e3b..9161fd4bb 100644 --- a/pkg/controller/pod_volume_backup_controller_test.go +++ b/pkg/controller/pod_volume_backup_controller_test.go @@ -327,7 +327,7 @@ func TestPVBReconcile(t *testing.T) { pvb: pvbBuilder().Finalizers([]string{PodVolumeFinalizer}).Node("test-node").Result(), constrained: true, expected: pvbBuilder().Finalizers([]string{PodVolumeFinalizer}).Result(), - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "new pvb but accept failed", @@ -394,7 +394,7 @@ func TestPVBReconcile(t *testing.T) { pvb: pvbBuilder().Phase(velerov1api.PodVolumeBackupPhasePrepared).Finalizers([]string{PodVolumeFinalizer}).Node("test-node").Result(), needMockExposer: true, dataMgr: datapath.NewManager(0), - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "data path init error", @@ -410,7 +410,7 @@ func TestPVBReconcile(t *testing.T) { needMockExposer: true, needErrs: []bool{false, false, true, false}, expected: pvbBuilder().Phase(velerov1api.PodVolumeBackupPhasePrepared).Finalizers([]string{PodVolumeFinalizer}).Result(), - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "data path start error", @@ -537,7 +537,6 @@ func TestPVBReconcile(t *testing.T) { } if test.expectedResult != nil { - assert.Equal(t, test.expectedResult.Requeue, actualResult.Requeue) assert.Equal(t, test.expectedResult.RequeueAfter, actualResult.RequeueAfter) } diff --git a/pkg/controller/pod_volume_restore_controller.go b/pkg/controller/pod_volume_restore_controller.go index 300acc5be..a68c93928 100644 --- a/pkg/controller/pod_volume_restore_controller.go +++ b/pkg/controller/pod_volume_restore_controller.go @@ -246,7 +246,7 @@ func (r *PodVolumeRestoreReconciler) Reconcile(ctx context.Context, req ctrl.Req if r.vgdpCounter != nil && r.vgdpCounter.IsConstrained(ctx, r.logger) { log.Debug("Data path initiation is constrained, requeue later") - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } log.Info("Accepting PVR") @@ -328,7 +328,7 @@ func (r *PodVolumeRestoreReconciler) Reconcile(ctx context.Context, req ctrl.Req if err != nil { if err == datapath.ConcurrentLimitExceed { log.Debug("Data path instance is concurrent limited requeue later") - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } else { return r.errorOut(ctx, pvr, err, "error to create data path", log) } @@ -358,7 +358,7 @@ func (r *PodVolumeRestoreReconciler) Reconcile(ctx context.Context, req ctrl.Req log.WithError(err).Warnf("Failed to update PVR %s to InProgress, will data path close and retry", pvr.Name) r.closeDataPath(ctx, pvr.Name) - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } if terminated { diff --git a/pkg/controller/pod_volume_restore_controller_legacy.go b/pkg/controller/pod_volume_restore_controller_legacy.go index 18a920f9d..9c952e652 100644 --- a/pkg/controller/pod_volume_restore_controller_legacy.go +++ b/pkg/controller/pod_volume_restore_controller_legacy.go @@ -150,7 +150,7 @@ func (c *PodVolumeRestoreReconcilerLegacy) Reconcile(ctx context.Context, req ct fsRestore, err := c.dataPathMgr.CreateFileSystemBR(pvr.Name, pVBRRequestor, ctx, c.Client, pvr.Namespace, callbacks, log) if err != nil { if err == datapath.ConcurrentLimitExceed { - return ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, nil + return ctrl.Result{RequeueAfter: time.Second * 5}, nil } else { return c.errorOut(ctx, pvr, err, "error to create data path", log) } diff --git a/pkg/controller/pod_volume_restore_controller_test.go b/pkg/controller/pod_volume_restore_controller_test.go index 32d158a17..e2b41e0f4 100644 --- a/pkg/controller/pod_volume_restore_controller_test.go +++ b/pkg/controller/pod_volume_restore_controller_test.go @@ -790,7 +790,7 @@ func TestPodVolumeRestoreReconcile(t *testing.T) { targetPod: builder.ForPod("test-ns", "test-pod").InitContainers(&corev1api.Container{Name: restorehelper.WaitInitContainer}).InitContainerState(corev1api.ContainerState{Running: &corev1api.ContainerStateRunning{}}).Result(), constrained: true, expected: builder.ForPodVolumeRestore(velerov1api.DefaultNamespace, pvrName).Finalizers([]string{PodVolumeFinalizer}).Result(), - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "new pvr but accept failed", @@ -858,7 +858,7 @@ func TestPodVolumeRestoreReconcile(t *testing.T) { dataMgr: datapath.NewManager(0), notNilExpose: true, notMockCleanUp: true, - expectedResult: &ctrl.Result{Requeue: true, RequeueAfter: time.Second * 5}, + expectedResult: &ctrl.Result{RequeueAfter: time.Second * 5}, }, { name: "data path init error", @@ -1057,7 +1057,6 @@ func TestPodVolumeRestoreReconcile(t *testing.T) { } if test.expectedResult != nil { - assert.Equal(t, test.expectedResult.Requeue, actualResult.Requeue) assert.Equal(t, test.expectedResult.RequeueAfter, actualResult.RequeueAfter) } diff --git a/pkg/controller/server_status_request_controller_test.go b/pkg/controller/server_status_request_controller_test.go index eb95c7e87..b41939a80 100644 --- a/pkg/controller/server_status_request_controller_test.go +++ b/pkg/controller/server_status_request_controller_test.go @@ -125,7 +125,7 @@ var _ = Describe("Server Status Request Reconciler", func() { }, }). Result(), - expectedRequeue: ctrl.Result{Requeue: false, RequeueAfter: statusRequestResyncPeriod}, + expectedRequeue: ctrl.Result{RequeueAfter: statusRequestResyncPeriod}, }), Entry("with phase=new will be processed and phased successfully patched", request{ req: statusRequestBuilder("1"). @@ -158,7 +158,7 @@ var _ = Describe("Server Status Request Reconciler", func() { }, }). Result(), - expectedRequeue: ctrl.Result{Requeue: false, RequeueAfter: statusRequestResyncPeriod}, + expectedRequeue: ctrl.Result{RequeueAfter: statusRequestResyncPeriod}, }), Entry("with phase=Processed does not get deleted if not expired", request{ req: statusRequestBuilder("1"). @@ -191,7 +191,7 @@ var _ = Describe("Server Status Request Reconciler", func() { }, }). Result(), - expectedRequeue: ctrl.Result{Requeue: false, RequeueAfter: statusRequestResyncPeriod}, + expectedRequeue: ctrl.Result{RequeueAfter: statusRequestResyncPeriod}, }), Entry("with phase=Processed gets deleted if expired", request{ req: statusRequestBuilder("1"). @@ -214,7 +214,7 @@ var _ = Describe("Server Status Request Reconciler", func() { }, }, expected: nil, - expectedRequeue: ctrl.Result{Requeue: false, RequeueAfter: statusRequestResyncPeriod}, + expectedRequeue: ctrl.Result{RequeueAfter: statusRequestResyncPeriod}, }), Entry("with invalid phase returns an error and does not requeue", request{ req: statusRequestBuilder("1"). @@ -237,7 +237,7 @@ var _ = Describe("Server Status Request Reconciler", func() { }, }, expectedErrMsg: "unexpected ServerStatusRequest phase", - expectedRequeue: ctrl.Result{Requeue: false, RequeueAfter: 0}, + expectedRequeue: ctrl.Result{RequeueAfter: 0}, }), ) })