From 84a1cb9940693b9f1c8314c8a873f727230cfaf4 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 16:50:45 +0000 Subject: [PATCH 01/18] SANDBOX-1357: update kube & openshift dependencies to 4.20 --- .govulncheck.yaml | 62 +----- README.adoc | 2 +- ...olchain.dev.openshift.com_bannedusers.yaml | 2 +- ...n.dev.openshift.com_masteruserrecords.yaml | 2 +- ...chain.dev.openshift.com_notifications.yaml | 2 +- ...ain.dev.openshift.com_nstemplatetiers.yaml | 2 +- ...lchain.dev.openshift.com_proxyplugins.yaml | 2 +- ...lchain.dev.openshift.com_socialevents.yaml | 2 +- ...ev.openshift.com_spacebindingrequests.yaml | 2 +- ...chain.dev.openshift.com_spacebindings.yaml | 2 +- ...openshift.com_spaceprovisionerconfigs.yaml | 2 +- ...chain.dev.openshift.com_spacerequests.yaml | 2 +- .../toolchain.dev.openshift.com_spaces.yaml | 2 +- ...v.openshift.com_tiertemplaterevisions.yaml | 2 +- ...chain.dev.openshift.com_tiertemplates.yaml | 2 +- ...n.dev.openshift.com_toolchainclusters.yaml | 2 +- ...in.dev.openshift.com_toolchainconfigs.yaml | 2 +- ...n.dev.openshift.com_toolchainstatuses.yaml | 2 +- ...olchain.dev.openshift.com_usersignups.yaml | 2 +- ...toolchain.dev.openshift.com_usertiers.yaml | 2 +- go.mod | 99 ++++----- go.sum | 193 +++++++++--------- openshift-ci/Dockerfile.tools | 4 +- 23 files changed, 174 insertions(+), 222 deletions(-) diff --git a/.govulncheck.yaml b/.govulncheck.yaml index 5b2fe040f..219bc58ba 100644 --- a/.govulncheck.yaml +++ b/.govulncheck.yaml @@ -1,61 +1 @@ -ignored-vulnerabilities: - # Panic when validating certificates with DSA public keys in crypto/x509 - # Found in: crypto/x509@go1.23.12 - # Fixed in: crypto/x509@go1.24.8 - - id: GO-2025-4013 - info: https://pkg.go.dev/vuln/GO-2025-4013 - silence-until: 2026-01-03 - # Lack of limit when parsing cookies can cause memory exhaustion in net/http - # Found in: net/http@go1.23.12 - # Fixed in: net/http@go1.24.8 - - id: GO-2025-4012 - info: https://pkg.go.dev/vuln/GO-2025-4012 - silence-until: 2026-01-03 - # Parsing DER payload can cause memory exhaustion in encoding/asn1 - # Found in: encoding/asn1@go1.23.12 - # Fixed in: encoding/asn1@go1.24.8 - - id: GO-2025-4011 - info: https://pkg.go.dev/vuln/GO-2025-4011 - silence-until: 2026-01-03 - # Insufficient validation of bracketed IPv6 hostnames in net/url - # Found in: net/url@go1.23.12 - # Fixed in: net/url@go1.24.8 - - id: GO-2025-4010 - info: https://pkg.go.dev/vuln/GO-2025-4010 - silence-until: 2026-01-03 - # Quadratic complexity when parsing some invalid inputs in encoding/pem - # Found in: encoding/pem@go1.23.12 - # Fixed in: encoding/pem@go1.24.8 - - id: GO-2025-4009 - info: https://pkg.go.dev/vuln/GO-2025-4009 - silence-until: 2026-01-03 - # ALPN negotiation error contains attacker controlled information in crypto/tls - # Found in: crypto/tls@go1.23.12 - # Fixed in: crypto/tls@go1.24.8 - - id: GO-2025-4008 - info: https://pkg.go.dev/vuln/GO-2025-4008 - silence-until: 2026-01-03 - # Quadratic complexity when checking name constraints in crypto/x509 - # Found in: crypto/x509@go1.23.12 - # Fixed in: crypto/x509@go1.24.9 - - id: GO-2025-4007 - info: https://pkg.go.dev/vuln/GO-2025-4007 - silence-until: 2026-01-03 - # Excessive CPU consumption in ParseAddress in net/mail - # Found in: net/mail@go1.23.12 - # Fixed in: net/mail@go1.24.8 - - id: GO-2025-4006 - info: https://pkg.go.dev/vuln/GO-2025-4006 - silence-until: 2026-01-03 - # Excessive resource consumption when printing error string for host certificate validation in crypto/x509 - # Found in: crypto/x509@go1.23.12 - # Fixed in: crypto/x509@go1.24.11 - - id: GO-2025-4155 - info: https://pkg.go.dev/vuln/GO-2025-4155 - silence-until: 2026-01-03 - # Improper application of excluded DNS name constraints when verifying wildcard names in crypto/x509 - # Found in: crypto/x509@go1.23.12 - # Fixed in: crypto/x509@go1.24.11 - - id: GO-2025-4175 - info: https://pkg.go.dev/vuln/GO-2025-4175 - silence-until: 2026-01-03 \ No newline at end of file +ignored-vulnerabilities: [] \ No newline at end of file diff --git a/README.adoc b/README.adoc index 9f01397a0..97715ca46 100644 --- a/README.adoc +++ b/README.adoc @@ -10,7 +10,7 @@ This is the CodeReady Toolchain Host Operator repository. It contains the OpenSh == Build -Requires Go version 1.23.x (1.23.12 or higher) - download for your development environment https://golang.org/dl/[here]. +Requires Go version 1.24.x (1.24.11 or higher) - download for your development environment https://golang.org/dl/[here]. This repository uses https://github.com/golang/go/wiki/Modules[Go modules]. diff --git a/config/crd/bases/toolchain.dev.openshift.com_bannedusers.yaml b/config/crd/bases/toolchain.dev.openshift.com_bannedusers.yaml index c493f98f0..bb25f8501 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_bannedusers.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_bannedusers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: bannedusers.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_masteruserrecords.yaml b/config/crd/bases/toolchain.dev.openshift.com_masteruserrecords.yaml index fa0d86ea3..05fc680dd 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_masteruserrecords.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_masteruserrecords.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: masteruserrecords.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_notifications.yaml b/config/crd/bases/toolchain.dev.openshift.com_notifications.yaml index e7d60d149..2c0241fb1 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_notifications.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_notifications.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: notifications.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_nstemplatetiers.yaml b/config/crd/bases/toolchain.dev.openshift.com_nstemplatetiers.yaml index db6fccc9a..8e3b1669c 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_nstemplatetiers.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_nstemplatetiers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: nstemplatetiers.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_proxyplugins.yaml b/config/crd/bases/toolchain.dev.openshift.com_proxyplugins.yaml index abfca0473..cc4544845 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_proxyplugins.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_proxyplugins.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: proxyplugins.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_socialevents.yaml b/config/crd/bases/toolchain.dev.openshift.com_socialevents.yaml index aa6da5b63..72a431495 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_socialevents.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_socialevents.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: socialevents.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_spacebindingrequests.yaml b/config/crd/bases/toolchain.dev.openshift.com_spacebindingrequests.yaml index 2d1a7b24e..0a2e69a8d 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_spacebindingrequests.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_spacebindingrequests.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: spacebindingrequests.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_spacebindings.yaml b/config/crd/bases/toolchain.dev.openshift.com_spacebindings.yaml index e707e78bc..c15ffefa9 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_spacebindings.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_spacebindings.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: spacebindings.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_spaceprovisionerconfigs.yaml b/config/crd/bases/toolchain.dev.openshift.com_spaceprovisionerconfigs.yaml index 49f50c3f9..88d33606d 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_spaceprovisionerconfigs.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_spaceprovisionerconfigs.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: spaceprovisionerconfigs.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_spacerequests.yaml b/config/crd/bases/toolchain.dev.openshift.com_spacerequests.yaml index f117089de..921c688a7 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_spacerequests.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_spacerequests.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: spacerequests.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_spaces.yaml b/config/crd/bases/toolchain.dev.openshift.com_spaces.yaml index 3b56a3d6e..ab8fa2a5e 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_spaces.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_spaces.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: spaces.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_tiertemplaterevisions.yaml b/config/crd/bases/toolchain.dev.openshift.com_tiertemplaterevisions.yaml index 2974c4f80..e7fe9492e 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_tiertemplaterevisions.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_tiertemplaterevisions.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: tiertemplaterevisions.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_tiertemplates.yaml b/config/crd/bases/toolchain.dev.openshift.com_tiertemplates.yaml index cc79d4916..9662a3b43 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_tiertemplates.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_tiertemplates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: tiertemplates.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_toolchainclusters.yaml b/config/crd/bases/toolchain.dev.openshift.com_toolchainclusters.yaml index 00f57fb39..b95ba89bb 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_toolchainclusters.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_toolchainclusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: toolchainclusters.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_toolchainconfigs.yaml b/config/crd/bases/toolchain.dev.openshift.com_toolchainconfigs.yaml index 3b9d08a87..9d4e9ee53 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_toolchainconfigs.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_toolchainconfigs.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: toolchainconfigs.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_toolchainstatuses.yaml b/config/crd/bases/toolchain.dev.openshift.com_toolchainstatuses.yaml index e56568b1b..23a320899 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_toolchainstatuses.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_toolchainstatuses.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: toolchainstatuses.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_usersignups.yaml b/config/crd/bases/toolchain.dev.openshift.com_usersignups.yaml index 9c9a76610..5509075b5 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_usersignups.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_usersignups.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: usersignups.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/config/crd/bases/toolchain.dev.openshift.com_usertiers.yaml b/config/crd/bases/toolchain.dev.openshift.com_usertiers.yaml index 01ac24d63..f31a1b612 100644 --- a/config/crd/bases/toolchain.dev.openshift.com_usertiers.yaml +++ b/config/crd/bases/toolchain.dev.openshift.com_usertiers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.17.3 + controller-gen.kubebuilder.io/version: v0.18.0 name: usertiers.toolchain.dev.openshift.com spec: group: toolchain.dev.openshift.com diff --git a/go.mod b/go.mod index 4dc2250ab..90194b35d 100644 --- a/go.mod +++ b/go.mod @@ -8,12 +8,12 @@ require ( github.com/go-logr/logr v1.4.2 github.com/gofrs/uuid v4.4.0+incompatible github.com/mailgun/mailgun-go/v4 v4.8.1 - // using latest commit from 'github.com/openshift/api branch release-4.19' - github.com/openshift/api v0.0.0-20250903165707-ce7baf0afbc4 - // using latest commit from 'github.com/openshift/library-go branch release-4.19' - github.com/openshift/library-go v0.0.0-20250826065405-6d18d1191f49 // indirect + // using latest commit from 'github.com/openshift/api branch release-4.20' + github.com/openshift/api v0.0.0-20251202204302-1cb53e34ca33 + // using latest commit from 'github.com/openshift/library-go branch release-4.20' + github.com/openshift/library-go v0.0.0-20251110200504-2685cf1242fc // indirect github.com/pkg/errors v0.9.1 - github.com/prometheus/client_golang v1.19.1 + github.com/prometheus/client_golang v1.22.0 github.com/redhat-cop/operator-utils v1.3.8 github.com/segmentio/analytics-go/v3 v3.2.1 github.com/spf13/cast v1.3.1 @@ -21,33 +21,33 @@ require ( go.uber.org/zap v1.27.0 gopkg.in/h2non/gock.v1 v1.0.14 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.32.2 - k8s.io/apiextensions-apiserver v0.32.2 - k8s.io/apimachinery v0.32.2 - k8s.io/client-go v0.32.2 + k8s.io/api v0.33.2 + k8s.io/apiextensions-apiserver v0.33.2 + k8s.io/apimachinery v0.33.2 + k8s.io/client-go v0.33.2 k8s.io/klog v1.0.0 k8s.io/klog/v2 v2.130.1 - sigs.k8s.io/controller-runtime v0.20.4 - sigs.k8s.io/controller-tools v0.17.3 - sigs.k8s.io/kustomize/kustomize/v5 v5.5.0 + sigs.k8s.io/controller-runtime v0.21.0 + sigs.k8s.io/controller-tools v0.18.0 + sigs.k8s.io/kustomize/kustomize/v5 v5.6.0 ) require ( - k8s.io/kubectl v0.32.2 - k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect + k8s.io/kubectl v0.33.2 + k8s.io/utils v0.0.0-20241210054802-24370beab758 // indirect ) require ( github.com/go-bindata/go-bindata/v3 v3.1.3 - k8s.io/code-generator v0.32.2 + k8s.io/code-generator v0.33.2 k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 - k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f + k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff ) require ( cloud.google.com/go/auth v0.3.0 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect - cloud.google.com/go/compute/metadata v0.3.0 // indirect + cloud.google.com/go/compute/metadata v0.5.0 // indirect github.com/BurntSushi/toml v1.3.2 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver/v3 v3.2.0 // indirect @@ -75,11 +75,10 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect + github.com/google/gnostic-models v0.6.9 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/go-github/v52 v52.0.0 // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect github.com/google/s2a-go v0.1.7 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/uuid v1.6.0 // indirect @@ -93,6 +92,7 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/kisielk/errcheck v1.5.0 // indirect + github.com/kylelemons/godebug v1.1.0 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -105,7 +105,7 @@ require ( github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.55.0 // indirect + github.com/prometheus/common v0.62.0 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/segmentio/backo-go v1.0.0 // indirect github.com/sergi/go-diff v1.2.0 // indirect @@ -115,41 +115,48 @@ require ( github.com/x448/float16 v0.8.4 // indirect github.com/xlab/treeprint v1.2.0 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 // indirect - go.opentelemetry.io/otel v1.28.0 // indirect - go.opentelemetry.io/otel/metric v1.28.0 // indirect - go.opentelemetry.io/otel/trace v1.28.0 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.58.0 // indirect + go.opentelemetry.io/otel v1.33.0 // indirect + go.opentelemetry.io/otel/metric v1.33.0 // indirect + go.opentelemetry.io/otel/trace v1.33.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.36.0 // indirect + golang.org/x/crypto v0.37.0 // indirect golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect - golang.org/x/mod v0.23.0 // indirect - golang.org/x/net v0.38.0 // indirect + golang.org/x/mod v0.24.0 // indirect + golang.org/x/net v0.39.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.12.0 // indirect - golang.org/x/sys v0.31.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/time v0.7.0 // indirect - golang.org/x/tools v0.30.0 // indirect + golang.org/x/sync v0.13.0 // indirect + golang.org/x/sys v0.32.0 // indirect + golang.org/x/term v0.31.0 // indirect + golang.org/x/text v0.24.0 // indirect + golang.org/x/time v0.9.0 // indirect + golang.org/x/tools v0.32.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/api v0.177.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 // indirect - google.golang.org/grpc v1.65.0 // indirect - google.golang.org/protobuf v1.36.1 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 // indirect + google.golang.org/grpc v1.68.1 // indirect + google.golang.org/protobuf v1.36.5 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/cli-runtime v0.32.2 // indirect - k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect - sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect - sigs.k8s.io/kustomize/api v0.18.0 // indirect - sigs.k8s.io/kustomize/cmd/config v0.15.0 // indirect - sigs.k8s.io/kustomize/kyaml v0.18.1 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect + k8s.io/cli-runtime v0.33.2 // indirect + k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7 // indirect + sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect + sigs.k8s.io/kustomize/api v0.19.0 // indirect + sigs.k8s.io/kustomize/cmd/config v0.19.0 // indirect + sigs.k8s.io/kustomize/kyaml v0.19.0 // indirect + sigs.k8s.io/randfill v1.0.0 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) -go 1.23.0 +go 1.24.0 -toolchain go1.23.12 +toolchain go1.24.11 + +replace ( + github.com/codeready-toolchain/api => github.com/rsoaresd/api v0.0.0-20251217161230-6834c424aeb8 + github.com/codeready-toolchain/toolchain-common => github.com/rsoaresd/toolchain-common v0.0.0-20251217163624-ad1edfab055e +) diff --git a/go.sum b/go.sum index 54fdb1cc7..2e349fa90 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ cloud.google.com/go/auth v0.3.0/go.mod h1:lBv6NKTWp8E3LPzmO1TbiiRKc4drLOfHsgmlH9 cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= -cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= -cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.5.0 h1:Zr0eK8JbFv6+Wi4ilXAR8FJ3wyNdpxHKJNPos6LTZOY= +cloud.google.com/go/compute/metadata v0.5.0/go.mod h1:aHnloV2TPI38yx4s9+wAZhHykWvVCfu7hQbF+9CWoiY= cloud.google.com/go/recaptchaenterprise/v2 v2.13.0 h1:+QG02kE63W13vXI+rwAxFF3EhGX6K7gXwFz9OKwKcHw= cloud.google.com/go/recaptchaenterprise/v2 v2.13.0/go.mod h1:jNYyn2ScR4DTg+VNhjhv/vJQdaU8qz+NpmpIzEE7HFQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= @@ -35,12 +35,6 @@ github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtM github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/codeready-toolchain/api v0.0.0-20251008084914-06282b83d4cd h1:A6WOUwlUdgOf4PDzzgKvycRj4Pk+1F6npWV4YoPVFcM= -github.com/codeready-toolchain/api v0.0.0-20251008084914-06282b83d4cd/go.mod h1:TiQ/yNv3cGL4nxo3fgRtcHyYYuRf+nAgs6B1IAqvxOU= -github.com/codeready-toolchain/toolchain-common v0.0.0-20251121173236-e8b11c5f0284 h1:19VrHE1M0XtKvuZyh0yrFTGf4NC/Z2Js7a/LkF5pGaE= -github.com/codeready-toolchain/toolchain-common v0.0.0-20251121173236-e8b11c5f0284/go.mod h1:5i7k9O0yVftzJwsjSjJjoXMYtUPkiirVsEswuaC8/5I= -github.com/codeready-toolchain/toolchain-common v0.0.0-20251125180949-6ed5aeed75e4 h1:OZd7C6PZMc3BL5CD2NAHxWc1VKtuSjRUJtvEuFBVDEE= -github.com/codeready-toolchain/toolchain-common v0.0.0-20251125180949-6ed5aeed75e4/go.mod h1:5i7k9O0yVftzJwsjSjJjoXMYtUPkiirVsEswuaC8/5I= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -125,8 +119,8 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= +github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw= +github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -182,6 +176,8 @@ github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQL github.com/kisielk/errcheck v1.5.0 h1:e8esj/e4R+SAOwFwN+n3zr0nYeCyeweozKfO23MvHzY= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -191,6 +187,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mailgun/mailgun-go/v4 v4.8.1 h1:1+MdKakJuXnW2JJDbyPdO1ngAANOyHyVPxQvFF8Sq6c= @@ -202,8 +200,6 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/metlos/toolchain-common v0.0.0-20251111121252-51518cd65180 h1:MFy4SQFym+uNVFWmVwXr2T6F0o92WTXM1DOvLIgs09c= -github.com/metlos/toolchain-common v0.0.0-20251111121252-51518cd65180/go.mod h1:5i7k9O0yVftzJwsjSjJjoXMYtUPkiirVsEswuaC8/5I= github.com/migueleliasweb/go-github-mock v0.0.18 h1:0lWt9MYmZQGnQE2rFtjlft/YtD6hzxuN6JJRFpujzEI= github.com/migueleliasweb/go-github-mock v0.0.18/go.mod h1:CcgXcbMoRnf3rRVHqGssuBquZDIcaplxL2W6G+xs7kM= github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= @@ -228,31 +224,35 @@ github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM= github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/openshift/api v0.0.0-20250903165707-ce7baf0afbc4 h1:XgwZL/423MV7hphVdGYK+0ZPDaerolGGJbXAbgK5FyE= -github.com/openshift/api v0.0.0-20250903165707-ce7baf0afbc4/go.mod h1:yk60tHAmHhtVpJQo3TwVYq2zpuP70iJIFDCmeKMIzPw= -github.com/openshift/library-go v0.0.0-20250826065405-6d18d1191f49 h1:02KSv7D27b45+yMlwnepEgrbxbclKF2Tdr6xxzZs/Gw= -github.com/openshift/library-go v0.0.0-20250826065405-6d18d1191f49/go.mod h1:DAa3BGl0CFtkfJn/g5rU8kDDTErfMVA/QlFm4cvU+MI= +github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= +github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= +github.com/openshift/api v0.0.0-20251202204302-1cb53e34ca33 h1:/Be2oa7aOPE60B7AH0/j58BUvN0MMQjhDdN/A71TcKc= +github.com/openshift/api v0.0.0-20251202204302-1cb53e34ca33/go.mod h1:SPLf21TYPipzCO67BURkCfK6dcIIxx0oNRVWaOyRcXM= +github.com/openshift/library-go v0.0.0-20251110200504-2685cf1242fc h1:g9BJ/p4ZLgb253FwnWvWEzl2vYSDSvvUZ6s42weVKpM= +github.com/openshift/library-go v0.0.0-20251110200504-2685cf1242fc/go.mod h1:tptKNust9MdRI0p90DoBSPHIrBa9oh+Rok59tF0vT8c= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= -github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= +github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= +github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= -github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= -github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= +github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/redhat-cop/operator-utils v1.3.8 h1:xhoMBg2snSzNdcxT53lSBr7PRXxrzP1cDi51NPBLaT4= github.com/redhat-cop/operator-utils v1.3.8/go.mod h1:s4R0YY8lVlHkC78GLV20PPuZmywjSbTwZKCHwWUQ3P8= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rsoaresd/api v0.0.0-20251217161230-6834c424aeb8 h1:xoLKySC1oCNKaIPJN+A5L2Fu9ktnb/VjxffKR9dh66Y= +github.com/rsoaresd/api v0.0.0-20251217161230-6834c424aeb8/go.mod h1:Vt4Sob/HW/6m63bKvbDNpZsDDpzswUcYCShzW31GnLI= +github.com/rsoaresd/toolchain-common v0.0.0-20251217163624-ad1edfab055e h1:zRVUAoYuZ+prbo/IyGSHwqYfRFVI6RskeuOQHEJkAIE= +github.com/rsoaresd/toolchain-common v0.0.0-20251217163624-ad1edfab055e/go.mod h1:/yZ04Zdqq9eYJ2PIA8j5JliuTpbnAWvEZGo8wHFGVdU= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/segmentio/analytics-go/v3 v3.2.1 h1:G+f90zxtc1p9G+WigVyTR0xNfOghOGs/PYAlljLOyeg= github.com/segmentio/analytics-go/v3 v3.2.1/go.mod h1:p8owAF8X+5o27jmvUognuXxdtqvSGtD0ZrfY2kcS9bE= @@ -294,14 +294,16 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 h1:9G6E0TXzGFVfTnawRzrPl83iHOAV7L8NJiR8RSGYV1g= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74= -go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= -go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= -go.opentelemetry.io/otel/metric v1.28.0 h1:f0HGvSl1KRAU1DLgLGFjrwVyismPlnuU6JD6bOeuA5Q= -go.opentelemetry.io/otel/metric v1.28.0/go.mod h1:Fb1eVBFZmLVTMb6PPohq3TO9IIhUisDsbJoL/+uQW4s= -go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= -go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.58.0 h1:PS8wXpbyaDJQ2VDHHncMe9Vct0Zn1fEjpsjrLxGJoSc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.58.0/go.mod h1:HDBUsEjOuRC0EzKZ1bSaRGZWUBAzo+MhAcUUORSr4D0= +go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw= +go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I= +go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5WtEnklQ= +go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M= +go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s= +go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -314,8 +316,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= +golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= 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= @@ -326,8 +328,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM= -golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= +golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= 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= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -344,8 +346,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= @@ -357,8 +359,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= -golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= +golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 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= @@ -373,16 +375,16 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= +golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= +golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= 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= @@ -391,10 +393,10 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= -golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ= -golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= +golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= +golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -408,8 +410,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= +golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= +golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -424,17 +426,17 @@ google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw= -google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 h1:2035KHhUv+EpyB+hWgJnaWKJOdX1E95w2S8Rr4uWKTs= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 h1:CkkIfIt50+lT6NHAVoRYEyAvQGFM7xEwXUUywFvEb3Q= +google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576 h1:8ZmaLZE4XWrtU3MyClkYqqtl6Oegr3235h7jxsDyqCY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= -google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= +google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -447,8 +449,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= @@ -472,49 +474,52 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.32.2 h1:bZrMLEkgizC24G9eViHGOPbW+aRo9duEISRIJKfdJuw= -k8s.io/api v0.32.2/go.mod h1:hKlhk4x1sJyYnHENsrdCWw31FEmCijNGPJO5WzHiJ6Y= -k8s.io/apiextensions-apiserver v0.32.2 h1:2YMk285jWMk2188V2AERy5yDwBYrjgWYggscghPCvV4= -k8s.io/apiextensions-apiserver v0.32.2/go.mod h1:GPwf8sph7YlJT3H6aKUWtd0E+oyShk/YHWQHf/OOgCA= -k8s.io/apimachinery v0.32.2 h1:yoQBR9ZGkA6Rgmhbp/yuT9/g+4lxtsGYwW6dR6BDPLQ= -k8s.io/apimachinery v0.32.2/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE= -k8s.io/cli-runtime v0.32.2 h1:aKQR4foh9qeyckKRkNXUccP9moxzffyndZAvr+IXMks= -k8s.io/cli-runtime v0.32.2/go.mod h1:a/JpeMztz3xDa7GCyyShcwe55p8pbcCVQxvqZnIwXN8= -k8s.io/client-go v0.32.2 h1:4dYCD4Nz+9RApM2b/3BtVvBHw54QjMFUl1OLcJG5yOA= -k8s.io/client-go v0.32.2/go.mod h1:fpZ4oJXclZ3r2nDOv+Ux3XcJutfrwjKTCHz2H3sww94= -k8s.io/code-generator v0.32.2 h1:CIvyPrLWP7cMgrqval2qYT839YAwCDeSvGfXgWSNpHQ= -k8s.io/code-generator v0.32.2/go.mod h1:plh7bWk7JztAUkHM4zpbdy0KOMdrhsePcZL2HLWFH7Y= +k8s.io/api v0.33.2 h1:YgwIS5jKfA+BZg//OQhkJNIfie/kmRsO0BmNaVSimvY= +k8s.io/api v0.33.2/go.mod h1:fhrbphQJSM2cXzCWgqU29xLDuks4mu7ti9vveEnpSXs= +k8s.io/apiextensions-apiserver v0.33.2 h1:6gnkIbngnaUflR3XwE1mCefN3YS8yTD631JXQhsU6M8= +k8s.io/apiextensions-apiserver v0.33.2/go.mod h1:IvVanieYsEHJImTKXGP6XCOjTwv2LUMos0YWc9O+QP8= +k8s.io/apimachinery v0.33.2 h1:IHFVhqg59mb8PJWTLi8m1mAoepkUNYmptHsV+Z1m5jY= +k8s.io/apimachinery v0.33.2/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM= +k8s.io/cli-runtime v0.33.2 h1:koNYQKSDdq5AExa/RDudXMhhtFasEg48KLS2KSAU74Y= +k8s.io/cli-runtime v0.33.2/go.mod h1:gnhsAWpovqf1Zj5YRRBBU7PFsRc6NkEkwYNQE+mXL88= +k8s.io/client-go v0.33.2 h1:z8CIcc0P581x/J1ZYf4CNzRKxRvQAwoAolYPbtQes+E= +k8s.io/client-go v0.33.2/go.mod h1:9mCgT4wROvL948w6f6ArJNb7yQd7QsvqavDeZHvNmHo= +k8s.io/code-generator v0.33.2 h1:PCJ0Y6viTCxxJHMOyGqYwWEteM4q6y1Hqo2rNpl6jF4= +k8s.io/code-generator v0.33.2/go.mod h1:hBjCA9kPMpjLWwxcr75ReaQfFXY8u+9bEJJ7kRw3J8c= k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 h1:pWEwq4Asjm4vjW7vcsmijwBhOr1/shsbSYiWXmNGlks= k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 h1:si3PfKm8dDYxgfbeA6orqrtLkvvIeH8UqffFJDl0bz4= -k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU= +k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7 h1:2OX19X59HxDprNCVrWi6jb7LW1PoqTlYqEq5H2oetog= +k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= -k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f h1:GA7//TjRY9yWGy1poLzYYJJ4JRdzg3+O6e8I+e+8T5Y= -k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f/go.mod h1:R/HEjbvWI0qdfb8viZUeVZm0X6IZnxAydC7YU42CMw4= -k8s.io/kubectl v0.32.2 h1:TAkag6+XfSBgkqK9I7ZvwtF0WVtUAvK8ZqTt+5zi1Us= -k8s.io/kubectl v0.32.2/go.mod h1:+h/NQFSPxiDZYX/WZaWw9fwYezGLISP0ud8nQKg+3g8= -k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro= -k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/controller-runtime v0.20.4 h1:X3c+Odnxz+iPTRobG4tp092+CvBU9UK0t/bRf+n0DGU= -sigs.k8s.io/controller-runtime v0.20.4/go.mod h1:xg2XB0K5ShQzAgsoujxuKN4LNXR2LfwwHsPj7Iaw+XY= -sigs.k8s.io/controller-tools v0.17.3 h1:lwFPLicpBKLgIepah+c8ikRBubFW5kOQyT88r3EwfNw= -sigs.k8s.io/controller-tools v0.17.3/go.mod h1:1ii+oXcYZkxcBXzwv3YZBlzjt1fvkrCGjVF73blosJI= -sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8= -sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo= -sigs.k8s.io/kustomize/api v0.18.0 h1:hTzp67k+3NEVInwz5BHyzc9rGxIauoXferXyjv5lWPo= -sigs.k8s.io/kustomize/api v0.18.0/go.mod h1:f8isXnX+8b+SGLHQ6yO4JG1rdkZlvhaCf/uZbLVMb0U= -sigs.k8s.io/kustomize/cmd/config v0.15.0 h1:WkdY8V2+8J+W00YbImXa2ke9oegfrHH79e+kywW7EdU= -sigs.k8s.io/kustomize/cmd/config v0.15.0/go.mod h1:Jq57b0nPaoYUlOqg//0JtAh6iibboqMcfbtCYoWPM00= -sigs.k8s.io/kustomize/kustomize/v5 v5.5.0 h1:o1mtt6vpxsxDYaZKrw3BnEtc+pAjLz7UffnIvHNbvW0= -sigs.k8s.io/kustomize/kustomize/v5 v5.5.0/go.mod h1:AeFCmgCrXzmvjWWaeZCyBp6XzG1Y0w1svYus8GhJEOE= -sigs.k8s.io/kustomize/kyaml v0.18.1 h1:WvBo56Wzw3fjS+7vBjN6TeivvpbW9GmRaWZ9CIVmt4E= -sigs.k8s.io/kustomize/kyaml v0.18.1/go.mod h1:C3L2BFVU1jgcddNBE1TxuVLgS46TjObMwW5FT9FcjYo= -sigs.k8s.io/structured-merge-diff/v4 v4.4.2 h1:MdmvkGuXi/8io6ixD5wud3vOLwc1rj0aNqRlpuvjmwA= -sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= +k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4= +k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8= +k8s.io/kubectl v0.33.2 h1:7XKZ6DYCklu5MZQzJe+CkCjoGZwD1wWl7t/FxzhMz7Y= +k8s.io/kubectl v0.33.2/go.mod h1:8rC67FB8tVTYraovAGNi/idWIK90z2CHFNMmGJZJ3KI= +k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0= +k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +sigs.k8s.io/controller-runtime v0.21.0 h1:CYfjpEuicjUecRk+KAeyYh+ouUBn4llGyDYytIGcJS8= +sigs.k8s.io/controller-runtime v0.21.0/go.mod h1:OSg14+F65eWqIu4DceX7k/+QRAbTTvxeQSNSOQpukWM= +sigs.k8s.io/controller-tools v0.18.0 h1:rGxGZCZTV2wJreeRgqVoWab/mfcumTMmSwKzoM9xrsE= +sigs.k8s.io/controller-tools v0.18.0/go.mod h1:gLKoiGBriyNh+x1rWtUQnakUYEujErjXs9pf+x/8n1U= +sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE= +sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= +sigs.k8s.io/kustomize/api v0.19.0 h1:F+2HB2mU1MSiR9Hp1NEgoU2q9ItNOaBJl0I4Dlus5SQ= +sigs.k8s.io/kustomize/api v0.19.0/go.mod h1:/BbwnivGVcBh1r+8m3tH1VNxJmHSk1PzP5fkP6lbL1o= +sigs.k8s.io/kustomize/cmd/config v0.19.0 h1:D3uASwjHWHmNiEHu3pPJBJMBIsb+auFvHrHql3HAarU= +sigs.k8s.io/kustomize/cmd/config v0.19.0/go.mod h1:29Vvdl26PidPLUDi7nfjYa/I0wHBkwCZp15Nlcc4y98= +sigs.k8s.io/kustomize/kustomize/v5 v5.6.0 h1:MWtRRDWCwQEeW2rnJTqJMuV6Agy56P53SkbVoJpN7wA= +sigs.k8s.io/kustomize/kustomize/v5 v5.6.0/go.mod h1:XuuZiQF7WdcvZzEYyNww9A0p3LazCKeJmCjeycN8e1I= +sigs.k8s.io/kustomize/kyaml v0.19.0 h1:RFge5qsO1uHhwJsu3ipV7RNolC7Uozc0jUBC/61XSlA= +sigs.k8s.io/kustomize/kyaml v0.19.0/go.mod h1:FeKD5jEOH+FbZPpqUghBP8mrLjJ3+zD3/rf9NNu1cwY= +sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= +sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= +sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= +sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc= +sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/openshift-ci/Dockerfile.tools b/openshift-ci/Dockerfile.tools index d0b6a2c24..45d8db77c 100644 --- a/openshift-ci/Dockerfile.tools +++ b/openshift-ci/Dockerfile.tools @@ -8,8 +8,8 @@ ENV LANG=en_US.utf8 \ GOCACHE=/tmp/.cache \ GIT_COMMITTER_NAME="KubeSaw" \ GIT_COMMITTER_EMAIL=devsandbox@redhat.com \ - GOLANG_VERSION=go1.23.12 \ - GOLANG_SHA256=d3847fef834e9db11bf64e3fb34db9c04db14e068eeb064f49af747010454f90 + GOLANG_VERSION=go1.24.11 \ + GOLANG_SHA256=bceca00afaac856bc48b4cc33db7cd9eb383c81811379faed3bdbc80edb0af65 ARG GO_PACKAGE_PATH=github.com/codeready-toolchain/host-operator From 9e2d96771114df5582d760d132e9d35979832178 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 16:57:29 +0000 Subject: [PATCH 02/18] fix golangci-lint --- controllers/deactivation/deactivation_controller_test.go | 7 ------- 1 file changed, 7 deletions(-) diff --git a/controllers/deactivation/deactivation_controller_test.go b/controllers/deactivation/deactivation_controller_test.go index bcaaf4491..104db3e29 100644 --- a/controllers/deactivation/deactivation_controller_test.go +++ b/controllers/deactivation/deactivation_controller_test.go @@ -224,7 +224,6 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.False(t, res.Requeue, "requeue should not be set") require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, false) }) @@ -238,7 +237,6 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.False(t, res.Requeue, "requeue should not be set") require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, false) }) @@ -283,7 +281,6 @@ func TestReconcile(t *testing.T) { // then require.NoError(t, err) - require.False(t, res.Requeue, "requeue should not be set") require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, false) @@ -495,7 +492,6 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.False(t, res.Requeue, "requeue should not be set") require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") }) }) @@ -515,7 +511,6 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.False(t, res.Requeue, "requeue should not be set") require.Equal(t, time.Duration(0), res.RequeueAfter, "requeue should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, true) metricstest.AssertMetricsCounterEquals(t, 1, metrics.UserSignupAutoDeactivatedTotal) @@ -724,7 +719,6 @@ func TestReconcile(t *testing.T) { // then require.Error(t, err) require.Contains(t, err.Error(), "usersignup get error") - require.False(t, res.Requeue, "requeue should not be set") require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") }) @@ -757,7 +751,6 @@ func TestReconcile(t *testing.T) { // then require.Error(t, err) require.Contains(t, err.Error(), "usersignup update error") - require.False(t, res.Requeue, "requeue should not be set") require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, false) }) From 6dbba3f09c1260297d17505b9ddb410d87d751c6 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 17:16:56 +0000 Subject: [PATCH 03/18] fix --- controllers/deactivation/deactivation_controller.go | 2 +- .../masteruserrecord/masteruserrecord_controller.go | 2 +- .../masteruserrecord_controller_test.go | 6 +++--- .../notification/notification_controller_test.go | 13 ++++++------- .../toolchainconfig/toolchainconfig_controller.go | 2 +- controllers/usersignup/usersignup_controller.go | 2 +- .../usersignup_cleanup_controller.go | 2 +- 7 files changed, 14 insertions(+), 15 deletions(-) diff --git a/controllers/deactivation/deactivation_controller.go b/controllers/deactivation/deactivation_controller.go index 8f9cc0576..011ea1377 100644 --- a/controllers/deactivation/deactivation_controller.go +++ b/controllers/deactivation/deactivation_controller.go @@ -49,7 +49,7 @@ type Reconciler struct { // Reconcile reads the state of the cluster for a MUR object and determines whether to trigger deactivation or requeue based on its current status // Note: // The Controller will requeue the Request to be processed again if the returned error is non-nil or -// Result.Requeue is true, otherwise upon completion it will remove the work from the queue. +// Result.RequeueAfter > 0 is true, otherwise upon completion it will remove the work from the queue. // nolint: gocyclo func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error) { logger := log.FromContext(ctx) diff --git a/controllers/masteruserrecord/masteruserrecord_controller.go b/controllers/masteruserrecord/masteruserrecord_controller.go index b457e5048..fdb83544a 100644 --- a/controllers/masteruserrecord/masteruserrecord_controller.go +++ b/controllers/masteruserrecord/masteruserrecord_controller.go @@ -70,7 +70,7 @@ type Reconciler struct { // and what is in the MasterUserRecord.Spec // Note: // The Controller will requeue the Request to be processed again if the returned error is non-nil or -// Result.Requeue is true, otherwise upon completion it will remove the work from the queue. +// Result.RequeueAfter > 0 is true, otherwise upon completion it will remove the work from the queue. func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error) { logger := log.FromContext(ctx) logger.Info("Reconciling MasterUserRecord") diff --git a/controllers/masteruserrecord/masteruserrecord_controller_test.go b/controllers/masteruserrecord/masteruserrecord_controller_test.go index 35de715e6..dc6f4697c 100644 --- a/controllers/masteruserrecord/masteruserrecord_controller_test.go +++ b/controllers/masteruserrecord/masteruserrecord_controller_test.go @@ -71,7 +71,7 @@ func TestAddFinalizer(t *testing.T) { // then require.NoError(t, err) - require.False(t, result.Requeue) + assert.Empty(t, result.RequeueAfter) murtest.AssertThatMasterUserRecord(t, "john", hostClient). HasConditions(toBeNotReady(toolchainv1alpha1.MasterUserRecordProvisioningReason, "")). @@ -106,7 +106,7 @@ func TestAddFinalizer(t *testing.T) { // then require.NoError(t, err) - require.False(t, result.Requeue) + assert.Empty(t, result.RequeueAfter) murtest.AssertThatMasterUserRecord(t, "john", hostClient). HasConditions(toBeNotReady(toolchainv1alpha1.MasterUserRecordProvisioningReason, "")). @@ -143,7 +143,7 @@ func TestAddFinalizer(t *testing.T) { // then require.NoError(t, err) - require.False(t, result.Requeue) + assert.Empty(t, result.RequeueAfter) murtest.AssertThatMasterUserRecord(t, "john", hostClient). HasConditions(toBeProvisioned(), toBeProvisionedNotificationCreated()). diff --git a/controllers/notification/notification_controller_test.go b/controllers/notification/notification_controller_test.go index f8d0f483e..ed030eb9c 100644 --- a/controllers/notification/notification_controller_test.go +++ b/controllers/notification/notification_controller_test.go @@ -58,7 +58,6 @@ func TestNotificationSuccess(t *testing.T) { // then require.NoError(t, err) - assert.True(t, result.Requeue) assert.Greater(t, cast.ToDuration("10s"), result.RequeueAfter) assert.Greater(t, result.RequeueAfter, cast.ToDuration("1s")) ntest.AssertThatNotification(t, notification.Name, cl). @@ -81,7 +80,7 @@ func TestNotificationSuccess(t *testing.T) { // then require.NoError(t, err) - assert.False(t, result.Requeue) + assert.Empty(t, result.RequeueAfter) AssertThatNotificationIsDeleted(t, cl, notification.Name) }) } @@ -110,7 +109,7 @@ func TestNotificationSentFailure(t *testing.T) { // then require.Error(t, err) - require.False(t, result.Requeue) + assert.Empty(t, result.RequeueAfter) assert.Equal(t, err.Error(), fmt.Sprintf("failed to delete notification: unable to delete Notification object '%s': error", notification.Name)) ntest.AssertThatNotification(t, notification.Name, cl). HasConditions(sentCond(), deletionCond(fmt.Sprintf("unable to delete Notification object '%s': error", notification.Name))) @@ -154,7 +153,7 @@ func TestNotificationDelivery(t *testing.T) { // then require.NoError(t, err) - require.True(t, result.Requeue) + assert.Greater(t, result.RequeueAfter, cast.ToDuration("0s")) // Load the reconciled notification key := types.NamespacedName{ @@ -201,7 +200,7 @@ func TestNotificationDelivery(t *testing.T) { // then require.NoError(t, err) - require.True(t, result.Requeue) + assert.Greater(t, result.RequeueAfter, cast.ToDuration("0s")) // Load the reconciled notification key := types.NamespacedName{ @@ -262,7 +261,7 @@ func TestNotificationDelivery(t *testing.T) { // then require.NoError(t, err) - require.True(t, result.Requeue) + assert.Greater(t, result.RequeueAfter, cast.ToDuration("0s")) // Load the reconciled notification key := types.NamespacedName{ @@ -303,7 +302,7 @@ func TestNotificationDelivery(t *testing.T) { // then require.Error(t, err) - require.False(t, result.Requeue) + assert.Empty(t, result.RequeueAfter) require.Equal(t, "failed to send notification: delivery error", err.Error()) // Load the reconciled notification diff --git a/controllers/toolchainconfig/toolchainconfig_controller.go b/controllers/toolchainconfig/toolchainconfig_controller.go index 4d813130b..25fa2bfbc 100644 --- a/controllers/toolchainconfig/toolchainconfig_controller.go +++ b/controllers/toolchainconfig/toolchainconfig_controller.go @@ -76,7 +76,7 @@ type Reconciler struct { // and what is in the ToolchainConfig.Spec // Note: // The Controller will requeue the Request to be processed again if the returned error is non-nil or -// Result.Requeue is true, otherwise upon completion it will remove the work from the queue. +// Result.RequeueAfter > 0 is true, otherwise upon completion it will remove the work from the queue. func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error) { reqLogger := log.FromContext(ctx) reqLogger.Info("Reconciling ToolchainConfig") diff --git a/controllers/usersignup/usersignup_controller.go b/controllers/usersignup/usersignup_controller.go index f5efbad6a..279f926ed 100644 --- a/controllers/usersignup/usersignup_controller.go +++ b/controllers/usersignup/usersignup_controller.go @@ -87,7 +87,7 @@ type Reconciler struct { // and what is in the UserSignup.Spec // Note: // The Controller will requeue the Request to be processed again if the returned error is non-nil or -// Result.Requeue is true, otherwise upon completion it will remove the work from the queue. +// Result.RequeueAfter > 0 is true, otherwise upon completion it will remove the work from the queue. func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error) { logger := log.FromContext(ctx) logger.Info("Reconciling UserSignup") diff --git a/controllers/usersignupcleanup/usersignup_cleanup_controller.go b/controllers/usersignupcleanup/usersignup_cleanup_controller.go index 2c5731c79..9e16c0768 100644 --- a/controllers/usersignupcleanup/usersignup_cleanup_controller.go +++ b/controllers/usersignupcleanup/usersignup_cleanup_controller.go @@ -56,7 +56,7 @@ type Reconciler struct { // and what is in the UserSignup.Spec // Note: // The Controller will requeue the Request to be processed again if the returned error is non-nil or -// Result.Requeue is true, otherwise upon completion it will remove the work from the queue. +// Result.RequeueAfter > 0 is true, otherwise upon completion it will remove the work from the queue. func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error) { reqLogger := log.FromContext(ctx) reqLogger.Info("Reconciling UserSignup") From 8b4532734290505e7a35b87165efa39216904116 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 17:21:44 +0000 Subject: [PATCH 04/18] fix --- .../socialevent_controller_test.go | 2 +- controllers/space/space_controller_test.go | 44 +++++++++---------- .../space_cleanup_controller_test.go | 20 ++++----- .../spaceprovisionerconfig_controller_test.go | 6 +-- .../usersignup/usersignup_controller_test.go | 14 +++--- 5 files changed, 43 insertions(+), 43 deletions(-) diff --git a/controllers/socialevent/socialevent_controller_test.go b/controllers/socialevent/socialevent_controller_test.go index 66f6aaf89..3fc4e1586 100644 --- a/controllers/socialevent/socialevent_controller_test.go +++ b/controllers/socialevent/socialevent_controller_test.go @@ -74,7 +74,7 @@ func TestReconcileSocialEvent(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) // check the social event status socialeventtest.AssertThatSocialEvent(t, test.HostOperatorNs, event.Name, hostClient). HasStatusActivations(2). diff --git a/controllers/space/space_controller_test.go b/controllers/space/space_controller_test.go index 98c4e6a11..0a93110ed 100644 --- a/controllers/space/space_controller_test.go +++ b/controllers/space/space_controller_test.go @@ -115,7 +115,7 @@ func TestCreateSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasStatusTargetCluster("member-1"). @@ -203,7 +203,7 @@ func TestCreateSpace(t *testing.T) { // then require.NoError(t, err) // the lack of target member cluster is valid, hence no error is returned - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasNoStatusTargetCluster(). HasStateLabel("pending"). @@ -228,7 +228,7 @@ func TestCreateSpace(t *testing.T) { // then require.NoError(t, err) // the lack of tierName is valid, hence no error is returned - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasNoStatusTargetCluster(). HasStateLabel("pending"). @@ -310,7 +310,7 @@ func TestCreateSpace(t *testing.T) { // then require.NoError(t, err) // not an error, space simply doesn't exist :shrug: - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) AssertThatCountersAndMetrics(t). HaveSpacesForCluster("member-1", 0). HaveSpacesForCluster("member-2", 0) // no space is created @@ -337,7 +337,7 @@ func TestCreateSpace(t *testing.T) { // then require.EqualError(t, err, "unable to get the current Space: mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) AssertThatCountersAndMetrics(t). HaveSpacesForCluster("member-1", 0). HaveSpacesForCluster("member-2", 0) // no space is created since `spec.TargetCluster` field is not set @@ -364,7 +364,7 @@ func TestCreateSpace(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) AssertThatCountersAndMetrics(t). HaveSpacesForCluster("member-1", 0). HaveSpacesForCluster("member-2", 0) // no space is created since `spec.TargetCluster` field is not set @@ -385,7 +385,7 @@ func TestCreateSpace(t *testing.T) { // then require.EqualError(t, err, "unknown target member cluster 'unknown'") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasStatusTargetCluster(""). // has empty target cluster since it wasn't provisioned HasStateLabel("cluster-assigned"). @@ -418,7 +418,7 @@ func TestCreateSpace(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasSpecTargetCluster("member-1"). HasConditions(spacetest.ProvisioningFailed("mock error")) @@ -451,7 +451,7 @@ func TestCreateSpace(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasStatusTargetCluster("member-1"). HasConditions(spacetest.UnableToCreateNSTemplateSet("mock error")) @@ -561,7 +561,7 @@ func TestCreateSpace(t *testing.T) { // then require.EqualError(t, err, "error setting provisioned namespaces: update error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasStatusProvisionedNamespaces([]toolchainv1alpha1.SpaceNamespace(nil)) // unable to set list of namespaces }) @@ -829,7 +829,7 @@ func TestDeleteSpace(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). Exists(). HasFinalizer(). @@ -871,7 +871,7 @@ func TestDeleteSpace(t *testing.T) { // then require.EqualError(t, err, "NSTemplateSet deletion has not completed in over 1 minute") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). Exists(). HasFinalizer(). @@ -963,7 +963,7 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasTier(otherTier.Name). @@ -1317,7 +1317,7 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) // no need to requeue since the NSTemplate is already up-to-date + assert.Empty(t, res.RequeueAfter) // no need to requeue since the NSTemplate is already up-to-date spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasTier(base1nsTier.Name). @@ -1448,7 +1448,7 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). Exists(). HasStatusTargetCluster("member-1"). @@ -1490,7 +1490,7 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasTier(otherTier.Name). @@ -1659,7 +1659,7 @@ func TestUpdateSpaceRoles(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) // no requeue since the NSTemplateSet was not updated + assert.Empty(t, res.RequeueAfter) // no requeue since the NSTemplateSet was not updated spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasConditions(spacetest.Ready()) // NSTemplateSet should have an spaceRoles entry for the `mur` @@ -1819,7 +1819,7 @@ func TestRetargetSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasFinalizer(). HasNoSpecTargetCluster(). @@ -1837,7 +1837,7 @@ func TestRetargetSpace(t *testing.T) { res, err := ctrl.Reconcile(context.TODO(), requestFor(s)) // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasFinalizer(). HasNoSpecTargetCluster(). @@ -1874,7 +1874,7 @@ func TestRetargetSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasFinalizer(). HasSpecTargetCluster("member-2"). @@ -1937,7 +1937,7 @@ func TestRetargetSpace(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasFinalizer(). HasSpecTargetCluster("member-2"). @@ -1970,7 +1970,7 @@ func TestRetargetSpace(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasFinalizer(). HasSpecTargetCluster("member-2"). diff --git a/controllers/spacecleanup/space_cleanup_controller_test.go b/controllers/spacecleanup/space_cleanup_controller_test.go index 80cca72e4..a33affced 100644 --- a/controllers/spacecleanup/space_cleanup_controller_test.go +++ b/controllers/spacecleanup/space_cleanup_controller_test.go @@ -34,7 +34,7 @@ func TestCleanupSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, space.Name, cl). DoesNotExist() }) @@ -66,7 +66,7 @@ func TestCleanupSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, space.Name, cl). Exists() }) @@ -81,7 +81,7 @@ func TestCleanupSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, space.Name, cl). Exists() }) @@ -101,7 +101,7 @@ func TestCleanupSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) }) t.Run("with ParentSpace - Space shouldn't be deleted", func(t *testing.T) { @@ -121,7 +121,7 @@ func TestCleanupSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, subSpace.Name, cl). Exists() }) @@ -145,7 +145,7 @@ func TestCleanupSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, subSpace.Name, cl). Exists() }) @@ -163,7 +163,7 @@ func TestCleanupSpace(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, subSpace.Name, cl). Exists() }) @@ -183,7 +183,7 @@ func TestCleanupSpace(t *testing.T) { // then require.EqualError(t, err, "unable to get the current Space: some error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) cl.MockGet = nil spacetest.AssertThatSpace(t, test.HostOperatorNs, space.Name, cl). Exists() @@ -202,7 +202,7 @@ func TestCleanupSpace(t *testing.T) { // then require.EqualError(t, err, "unable to list SpaceBindings: some error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, space.Name, cl). Exists() }) @@ -220,7 +220,7 @@ func TestCleanupSpace(t *testing.T) { // then require.EqualError(t, err, "unable to delete Space: some error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) spacetest.AssertThatSpace(t, test.HostOperatorNs, space.Name, cl). Exists() }) diff --git a/controllers/spaceprovisionerconfig/spaceprovisionerconfig_controller_test.go b/controllers/spaceprovisionerconfig/spaceprovisionerconfig_controller_test.go index 56e47d271..5abd87dce 100644 --- a/controllers/spaceprovisionerconfig/spaceprovisionerconfig_controller_test.go +++ b/controllers/spaceprovisionerconfig/spaceprovisionerconfig_controller_test.go @@ -371,7 +371,7 @@ func TestSpaceProvisionerConfigReEnqueing(t *testing.T) { // then require.NoError(t, reconcileErr) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) assert.Empty(t, spc.Status.Conditions) }) t.Run("doesn't re-enqueue when object being deleted", func(t *testing.T) { @@ -387,7 +387,7 @@ func TestSpaceProvisionerConfigReEnqueing(t *testing.T) { // then require.NoError(t, reconcileErr) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) assert.Empty(t, spc.Status.Conditions) }) t.Run("doesn't re-enqueue when ToolchainCluster not found", func(t *testing.T) { @@ -407,7 +407,7 @@ func TestSpaceProvisionerConfigReEnqueing(t *testing.T) { // then require.NoError(t, reconcileErr) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) assert.NotEmpty(t, spc.Status.Conditions) }) } diff --git a/controllers/usersignup/usersignup_controller_test.go b/controllers/usersignup/usersignup_controller_test.go index 8d5fcf6b7..2e18945ea 100644 --- a/controllers/usersignup/usersignup_controller_test.go +++ b/controllers/usersignup/usersignup_controller_test.go @@ -970,7 +970,7 @@ func TestUnapprovedUserSignupWhenNoClusterReady(t *testing.T) { // then // it should not return an error but just wait for another reconcile triggered by updated ToolchainStatus require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) err = r.Client.Get(context.TODO(), types.NamespacedName{Name: userSignup.Name, Namespace: req.Namespace}, userSignup) require.NoError(t, err) t.Logf("usersignup status: %+v", userSignup.Status) @@ -1033,7 +1033,7 @@ func TestUserSignupFailedNoClusterWithCapacityAvailable(t *testing.T) { // then // it should not return an error but just wait for another reconcile triggered by updated ToolchainStatus require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) err = r.Client.Get(context.TODO(), types.NamespacedName{Name: userSignup.Name, Namespace: req.Namespace}, userSignup) require.NoError(t, err) t.Logf("usersignup status: %+v", userSignup.Status) @@ -4533,7 +4533,7 @@ func TestUserSignupLastTargetClusterAnnotation(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) AssertThatUserSignup(t, req.Namespace, userSignup.Name, r.Client). HasAnnotation(toolchainv1alpha1.UserSignupLastTargetClusterAnnotationKey, "member1") murtest.AssertThatMasterUserRecords(t, r.Client).HaveCount(1) @@ -4554,7 +4554,7 @@ func TestUserSignupLastTargetClusterAnnotation(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) AssertThatUserSignup(t, req.Namespace, userSignup.Name, r.Client).HasAnnotation(toolchainv1alpha1.UserSignupLastTargetClusterAnnotationKey, "member1") murtest.AssertThatMasterUserRecords(t, r.Client).HaveCount(1) murtest.AssertThatMasterUserRecord(t, userSignup.Name, r.Client).HasTargetCluster("member1") @@ -4579,7 +4579,7 @@ func TestUserSignupLastTargetClusterAnnotation(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) AssertThatUserSignup(t, req.Namespace, userSignup.Name, r.Client). HasAnnotation(toolchainv1alpha1.UserSignupLastTargetClusterAnnotationKey, "member2") murtest.AssertThatMasterUserRecords(t, r.Client).HaveCount(1) @@ -4599,7 +4599,7 @@ func TestUserSignupLastTargetClusterAnnotation(t *testing.T) { // then require.NoError(t, err) - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) AssertThatUserSignup(t, req.Namespace, userSignup.Name, r.Client). HasAnnotation(toolchainv1alpha1.UserSignupLastTargetClusterAnnotationKey, "member1") murtest.AssertThatMasterUserRecords(t, r.Client).HaveCount(1) @@ -4633,7 +4633,7 @@ func TestUserSignupLastTargetClusterAnnotation(t *testing.T) { // then require.EqualError(t, err, "unable to update last target cluster annotation on UserSignup resource: error") - assert.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) AssertThatUserSignup(t, req.Namespace, userSignupName, cl). DoesNotHaveAnnotation(toolchainv1alpha1.UserSignupLastTargetClusterAnnotationKey) murtest.AssertThatMasterUserRecords(t, r.Client).HaveCount(0) From 56eda527ac74ddd0601d3c7427bd9b16f9201b2a Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 17:27:20 +0000 Subject: [PATCH 05/18] res.Requeue is deprecated --- .../deactivation/deactivation_controller_test.go | 13 +++++++------ .../usersignup_cleanup_controller_test.go | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/controllers/deactivation/deactivation_controller_test.go b/controllers/deactivation/deactivation_controller_test.go index 104db3e29..2a7ffccc6 100644 --- a/controllers/deactivation/deactivation_controller_test.go +++ b/controllers/deactivation/deactivation_controller_test.go @@ -25,6 +25,7 @@ import ( murtest "github.com/codeready-toolchain/toolchain-common/pkg/test/masteruserrecord" metricstest "github.com/codeready-toolchain/toolchain-common/pkg/test/metrics" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -329,7 +330,7 @@ func TestReconcile(t *testing.T) { // then require.NoError(t, err) - require.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) // Reload the userSignup require.NoError(t, cl.Get(context.TODO(), types.NamespacedName{Name: userSignupFoobar.Name, Namespace: operatorNamespace}, userSignupFoobar)) @@ -370,7 +371,7 @@ func TestReconcile(t *testing.T) { // then require.NoError(t, err) - require.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) // Reload the userSignup require.NoError(t, cl.Get(context.TODO(), types.NamespacedName{Name: userSignupFoobar.Name, Namespace: operatorNamespace}, userSignupFoobar)) @@ -425,7 +426,7 @@ func TestReconcile(t *testing.T) { // then require.NoError(t, err) - require.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) // The RequeueAfter should be ~about 3 days... let's accept if it's within 1 hour of that require.WithinDuration(t, time.Now().Add(time.Duration(72)*time.Hour), time.Now().Add(res.RequeueAfter), time.Duration(1)*time.Hour) @@ -463,7 +464,7 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) // Reload the userSignup require.NoError(t, cl.Get(context.TODO(), types.NamespacedName{Name: userSignupFoobar.Name, Namespace: operatorNamespace}, userSignupFoobar)) @@ -600,7 +601,7 @@ func TestReconcile(t *testing.T) { // then require.NoError(t, err) - require.False(t, res.Requeue) // no requeue since user should not be auto deactivated + assert.Empty(t, res.RequeueAfter) // no requeue since user should not be auto deactivated // Reload the userSignup require.NoError(t, cl.Get(context.TODO(), types.NamespacedName{Name: userSignupFoobar.Name, Namespace: operatorNamespace}, userSignupFoobar)) @@ -620,7 +621,7 @@ func TestReconcile(t *testing.T) { // The scheduled deactivation time should now be set to nil require.Nil(t, userSignupFoobar.Status.ScheduledDeactivationTimestamp) - require.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) }) }) diff --git a/controllers/usersignupcleanup/usersignup_cleanup_controller_test.go b/controllers/usersignupcleanup/usersignup_cleanup_controller_test.go index 881836115..efbfec87f 100644 --- a/controllers/usersignupcleanup/usersignup_cleanup_controller_test.go +++ b/controllers/usersignupcleanup/usersignup_cleanup_controller_test.go @@ -208,7 +208,7 @@ func TestUserCleanup(t *testing.T) { err = r.Client.Get(context.Background(), key, userSignup) require.NoError(t, err) require.NotNil(t, userSignup) - require.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) }) t.Run("test that reactivated, unverified UserSignup long time ago is reset", func(t *testing.T) { @@ -251,7 +251,7 @@ func TestUserCleanup(t *testing.T) { err = r.Client.Get(context.Background(), key, userSignup) require.NoError(t, err) require.NotNil(t, userSignup) - require.False(t, res.Requeue) + assert.Empty(t, res.RequeueAfter) }) t.Run("test old deactivated UserSignup cleanup", func(t *testing.T) { From 627efddfd5737338c4729a85702dc0d4e11389db Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 17:36:39 +0000 Subject: [PATCH 06/18] fix lint --- controllers/space/space_controller_test.go | 17 ++++++++--------- .../space_cleanup_controller_test.go | 1 - .../usersignup_cleanup_controller_test.go | 1 - 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/controllers/space/space_controller_test.go b/controllers/space/space_controller_test.go index 0a93110ed..56a14104d 100644 --- a/controllers/space/space_controller_test.go +++ b/controllers/space/space_controller_test.go @@ -21,6 +21,7 @@ import ( murtest "github.com/codeready-toolchain/toolchain-common/pkg/test/masteruserrecord" nstemplatetsettest "github.com/codeready-toolchain/toolchain-common/pkg/test/nstemplateset" spacetest "github.com/codeready-toolchain/toolchain-common/pkg/test/space" + "github.com/spf13/cast" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -76,7 +77,7 @@ func TestCreateSpace(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) // requeue requested explicitly when NSTemplateSet is created, even though watching the resource is enough to trigger a new reconcile loop + assert.Greater(t, res.RequeueAfter, cast.ToDuration("0s")) // requeue requested explicitly when NSTemplateSet is created, even though watching the resource is enough to trigger a new reconcile loop spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasStatusTargetCluster("member-1"). @@ -1154,7 +1155,6 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) assert.LessOrEqual(t, res.RequeueAfter, 2*time.Second) // wait 2s for NSTemplateSet update to begin assert.LessOrEqual(t, time.Until(ctrl.NextScheduledUpdate), 2*time.Second) // check that the NSTemplateSet is not being updated @@ -1187,7 +1187,6 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) assert.LessOrEqual(t, res.RequeueAfter, time.Minute+(2*time.Second)) // wait 2s for NSTemplateSet update to begin assert.LessOrEqual(t, time.Until(ctrl.NextScheduledUpdate), time.Minute+(2*time.Second)) // check that the NSTemplateSet is not being updated @@ -1359,7 +1358,7 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) + assert.Greater(t, res.RequeueAfter, cast.ToDuration("0s")) spacetest.AssertThatSpace(t, test.HostOperatorNs, notReadySpace.Name, hostClient). HasConditions(spacetest.Updating()) nstemplatetsettest.AssertThatNSTemplateSet(t, test.MemberOperatorNs, notReadyTmplSet.Name, member1Client). @@ -1400,7 +1399,7 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) + assert.Greater(t, res.RequeueAfter, cast.ToDuration("0s")) spacetest.AssertThatSpace(t, test.HostOperatorNs, notReadySpace.Name, hostClient). HasConditions(spacetest.Updating()) // changed by controller nstemplatetsettest.AssertThatNSTemplateSet(t, test.MemberOperatorNs, notReadyTmplSet.Name, member1Client). @@ -1596,7 +1595,7 @@ func TestUpdateSpaceRoles(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) // expect a requeue since the NSTemplateSet was updated + assert.Greater(t, res.RequeueAfter, cast.ToDuration("0s")) // expect a requeue since the NSTemplateSet was updated // Space should be in "updating" state while the NSTemplateSet is being updated spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasConditions(spacetest.Updating()) @@ -1715,7 +1714,7 @@ func TestUpdateSpaceRoles(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) // expect a requeue since the NSTemplateSet was updated + assert.Greater(t, res.RequeueAfter, cast.ToDuration("0s")) // expect a requeue since the NSTemplateSet was updated // Space should be in "updating" state while the NSTemplateSet is being updated spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasConditions(spacetest.Updating()) @@ -1774,7 +1773,7 @@ func TestUpdateSpaceRoles(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) // expect a requeue since the NSTemplateSet was updated + assert.Greater(t, res.RequeueAfter, cast.ToDuration("0s")) // expect a requeue since the NSTemplateSet was updated // Space should be in "updating" state while the NSTemplateSet is being updated spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasConditions(spacetest.Updating()) @@ -1889,7 +1888,7 @@ func TestRetargetSpace(t *testing.T) { res, err := ctrl.Reconcile(context.TODO(), requestFor(s)) // then require.NoError(t, err) - assert.True(t, res.Requeue) // requeue requested explicitly when NSTemplateSet is created, even though watching the resource is enough to trigger a new reconcile loop + assert.Greater(t, res.RequeueAfter, cast.ToDuration("0s")) // requeue requested explicitly when NSTemplateSet is created, even though watching the resource is enough to trigger a new reconcile loop spacetest.AssertThatSpace(t, s.Namespace, s.Name, hostClient). HasFinalizer(). HasSpecTargetCluster("member-2"). diff --git a/controllers/spacecleanup/space_cleanup_controller_test.go b/controllers/spacecleanup/space_cleanup_controller_test.go index a33affced..de61607f9 100644 --- a/controllers/spacecleanup/space_cleanup_controller_test.go +++ b/controllers/spacecleanup/space_cleanup_controller_test.go @@ -49,7 +49,6 @@ func TestCleanupSpace(t *testing.T) { // then require.NoError(t, err) - assert.True(t, res.Requeue) assert.LessOrEqual(t, res.RequeueAfter, time.Second) spacetest.AssertThatSpace(t, test.HostOperatorNs, space.Name, cl). Exists() diff --git a/controllers/usersignupcleanup/usersignup_cleanup_controller_test.go b/controllers/usersignupcleanup/usersignup_cleanup_controller_test.go index efbfec87f..f6f00c548 100644 --- a/controllers/usersignupcleanup/usersignup_cleanup_controller_test.go +++ b/controllers/usersignupcleanup/usersignup_cleanup_controller_test.go @@ -419,7 +419,6 @@ func expectRequeue(t *testing.T, res reconcile.Result, margin int) { durLower := time.Duration(days(1460 - 1 - margin)) durUpper := time.Duration(days(1460 + 1 - margin)) - require.True(t, res.Requeue) require.Greater(t, res.RequeueAfter, durLower) require.Less(t, res.RequeueAfter, durUpper) } From d3117d216dbfc5ca30c88cc6853ecd1c6a675019 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 18:23:04 +0000 Subject: [PATCH 07/18] update --- go.mod | 16 ++++++++-------- go.sum | 32 ++++++++++++++++---------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/go.mod b/go.mod index 90194b35d..e0f0c0fd2 100644 --- a/go.mod +++ b/go.mod @@ -21,10 +21,10 @@ require ( go.uber.org/zap v1.27.0 gopkg.in/h2non/gock.v1 v1.0.14 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.33.2 + k8s.io/api v0.33.4 k8s.io/apiextensions-apiserver v0.33.2 - k8s.io/apimachinery v0.33.2 - k8s.io/client-go v0.33.2 + k8s.io/apimachinery v0.33.4 + k8s.io/client-go v0.33.4 k8s.io/klog v1.0.0 k8s.io/klog/v2 v2.130.1 sigs.k8s.io/controller-runtime v0.21.0 @@ -33,13 +33,13 @@ require ( ) require ( - k8s.io/kubectl v0.33.2 + k8s.io/kubectl v0.33.4 k8s.io/utils v0.0.0-20241210054802-24370beab758 // indirect ) require ( github.com/go-bindata/go-bindata/v3 v3.1.3 - k8s.io/code-generator v0.33.2 + k8s.io/code-generator v0.33.4 k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff ) @@ -141,7 +141,7 @@ require ( gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/cli-runtime v0.33.2 // indirect + k8s.io/cli-runtime v0.33.4 // indirect k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7 // indirect sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect sigs.k8s.io/kustomize/api v0.19.0 // indirect @@ -157,6 +157,6 @@ go 1.24.0 toolchain go1.24.11 replace ( - github.com/codeready-toolchain/api => github.com/rsoaresd/api v0.0.0-20251217161230-6834c424aeb8 - github.com/codeready-toolchain/toolchain-common => github.com/rsoaresd/toolchain-common v0.0.0-20251217163624-ad1edfab055e + github.com/codeready-toolchain/api => github.com/rsoaresd/api v0.0.0-20251217181659-99c33cce84d0 + github.com/codeready-toolchain/toolchain-common => github.com/rsoaresd/toolchain-common v0.0.0-20251217181906-1b70d2afca0e ) diff --git a/go.sum b/go.sum index 2e349fa90..8524de7fb 100644 --- a/go.sum +++ b/go.sum @@ -249,10 +249,10 @@ github.com/redhat-cop/operator-utils v1.3.8 h1:xhoMBg2snSzNdcxT53lSBr7PRXxrzP1cD github.com/redhat-cop/operator-utils v1.3.8/go.mod h1:s4R0YY8lVlHkC78GLV20PPuZmywjSbTwZKCHwWUQ3P8= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= -github.com/rsoaresd/api v0.0.0-20251217161230-6834c424aeb8 h1:xoLKySC1oCNKaIPJN+A5L2Fu9ktnb/VjxffKR9dh66Y= -github.com/rsoaresd/api v0.0.0-20251217161230-6834c424aeb8/go.mod h1:Vt4Sob/HW/6m63bKvbDNpZsDDpzswUcYCShzW31GnLI= -github.com/rsoaresd/toolchain-common v0.0.0-20251217163624-ad1edfab055e h1:zRVUAoYuZ+prbo/IyGSHwqYfRFVI6RskeuOQHEJkAIE= -github.com/rsoaresd/toolchain-common v0.0.0-20251217163624-ad1edfab055e/go.mod h1:/yZ04Zdqq9eYJ2PIA8j5JliuTpbnAWvEZGo8wHFGVdU= +github.com/rsoaresd/api v0.0.0-20251217181659-99c33cce84d0 h1:eCnPQgq+VOCwcTwEQgNDJ7awtmLxAoCOPtflxcEPVkw= +github.com/rsoaresd/api v0.0.0-20251217181659-99c33cce84d0/go.mod h1:zXOAqYKL70F9CIm357t8NAhaao9vcbl1cbOe7I/hRHo= +github.com/rsoaresd/toolchain-common v0.0.0-20251217181906-1b70d2afca0e h1:ghFh1JqP3rOcfgJm6lofLtutfsp0nd2ZviFJXK2bIe8= +github.com/rsoaresd/toolchain-common v0.0.0-20251217181906-1b70d2afca0e/go.mod h1:LCOvGunJc4PzsU83Z6OWCZCdoIDqiNrV2MHaIWaqLsY= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/segmentio/analytics-go/v3 v3.2.1 h1:G+f90zxtc1p9G+WigVyTR0xNfOghOGs/PYAlljLOyeg= github.com/segmentio/analytics-go/v3 v3.2.1/go.mod h1:p8owAF8X+5o27jmvUognuXxdtqvSGtD0ZrfY2kcS9bE= @@ -474,18 +474,18 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -k8s.io/api v0.33.2 h1:YgwIS5jKfA+BZg//OQhkJNIfie/kmRsO0BmNaVSimvY= -k8s.io/api v0.33.2/go.mod h1:fhrbphQJSM2cXzCWgqU29xLDuks4mu7ti9vveEnpSXs= +k8s.io/api v0.33.4 h1:oTzrFVNPXBjMu0IlpA2eDDIU49jsuEorGHB4cvKupkk= +k8s.io/api v0.33.4/go.mod h1:VHQZ4cuxQ9sCUMESJV5+Fe8bGnqAARZ08tSTdHWfeAc= k8s.io/apiextensions-apiserver v0.33.2 h1:6gnkIbngnaUflR3XwE1mCefN3YS8yTD631JXQhsU6M8= k8s.io/apiextensions-apiserver v0.33.2/go.mod h1:IvVanieYsEHJImTKXGP6XCOjTwv2LUMos0YWc9O+QP8= -k8s.io/apimachinery v0.33.2 h1:IHFVhqg59mb8PJWTLi8m1mAoepkUNYmptHsV+Z1m5jY= -k8s.io/apimachinery v0.33.2/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM= -k8s.io/cli-runtime v0.33.2 h1:koNYQKSDdq5AExa/RDudXMhhtFasEg48KLS2KSAU74Y= -k8s.io/cli-runtime v0.33.2/go.mod h1:gnhsAWpovqf1Zj5YRRBBU7PFsRc6NkEkwYNQE+mXL88= -k8s.io/client-go v0.33.2 h1:z8CIcc0P581x/J1ZYf4CNzRKxRvQAwoAolYPbtQes+E= -k8s.io/client-go v0.33.2/go.mod h1:9mCgT4wROvL948w6f6ArJNb7yQd7QsvqavDeZHvNmHo= -k8s.io/code-generator v0.33.2 h1:PCJ0Y6viTCxxJHMOyGqYwWEteM4q6y1Hqo2rNpl6jF4= -k8s.io/code-generator v0.33.2/go.mod h1:hBjCA9kPMpjLWwxcr75ReaQfFXY8u+9bEJJ7kRw3J8c= +k8s.io/apimachinery v0.33.4 h1:SOf/JW33TP0eppJMkIgQ+L6atlDiP/090oaX0y9pd9s= +k8s.io/apimachinery v0.33.4/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM= +k8s.io/cli-runtime v0.33.4 h1:V8NSxGfh24XzZVhXmIGzsApdBpGq0RQS2u/Fz1GvJwk= +k8s.io/cli-runtime v0.33.4/go.mod h1:V+ilyokfqjT5OI+XE+O515K7jihtr0/uncwoyVqXaIU= +k8s.io/client-go v0.33.4 h1:TNH+CSu8EmXfitntjUPwaKVPN0AYMbc9F1bBS8/ABpw= +k8s.io/client-go v0.33.4/go.mod h1:LsA0+hBG2DPwovjd931L/AoaezMPX9CmBgyVyBZmbCY= +k8s.io/code-generator v0.33.4 h1:DiA801QxqApRIBh3OWULasVAUA237XnYvFNMh+E34Y8= +k8s.io/code-generator v0.33.4/go.mod h1:ifWxKWhEl/Z1K7WmWAyOBEf3ex/i546ingCzLC8YVIY= k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01 h1:pWEwq4Asjm4vjW7vcsmijwBhOr1/shsbSYiWXmNGlks= k8s.io/gengo v0.0.0-20230829151522-9cce18d56c01/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo/v2 v2.0.0-20250207200755-1244d31929d7 h1:2OX19X59HxDprNCVrWi6jb7LW1PoqTlYqEq5H2oetog= @@ -497,8 +497,8 @@ k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4= k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8= -k8s.io/kubectl v0.33.2 h1:7XKZ6DYCklu5MZQzJe+CkCjoGZwD1wWl7t/FxzhMz7Y= -k8s.io/kubectl v0.33.2/go.mod h1:8rC67FB8tVTYraovAGNi/idWIK90z2CHFNMmGJZJ3KI= +k8s.io/kubectl v0.33.4 h1:nXEI6Vi+oB9hXxoAHyHisXolm/l1qutK3oZQMak4N98= +k8s.io/kubectl v0.33.4/go.mod h1:Xe7P9X4DfILvKmlBsVqUtzktkI56lEj22SJW7cFy6nE= k8s.io/utils v0.0.0-20241210054802-24370beab758 h1:sdbE21q2nlQtFh65saZY+rRM6x6aJJI8IUa1AmH/qa0= k8s.io/utils v0.0.0-20241210054802-24370beab758/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/controller-runtime v0.21.0 h1:CYfjpEuicjUecRk+KAeyYh+ouUBn4llGyDYytIGcJS8= From 47c07cd376c97e2cf360eb675ad33e31a746fb43 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 18:41:51 +0000 Subject: [PATCH 08/18] temporary --- make/run-cicd-script.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/make/run-cicd-script.mk b/make/run-cicd-script.mk index 245c1801e..939de2245 100644 --- a/make/run-cicd-script.mk +++ b/make/run-cicd-script.mk @@ -1,4 +1,4 @@ -OWNER_AND_BRANCH_LOCATION=codeready-toolchain/toolchain-cicd/master +OWNER_AND_BRANCH_LOCATION=rsoaresd/toolchain-cicd/update_4_20_cicd GH_SCRIPTS_URL=https://raw.githubusercontent.com/${OWNER_AND_BRANCH_LOCATION} .PHONY: run-cicd-script From d7fa59cfbe3feeb39e2749f54502e4155b0e7ac8 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 19:34:44 +0000 Subject: [PATCH 09/18] delete --- controllers/deactivation/deactivation_controller_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/controllers/deactivation/deactivation_controller_test.go b/controllers/deactivation/deactivation_controller_test.go index 2a7ffccc6..7e430dae8 100644 --- a/controllers/deactivation/deactivation_controller_test.go +++ b/controllers/deactivation/deactivation_controller_test.go @@ -426,7 +426,6 @@ func TestReconcile(t *testing.T) { // then require.NoError(t, err) - assert.Empty(t, res.RequeueAfter) // The RequeueAfter should be ~about 3 days... let's accept if it's within 1 hour of that require.WithinDuration(t, time.Now().Add(time.Duration(72)*time.Hour), time.Now().Add(res.RequeueAfter), time.Duration(1)*time.Hour) From 0b868c4b3d2bcf971dd96510b40937b265e8e949 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 19:38:45 +0000 Subject: [PATCH 10/18] requested changes --- controllers/deactivation/deactivation_controller_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/controllers/deactivation/deactivation_controller_test.go b/controllers/deactivation/deactivation_controller_test.go index 7e430dae8..cb460cf82 100644 --- a/controllers/deactivation/deactivation_controller_test.go +++ b/controllers/deactivation/deactivation_controller_test.go @@ -238,7 +238,7 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") + assert.Empty(t, res.RequeueAfter, "requeueAfter should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, false) }) @@ -282,7 +282,7 @@ func TestReconcile(t *testing.T) { // then require.NoError(t, err) - require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") + assert.Empty(t, res.RequeueAfter, "requeueAfter should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, false) // Reload the userSignup From 60d4270b34e8c43fc8326424cbabbb69c6d3535f Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Wed, 17 Dec 2025 19:39:29 +0000 Subject: [PATCH 11/18] improve --- .../deactivation/deactivation_controller_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/controllers/deactivation/deactivation_controller_test.go b/controllers/deactivation/deactivation_controller_test.go index cb460cf82..7876c7c2b 100644 --- a/controllers/deactivation/deactivation_controller_test.go +++ b/controllers/deactivation/deactivation_controller_test.go @@ -225,7 +225,7 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") + assert.Empty(t, res.RequeueAfter, "requeueAfter should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, false) }) @@ -492,7 +492,7 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") + assert.Empty(t, res.RequeueAfter, "requeueAfter should not be set") }) }) }) @@ -511,7 +511,7 @@ func TestReconcile(t *testing.T) { res, err := r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.Equal(t, time.Duration(0), res.RequeueAfter, "requeue should not be set") + assert.Empty(t, res.RequeueAfter, "requeue should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, true) metricstest.AssertMetricsCounterEquals(t, 1, metrics.UserSignupAutoDeactivatedTotal) }) @@ -719,7 +719,7 @@ func TestReconcile(t *testing.T) { // then require.Error(t, err) require.Contains(t, err.Error(), "usersignup get error") - require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") + assert.Empty(t, res.RequeueAfter, "requeueAfter should not be set") }) // cannot update UserSignup @@ -751,7 +751,7 @@ func TestReconcile(t *testing.T) { // then require.Error(t, err) require.Contains(t, err.Error(), "usersignup update error") - require.Equal(t, time.Duration(0), res.RequeueAfter, "requeueAfter should not be set") + assert.Empty(t, res.RequeueAfter, "requeueAfter should not be set") assertThatUserSignupStateIsDeactivated(t, cl, username, false) }) }) From 99dcd52af45fb26b1fd39c7f0c36b8032f622c61 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Thu, 18 Dec 2025 14:32:50 +0000 Subject: [PATCH 12/18] requested changes --- .../masteruserrecord_controller_test.go | 2 +- .../notification/notification_controller.go | 2 -- .../notification_controller_test.go | 6 ++--- .../nstemplatetier_controller_test.go | 4 +-- controllers/space/space_controller.go | 1 - controllers/space/space_controller_test.go | 26 ++++++++----------- .../spacecleanup/space_cleanup_controller.go | 17 ++++++------ .../usersignup_cleanup_controller.go | 2 -- 8 files changed, 25 insertions(+), 35 deletions(-) diff --git a/controllers/masteruserrecord/masteruserrecord_controller_test.go b/controllers/masteruserrecord/masteruserrecord_controller_test.go index dc6f4697c..d8864e9bf 100644 --- a/controllers/masteruserrecord/masteruserrecord_controller_test.go +++ b/controllers/masteruserrecord/masteruserrecord_controller_test.go @@ -1434,7 +1434,7 @@ func TestDisablingMasterUserRecord(t *testing.T) { // when res, err := cntrl.Reconcile(context.TODO(), newMurRequest(mur)) require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) userAcc := &toolchainv1alpha1.UserAccount{} err = memberClient.Get(context.TODO(), types.NamespacedName{Name: mur.Name, Namespace: "toolchain-member-operator"}, userAcc) require.NoError(t, err) diff --git a/controllers/notification/notification_controller.go b/controllers/notification/notification_controller.go index 920a7b7c1..c03402bad 100644 --- a/controllers/notification/notification_controller.go +++ b/controllers/notification/notification_controller.go @@ -80,7 +80,6 @@ func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl. return reconcile.Result{}, r.wrapErrorWithStatusUpdate(ctx, notification, r.setStatusNotificationDeletionFailed, err, "failed to delete notification") } return reconcile.Result{ - Requeue: true, RequeueAfter: requeueAfter, }, nil } @@ -105,7 +104,6 @@ func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl. } return reconcile.Result{ - Requeue: true, RequeueAfter: config.Notifications().DurationBeforeNotificationDeletion(), }, r.updateStatus(ctx, notification, r.setStatusNotificationSent) } diff --git a/controllers/notification/notification_controller_test.go b/controllers/notification/notification_controller_test.go index ed030eb9c..de144ed86 100644 --- a/controllers/notification/notification_controller_test.go +++ b/controllers/notification/notification_controller_test.go @@ -153,7 +153,7 @@ func TestNotificationDelivery(t *testing.T) { // then require.NoError(t, err) - assert.Greater(t, result.RequeueAfter, cast.ToDuration("0s")) + assert.Positive(t, result.RequeueAfter) // Load the reconciled notification key := types.NamespacedName{ @@ -200,7 +200,7 @@ func TestNotificationDelivery(t *testing.T) { // then require.NoError(t, err) - assert.Greater(t, result.RequeueAfter, cast.ToDuration("0s")) + assert.Positive(t, result.RequeueAfter) // Load the reconciled notification key := types.NamespacedName{ @@ -261,7 +261,7 @@ func TestNotificationDelivery(t *testing.T) { // then require.NoError(t, err) - assert.Greater(t, result.RequeueAfter, cast.ToDuration("0s")) + assert.Positive(t, result.RequeueAfter) // Load the reconciled notification key := types.NamespacedName{ diff --git a/controllers/nstemplatetier/nstemplatetier_controller_test.go b/controllers/nstemplatetier/nstemplatetier_controller_test.go index e295d2653..abc7ab8da 100644 --- a/controllers/nstemplatetier/nstemplatetier_controller_test.go +++ b/controllers/nstemplatetier/nstemplatetier_controller_test.go @@ -109,7 +109,7 @@ func TestReconcile(t *testing.T) { res, err = r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.Equal(t, reconcile.Result{Requeue: false}, res) // no reconcile + require.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no reconcile // revisions are the same tiertest.AssertThatNSTemplateTier(t, "base1ns", cl). HasConditions( @@ -158,7 +158,7 @@ func TestReconcile(t *testing.T) { res, err = r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.Equal(t, reconcile.Result{Requeue: false}, res) // no reconcile + require.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no reconcile // revisions are the same tiertest.AssertThatNSTemplateTier(t, "base1ns", cl). HasConditions( diff --git a/controllers/space/space_controller.go b/controllers/space/space_controller.go index fdd3f33cc..44bfb4813 100644 --- a/controllers/space/space_controller.go +++ b/controllers/space/space_controller.go @@ -109,7 +109,6 @@ func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl. return ctrl.Result{}, err } else if requeueAfter > 0 { return ctrl.Result{ - Requeue: true, RequeueAfter: requeueAfter, }, nil } diff --git a/controllers/space/space_controller_test.go b/controllers/space/space_controller_test.go index 56a14104d..6d52edf50 100644 --- a/controllers/space/space_controller_test.go +++ b/controllers/space/space_controller_test.go @@ -155,7 +155,7 @@ func TestCreateSpace(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no requeue and status with new provisioned namespaces was updated + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no requeue and status with new provisioned namespaces was updated spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasStatusTargetCluster("member-1"). @@ -174,7 +174,7 @@ func TestCreateSpace(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no more requeue. + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no more requeue. spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasStatusTargetCluster("member-1"). @@ -485,7 +485,7 @@ func TestCreateSpace(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.Equal(t, reconcile.Result{Requeue: false}, res) + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasStatusTargetCluster("member-1"). HasConditions(spacetest.UnableToCreateNSTemplateSet("mock error")) @@ -517,7 +517,7 @@ func TestCreateSpace(t *testing.T) { // then require.EqualError(t, err, "mock error") - assert.Equal(t, reconcile.Result{Requeue: false}, res) + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) spacetest.AssertThatSpace(t, test.HostOperatorNs, s.Name, hostClient). HasNoStatusTargetCluster(). // not set HasNoConditions() // not set @@ -597,7 +597,7 @@ func TestDeleteSpace(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no need to explicitly requeue while the NSTemplate is terminating + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no need to explicitly requeue while the NSTemplate is terminating spacetest.AssertThatSpace(t, s.Namespace, s.Name, hostClient). Exists(). HasFinalizer(). // finalizer is still present while the NSTemplateSet is not fully deleted @@ -629,7 +629,7 @@ func TestDeleteSpace(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no need to explicitly requeue while the NSTemplate is terminating + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no need to explicitly requeue while the NSTemplate is terminating // no changes spacetest.AssertThatSpace(t, s.Namespace, s.Name, hostClient). Exists(). @@ -664,7 +664,7 @@ func TestDeleteSpace(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no need to explicitly requeue while the NSTemplate is terminating + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no need to explicitly requeue while the NSTemplate is terminating spacetest.AssertThatSpace(t, s.Namespace, s.Name, hostClient). Exists(). HasStatusTargetCluster("member-1"). @@ -756,7 +756,7 @@ func TestDeleteSpace(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no requeue needed + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no requeue needed spacetest.AssertThatSpace(t, s.Namespace, s.Name, hostClient). DoesNotExist() nstemplatetsettest.AssertThatNSTemplateSet(t, test.MemberOperatorNs, "oddity", member1.Client). @@ -787,7 +787,7 @@ func TestDeleteSpace(t *testing.T) { // then require.EqualError(t, err, "cannot delete NSTemplateSet: unknown target member cluster: 'member-3'") - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no requeue needed + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no requeue needed spacetest.AssertThatSpace(t, s.Namespace, s.Name, hostClient). Exists(). HasFinalizer(). // finalizer is still there, until the error above is fixed @@ -930,7 +930,6 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) assert.Equal(t, reconcile.Result{ - Requeue: true, RequeueAfter: 1 * time.Second, }, res) // explicitly requeue while the NSTemplate update is triggered by its controller spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). @@ -992,7 +991,6 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) assert.Equal(t, reconcile.Result{ - Requeue: true, RequeueAfter: 1 * time.Second, }, res) // requeue requested s := spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). @@ -1021,7 +1019,7 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no more requeue. + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no more requeue. spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasStatusTargetCluster("member-1"). @@ -1071,7 +1069,6 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) assert.Equal(t, reconcile.Result{ - Requeue: true, // explicitly requeue while the NSTemplateSet update is triggered by its controller RequeueAfter: 1 * time.Second, // requeued by 1s (since the last update happened a long time ago enough) }, res) s = spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). @@ -1109,7 +1106,7 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.NoError(t, err) - assert.Equal(t, reconcile.Result{Requeue: false}, res) // no more requeue. + assert.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no more requeue. spacetest.AssertThatSpace(t, test.HostOperatorNs, "oddity", hostClient). Exists(). HasStatusTargetCluster("member-1"). @@ -1531,7 +1528,6 @@ func TestUpdateSpaceTier(t *testing.T) { // then require.Error(t, err, "The nstemplatier status.revisions is still not updated") assert.Equal(t, reconcile.Result{ - Requeue: false, RequeueAfter: 0, }, res) }) diff --git a/controllers/spacecleanup/space_cleanup_controller.go b/controllers/spacecleanup/space_cleanup_controller.go index cb7ef1d7b..364c9a36a 100644 --- a/controllers/spacecleanup/space_cleanup_controller.go +++ b/controllers/spacecleanup/space_cleanup_controller.go @@ -70,48 +70,47 @@ func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl. return reconcile.Result{}, nil } - requeue, requeueAfter, err := r.ensureDeletionIfNeeded(ctx, space) + requeueAfter, err := r.ensureDeletionIfNeeded(ctx, space) return ctrl.Result{ - Requeue: requeue, RequeueAfter: requeueAfter, }, err } -func (r *Reconciler) ensureDeletionIfNeeded(ctx context.Context, space *toolchainv1alpha1.Space) (bool, time.Duration, error) { +func (r *Reconciler) ensureDeletionIfNeeded(ctx context.Context, space *toolchainv1alpha1.Space) (time.Duration, error) { logger := log.FromContext(ctx) bindings := &toolchainv1alpha1.SpaceBindingList{} labelMatch := runtimeclient.MatchingLabels{toolchainv1alpha1.SpaceBindingSpaceLabelKey: space.Name} if err := r.Client.List(ctx, bindings, runtimeclient.InNamespace(space.Namespace), labelMatch); err != nil { - return false, 0, errs.Wrap(err, "unable to list SpaceBindings") + return 0, errs.Wrap(err, "unable to list SpaceBindings") } if len(bindings.Items) > 0 { logger.Info("Space has SpaceBindings - skipping...", "number-of-spacebindings", len(bindings.Items)) - return false, 0, nil + return 0, nil } // check if space has a parentSpace // in this case the deletion will be handled by the SR controller if found := r.hasParentSpaceSpec(space); found { // do not delete this space since has a parent-space set - return false, 0, nil + return 0, nil } timeSinceCreation := time.Since(space.GetCreationTimestamp().Time) if timeSinceCreation > deletionTimeThreshold { if err := r.Client.Delete(ctx, space); err != nil { - return false, 0, errs.Wrap(err, "unable to delete Space") + return 0, errs.Wrap(err, "unable to delete Space") } logger.Info("Space has been deleted") - return false, 0, nil + return 0, nil } requeueAfter := deletionTimeThreshold - timeSinceCreation logger.Info("Space is not ready for deletion yet", "requeue-after", requeueAfter, "created", space.CreationTimestamp) - return true, requeueAfter, nil + return requeueAfter, nil } // hasParentSpaceSpec verifies if there .spec.ParentSpace field is set in the current Space. diff --git a/controllers/usersignupcleanup/usersignup_cleanup_controller.go b/controllers/usersignupcleanup/usersignup_cleanup_controller.go index 9e16c0768..f8d9a49d1 100644 --- a/controllers/usersignupcleanup/usersignup_cleanup_controller.go +++ b/controllers/usersignupcleanup/usersignup_cleanup_controller.go @@ -108,7 +108,6 @@ func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl. // Requeue the reconciler to process this resource again after the threshold for unverified user deletion return reconcile.Result{ - Requeue: true, RequeueAfter: requeueAfter, }, nil } @@ -178,7 +177,6 @@ func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl. // Requeue the reconciler to process this resource again after the threshold for deletion return reconcile.Result{ - Requeue: true, RequeueAfter: requeueAfter, }, nil } From 301e71e69b241d187020505987fd3a8765efcf4c Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Mon, 5 Jan 2026 11:16:07 +0000 Subject: [PATCH 13/18] requested changes --- controllers/nstemplatetier/nstemplatetier_controller_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/controllers/nstemplatetier/nstemplatetier_controller_test.go b/controllers/nstemplatetier/nstemplatetier_controller_test.go index abc7ab8da..f596a89bd 100644 --- a/controllers/nstemplatetier/nstemplatetier_controller_test.go +++ b/controllers/nstemplatetier/nstemplatetier_controller_test.go @@ -109,7 +109,7 @@ func TestReconcile(t *testing.T) { res, err = r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no reconcile + require.Empty(t, res.RequeueAfter) // no reconcile // revisions are the same tiertest.AssertThatNSTemplateTier(t, "base1ns", cl). HasConditions( @@ -158,7 +158,7 @@ func TestReconcile(t *testing.T) { res, err = r.Reconcile(context.TODO(), req) // then require.NoError(t, err) - require.Equal(t, reconcile.Result{RequeueAfter: 0}, res) // no reconcile + require.Empty(t, res.RequeueAfter) // no reconcile // revisions are the same tiertest.AssertThatNSTemplateTier(t, "base1ns", cl). HasConditions( From 69fa4442c9f0d335ceed704faaf3fa09367a4723 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Thu, 8 Jan 2026 10:53:24 +0000 Subject: [PATCH 14/18] remove replaces --- go.mod | 9 ++------- go.sum | 12 ++++++------ make/run-cicd-script.mk | 2 +- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/go.mod b/go.mod index e0f0c0fd2..e82a43130 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,8 @@ module github.com/codeready-toolchain/host-operator require ( cloud.google.com/go/recaptchaenterprise/v2 v2.13.0 - github.com/codeready-toolchain/api v0.0.0-20251008084914-06282b83d4cd - github.com/codeready-toolchain/toolchain-common v0.0.0-20251125180949-6ed5aeed75e4 + github.com/codeready-toolchain/api v0.0.0-20260108101803-54d23a1b4f3c + github.com/codeready-toolchain/toolchain-common v0.0.0-20260108104612-94ad63d02d50 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 github.com/gofrs/uuid v4.4.0+incompatible @@ -155,8 +155,3 @@ require ( go 1.24.0 toolchain go1.24.11 - -replace ( - github.com/codeready-toolchain/api => github.com/rsoaresd/api v0.0.0-20251217181659-99c33cce84d0 - github.com/codeready-toolchain/toolchain-common => github.com/rsoaresd/toolchain-common v0.0.0-20251217181906-1b70d2afca0e -) diff --git a/go.sum b/go.sum index 8524de7fb..1f1009268 100644 --- a/go.sum +++ b/go.sum @@ -35,6 +35,10 @@ github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtM github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/codeready-toolchain/api v0.0.0-20260108101803-54d23a1b4f3c h1:SwRrYLKaqZgkacUtCFFds5CVL+WxcWgtZvwOGC94Qeg= +github.com/codeready-toolchain/api v0.0.0-20260108101803-54d23a1b4f3c/go.mod h1:zXOAqYKL70F9CIm357t8NAhaao9vcbl1cbOe7I/hRHo= +github.com/codeready-toolchain/toolchain-common v0.0.0-20260108104612-94ad63d02d50 h1:8kdg5DA49UdaVysbsA13C9KAFELC7QXoY1kfuvDC71k= +github.com/codeready-toolchain/toolchain-common v0.0.0-20260108104612-94ad63d02d50/go.mod h1:KmG0LgWVfwZE9r13V8LGQezcH/aS6h/rP+InHIFb7WU= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -222,8 +226,8 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM= -github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= +github.com/onsi/ginkgo/v2 v2.23.3 h1:edHxnszytJ4lD9D5Jjc4tiDkPBZ3siDeJJkUZJJVkp0= +github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= github.com/onsi/gomega v1.37.0 h1:CdEG8g0S133B4OswTDC/5XPSzE1OeP29QOioj2PID2Y= github.com/onsi/gomega v1.37.0/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= github.com/openshift/api v0.0.0-20251202204302-1cb53e34ca33 h1:/Be2oa7aOPE60B7AH0/j58BUvN0MMQjhDdN/A71TcKc= @@ -249,10 +253,6 @@ github.com/redhat-cop/operator-utils v1.3.8 h1:xhoMBg2snSzNdcxT53lSBr7PRXxrzP1cD github.com/redhat-cop/operator-utils v1.3.8/go.mod h1:s4R0YY8lVlHkC78GLV20PPuZmywjSbTwZKCHwWUQ3P8= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= -github.com/rsoaresd/api v0.0.0-20251217181659-99c33cce84d0 h1:eCnPQgq+VOCwcTwEQgNDJ7awtmLxAoCOPtflxcEPVkw= -github.com/rsoaresd/api v0.0.0-20251217181659-99c33cce84d0/go.mod h1:zXOAqYKL70F9CIm357t8NAhaao9vcbl1cbOe7I/hRHo= -github.com/rsoaresd/toolchain-common v0.0.0-20251217181906-1b70d2afca0e h1:ghFh1JqP3rOcfgJm6lofLtutfsp0nd2ZviFJXK2bIe8= -github.com/rsoaresd/toolchain-common v0.0.0-20251217181906-1b70d2afca0e/go.mod h1:LCOvGunJc4PzsU83Z6OWCZCdoIDqiNrV2MHaIWaqLsY= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/segmentio/analytics-go/v3 v3.2.1 h1:G+f90zxtc1p9G+WigVyTR0xNfOghOGs/PYAlljLOyeg= github.com/segmentio/analytics-go/v3 v3.2.1/go.mod h1:p8owAF8X+5o27jmvUognuXxdtqvSGtD0ZrfY2kcS9bE= diff --git a/make/run-cicd-script.mk b/make/run-cicd-script.mk index 939de2245..245c1801e 100644 --- a/make/run-cicd-script.mk +++ b/make/run-cicd-script.mk @@ -1,4 +1,4 @@ -OWNER_AND_BRANCH_LOCATION=rsoaresd/toolchain-cicd/update_4_20_cicd +OWNER_AND_BRANCH_LOCATION=codeready-toolchain/toolchain-cicd/master GH_SCRIPTS_URL=https://raw.githubusercontent.com/${OWNER_AND_BRANCH_LOCATION} .PHONY: run-cicd-script From a81a179da1de2d1c6a187ec32a638272093fb2ad Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Thu, 8 Jan 2026 12:17:40 +0000 Subject: [PATCH 15/18] update --- go.mod | 6 +++--- go.sum | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index e82a43130..5e1fe944b 100644 --- a/go.mod +++ b/go.mod @@ -2,8 +2,8 @@ module github.com/codeready-toolchain/host-operator require ( cloud.google.com/go/recaptchaenterprise/v2 v2.13.0 - github.com/codeready-toolchain/api v0.0.0-20260108101803-54d23a1b4f3c - github.com/codeready-toolchain/toolchain-common v0.0.0-20260108104612-94ad63d02d50 + github.com/codeready-toolchain/api v0.0.0-20260108115150-4c6695ed18de + github.com/codeready-toolchain/toolchain-common v0.0.0-20260108121619-9d154db88508 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 github.com/gofrs/uuid v4.4.0+incompatible @@ -152,6 +152,6 @@ require ( sigs.k8s.io/yaml v1.4.0 // indirect ) -go 1.24.0 +go 1.24.4 toolchain go1.24.11 diff --git a/go.sum b/go.sum index 1f1009268..6c45c2ae0 100644 --- a/go.sum +++ b/go.sum @@ -35,10 +35,10 @@ github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtM github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/codeready-toolchain/api v0.0.0-20260108101803-54d23a1b4f3c h1:SwRrYLKaqZgkacUtCFFds5CVL+WxcWgtZvwOGC94Qeg= -github.com/codeready-toolchain/api v0.0.0-20260108101803-54d23a1b4f3c/go.mod h1:zXOAqYKL70F9CIm357t8NAhaao9vcbl1cbOe7I/hRHo= -github.com/codeready-toolchain/toolchain-common v0.0.0-20260108104612-94ad63d02d50 h1:8kdg5DA49UdaVysbsA13C9KAFELC7QXoY1kfuvDC71k= -github.com/codeready-toolchain/toolchain-common v0.0.0-20260108104612-94ad63d02d50/go.mod h1:KmG0LgWVfwZE9r13V8LGQezcH/aS6h/rP+InHIFb7WU= +github.com/codeready-toolchain/api v0.0.0-20260108115150-4c6695ed18de h1:rc39ZRUk2AyADzH+bt5On7V7qJz6syUrI4qNyCSXY3o= +github.com/codeready-toolchain/api v0.0.0-20260108115150-4c6695ed18de/go.mod h1:O/HyAcz6fynt3LXr8wTGaIXt+0v6BpkiJvDxNQDCqyA= +github.com/codeready-toolchain/toolchain-common v0.0.0-20260108121619-9d154db88508 h1:mLYk2QmCM0VGk5P7AaKe3EEpN4kUxkQOFTdbPol6c+0= +github.com/codeready-toolchain/toolchain-common v0.0.0-20260108121619-9d154db88508/go.mod h1:xnME43Bdz4TF11lvPwsZWtGCybs/sS/QyE8HTe6WbiE= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= From 973b3094c774ae13e7983b29e4baeb500f14828c Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Thu, 8 Jan 2026 12:20:36 +0000 Subject: [PATCH 16/18] improve --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5e1fe944b..6e6742466 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( gopkg.in/h2non/gock.v1 v1.0.14 gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.33.4 - k8s.io/apiextensions-apiserver v0.33.2 + k8s.io/apiextensions-apiserver v0.33.4 k8s.io/apimachinery v0.33.4 k8s.io/client-go v0.33.4 k8s.io/klog v1.0.0 diff --git a/go.sum b/go.sum index 6c45c2ae0..acb55edb0 100644 --- a/go.sum +++ b/go.sum @@ -476,8 +476,8 @@ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= k8s.io/api v0.33.4 h1:oTzrFVNPXBjMu0IlpA2eDDIU49jsuEorGHB4cvKupkk= k8s.io/api v0.33.4/go.mod h1:VHQZ4cuxQ9sCUMESJV5+Fe8bGnqAARZ08tSTdHWfeAc= -k8s.io/apiextensions-apiserver v0.33.2 h1:6gnkIbngnaUflR3XwE1mCefN3YS8yTD631JXQhsU6M8= -k8s.io/apiextensions-apiserver v0.33.2/go.mod h1:IvVanieYsEHJImTKXGP6XCOjTwv2LUMos0YWc9O+QP8= +k8s.io/apiextensions-apiserver v0.33.4 h1:rtq5SeXiDbXmSwxsF0MLe2Mtv3SwprA6wp+5qh/CrOU= +k8s.io/apiextensions-apiserver v0.33.4/go.mod h1:mWXcZQkQV1GQyxeIjYApuqsn/081hhXPZwZ2URuJeSs= k8s.io/apimachinery v0.33.4 h1:SOf/JW33TP0eppJMkIgQ+L6atlDiP/090oaX0y9pd9s= k8s.io/apimachinery v0.33.4/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM= k8s.io/cli-runtime v0.33.4 h1:V8NSxGfh24XzZVhXmIGzsApdBpGq0RQS2u/Fz1GvJwk= From 120a38003e3d3092b25cd186dc4e5aad7fbb5e79 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Thu, 8 Jan 2026 12:34:37 +0000 Subject: [PATCH 17/18] improve --- config/scorecard/kustomization.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/scorecard/kustomization.yaml b/config/scorecard/kustomization.yaml index 50cd2d084..fcd601740 100644 --- a/config/scorecard/kustomization.yaml +++ b/config/scorecard/kustomization.yaml @@ -1,6 +1,6 @@ resources: - bases/config.yaml -patchesJson6902: +patches: - path: patches/basic.config.yaml target: group: scorecard.operatorframework.io @@ -13,4 +13,4 @@ patchesJson6902: version: v1alpha3 kind: Configuration name: config -#+kubebuilder:scaffold:patchesJson6902 +#+kubebuilder:scaffold:patches \ No newline at end of file From 07d483c1bdc02f548b19624cd418320c29e41bb5 Mon Sep 17 00:00:00 2001 From: Rafaela Soares Date: Thu, 8 Jan 2026 13:07:36 +0000 Subject: [PATCH 18/18] update --- go.mod | 19 ++++++++++--------- go.sum | 40 ++++++++++++++++++++++------------------ 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/go.mod b/go.mod index 6e6742466..8dc9370a9 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/codeready-toolchain/host-operator require ( cloud.google.com/go/recaptchaenterprise/v2 v2.13.0 github.com/codeready-toolchain/api v0.0.0-20260108115150-4c6695ed18de - github.com/codeready-toolchain/toolchain-common v0.0.0-20260108121619-9d154db88508 + github.com/codeready-toolchain/toolchain-common v0.0.0-20260108130331-10ca562525fe github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/go-logr/logr v1.4.2 github.com/gofrs/uuid v4.4.0+incompatible @@ -121,17 +121,18 @@ require ( go.opentelemetry.io/otel/metric v1.33.0 // indirect go.opentelemetry.io/otel/trace v1.33.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.37.0 // indirect + golang.org/x/crypto v0.45.0 // indirect golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f // indirect - golang.org/x/mod v0.24.0 // indirect - golang.org/x/net v0.39.0 // indirect + golang.org/x/mod v0.29.0 // indirect + golang.org/x/net v0.47.0 // indirect golang.org/x/oauth2 v0.27.0 // indirect - golang.org/x/sync v0.13.0 // indirect - golang.org/x/sys v0.32.0 // indirect - golang.org/x/term v0.31.0 // indirect - golang.org/x/text v0.24.0 // indirect + golang.org/x/sync v0.18.0 // indirect + golang.org/x/sys v0.38.0 // indirect + golang.org/x/term v0.37.0 // indirect + golang.org/x/text v0.31.0 // indirect golang.org/x/time v0.9.0 // indirect - golang.org/x/tools v0.32.0 // indirect + golang.org/x/tools v0.38.0 // indirect + golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect google.golang.org/api v0.177.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect diff --git a/go.sum b/go.sum index acb55edb0..3601e3497 100644 --- a/go.sum +++ b/go.sum @@ -37,8 +37,8 @@ github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/codeready-toolchain/api v0.0.0-20260108115150-4c6695ed18de h1:rc39ZRUk2AyADzH+bt5On7V7qJz6syUrI4qNyCSXY3o= github.com/codeready-toolchain/api v0.0.0-20260108115150-4c6695ed18de/go.mod h1:O/HyAcz6fynt3LXr8wTGaIXt+0v6BpkiJvDxNQDCqyA= -github.com/codeready-toolchain/toolchain-common v0.0.0-20260108121619-9d154db88508 h1:mLYk2QmCM0VGk5P7AaKe3EEpN4kUxkQOFTdbPol6c+0= -github.com/codeready-toolchain/toolchain-common v0.0.0-20260108121619-9d154db88508/go.mod h1:xnME43Bdz4TF11lvPwsZWtGCybs/sS/QyE8HTe6WbiE= +github.com/codeready-toolchain/toolchain-common v0.0.0-20260108130331-10ca562525fe h1:TOSa/kVCYoLXKX7B/uBLnJsi4Pnaf6nD9K0flumVr6o= +github.com/codeready-toolchain/toolchain-common v0.0.0-20260108130331-10ca562525fe/go.mod h1:rjveL3/1VJeHnDwhvWCEF5jCFRC4xAz93DQp1rKPn3Y= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -316,8 +316,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= -golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= +golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= +golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= 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= @@ -328,8 +328,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= -golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= +golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= 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= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -346,8 +346,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= -golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= -golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= +golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= @@ -359,8 +359,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= -golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= 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= @@ -375,16 +375,16 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= -golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= -golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= -golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= 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= @@ -393,8 +393,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= -golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= golang.org/x/time v0.9.0 h1:EsRrnYcQiGH+5FfbgvV4AP7qEZstoyrHB0DzarOQ4ZY= golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -410,8 +410,12 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= -golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= +golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ= +golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= +golang.org/x/tools/go/expect v0.1.0-deprecated h1:jY2C5HGYR5lqex3gEniOQL0r7Dq5+VGVgY1nudX5lXY= +golang.org/x/tools/go/expect v0.1.0-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated h1:1h2MnaIAIXISqTFKdENegdpAgUXz6NrPEsbIeWaBRvM= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=