From 751c461b13420ca5b4cf115c2cecbffedd2e33f6 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Wed, 1 Oct 2025 18:16:16 +0000 Subject: [PATCH 01/28] initial-commit --- Makefile | 4 +- api/v1beta1/conditions.go | 22 +- api/v1beta1/nutanixcluster_types.go | 12 +- api/v1beta1/nutanixfailuredomain_types.go | 2 +- api/v1beta1/nutanixmachine_types.go | 2 +- api/v1beta1/nutanixmachinetemplate_types.go | 2 +- api/v1beta1/suite_test.go | 2 +- api/v1beta1/zz_generated.deepcopy.go | 12 +- ...ture.cluster.x-k8s.io_nutanixclusters.yaml | 2 +- ...ster.x-k8s.io_nutanixclustertemplates.yaml | 2 +- ...luster.x-k8s.io_nutanixfailuredomains.yaml | 2 +- ...ture.cluster.x-k8s.io_nutanixmachines.yaml | 2 +- ...ster.x-k8s.io_nutanixmachinetemplates.yaml | 2 +- controllers/helpers.go | 16 +- controllers/nutanixcluster_controller.go | 54 +- controllers/nutanixcluster_controller_test.go | 2 +- .../nutanixfailuredomain_controller.go | 10 +- .../nutanixfailuredomain_controller_test.go | 8 +- controllers/nutanixmachine_controller.go | 98 +- controllers/nutanixmachine_controller_test.go | 14 +- devbox.lock | 577 +++++++----- go.mod | 126 ++- go.sum | 287 +++--- main.go | 12 +- mocks/ctlclient/cache_mock.go | 74 +- mocks/ctlclient/client_mock.go | 115 ++- mocks/ctlclient/manager_mock.go | 41 +- mocks/k8sapimachinery/interfaces.go | 62 +- mocks/k8sclient/informer.go | 2 + mocks/k8sclient/lister.go | 34 +- mocks/nutanix/v3.go | 889 +++++++++--------- pkg/context/context.go | 2 +- pkg/context/context_test.go | 2 +- templates/template_test.go | 4 +- test/e2e/basic_uuid_test.go | 2 - test/e2e/capx_quick_start_test.go | 2 - test/e2e/capx_regression_test.go | 17 +- test/e2e/categories_test.go | 4 +- test/e2e/cluster_topology.go | 2 - test/e2e/cluster_topology_basic_test.go | 4 +- test/e2e/cluster_topology_conformance_test.go | 4 +- test/e2e/cluster_topology_k8s_configs.go | 2 - test/e2e/cluster_topology_mega_scale_test.go | 4 +- test/e2e/cluster_topology_scale_in_test.go | 4 +- test/e2e/cluster_topology_scale_out_test.go | 4 +- .../cluster_topology_scale_up_down_test.go | 4 +- test/e2e/cluster_topology_upgrade_test.go | 4 +- test/e2e/cluster_upgrade_test.go | 2 - test/e2e/clusterclass_changes_test.go | 5 +- test/e2e/clusterctl_move_test.go | 2 - test/e2e/clusterctl_upgrade_test.go | 35 +- test/e2e/common.go | 4 +- test/e2e/config/nutanix.yaml | 36 +- test/e2e/csi_test.go | 2 - test/e2e/data/shared/metadata.yaml | 3 + test/e2e/data_disks_test.go | 2 - test/e2e/e2e_suite_test.go | 4 +- test/e2e/failure_domains_migration_test.go | 20 +- test/e2e/failure_domains_test.go | 5 +- test/e2e/gpu_test.go | 2 - test/e2e/k8s_conformance_test.go | 2 - test/e2e/log/log.go | 3 - test/e2e/md_rollout_test.go | 2 - test/e2e/md_scale_test.go | 2 - test/e2e/mhc_remediations_test.go | 2 - test/e2e/multi_nic_test.go | 2 - test/e2e/nutanix_client.go | 2 - test/e2e/nutanix_client_test.go | 4 +- test/e2e/nutanix_failure_domain_move_test.go | 2 - test/e2e/projects_test.go | 4 +- test/e2e/template_test.go | 2 - test/e2e/test_helpers.go | 25 +- 72 files changed, 1390 insertions(+), 1338 deletions(-) diff --git a/Makefile b/Makefile index 4ca4eef9bd..902e11da04 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ GOTOOL=$(GOCMD) tool EXPORT_RESULT?=false # for CI please set EXPORT_RESULT to true GIT_COMMIT_HASH=$(shell git rev-parse HEAD) -LOCAL_IMAGE_REGISTRY ?= ko.local +LOCAL_IMAGE_REGISTRY ?= harbor.eng.nutanix.com/atul-dev IMG_REPO=${LOCAL_IMAGE_REGISTRY}/cluster-api-provider-nutanix IMG_TAG=e2e-${GIT_COMMIT_HASH} MANAGER_IMAGE=${IMG_REPO}:${IMG_TAG} @@ -22,7 +22,7 @@ endif # PLATFORMS is a list of platforms to build for. PLATFORMS ?= linux/amd64,linux/arm64,linux/arm -PLATFORMS_E2E ?= linux/amd64 +PLATFORMS_E2E ?= linux/amd64,linux/arm64,linux/arm # KIND_CLUSTER_NAME is the name of the kind cluster to use. KIND_CLUSTER_NAME ?= capi-test diff --git a/api/v1beta1/conditions.go b/api/v1beta1/conditions.go index 9c09448d9c..e576ff064b 100644 --- a/api/v1beta1/conditions.go +++ b/api/v1beta1/conditions.go @@ -16,7 +16,7 @@ limitations under the License. package v1beta1 -import capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" +import capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" const ( DeletionFailed = "DeletionFailed" @@ -28,17 +28,17 @@ const ( const ( // FailureDomainSafeForDeletionCondition indicates whether the failure domain object is safe for deletion, // ie., when it is not used or referenced by other resources - FailureDomainSafeForDeletionCondition capiv1.ConditionType = "FailureDomainSafeForDeletion" + FailureDomainSafeForDeletionCondition capiv1beta1.ConditionType = "FailureDomainSafeForDeletion" // FailureDomainInUseReason indicates that the failure domain is used by // Machines and/or referenced by cluster FailureDomainInUseReason = "FailureDomainInUse" // NoFailureDomainsConfiguredCondition indicates no failure domains have been configured - NoFailureDomainsConfiguredCondition capiv1.ConditionType = "NoFailureDomainsConfigured" + NoFailureDomainsConfiguredCondition capiv1beta1.ConditionType = "NoFailureDomainsConfigured" // FailureDomainsValidatedCondition indicates whether the failure domains are configured correctly or not. - FailureDomainsValidatedCondition capiv1.ConditionType = "FailureDomainsValidated" + FailureDomainsValidatedCondition capiv1beta1.ConditionType = "FailureDomainsValidated" // FailureDomainsMisconfiguredReason (Severity=Warning) indicates that some of the failure domains // are misconfigured. @@ -47,15 +47,15 @@ const ( const ( // ClusterCategoryCreatedCondition indicates the status of the category linked to the NutanixCluster - ClusterCategoryCreatedCondition capiv1.ConditionType = "ClusterCategoryCreated" + ClusterCategoryCreatedCondition capiv1beta1.ConditionType = "ClusterCategoryCreated" ClusterCategoryCreationFailed = "ClusterCategoryCreationFailed" ) const ( // PrismCentralClientCondition indicates the status of the client used to connect to Prism Central - PrismCentralClientCondition capiv1.ConditionType = "PrismClientInit" - PrismCentralV4ClientCondition capiv1.ConditionType = "PrismClientV4Init" + PrismCentralClientCondition capiv1beta1.ConditionType = "PrismClientInit" + PrismCentralV4ClientCondition capiv1beta1.ConditionType = "PrismClientV4Init" PrismCentralClientInitializationFailed = "PrismClientInitFailed" PrismCentralV4ClientInitializationFailed = "PrismClientV4InitFailed" @@ -63,12 +63,12 @@ const ( const ( // VMProvisionedCondition shows the status of the VM provisioning process - VMProvisionedCondition capiv1.ConditionType = "VMProvisioned" + VMProvisionedCondition capiv1beta1.ConditionType = "VMProvisioned" VMProvisionedTaskFailed = "FailedVMTask" // VMAddressesAssignedCondition shows the status of the process of assigning the VM addresses - VMAddressesAssignedCondition capiv1.ConditionType = "VMAddressesAssigned" + VMAddressesAssignedCondition capiv1beta1.ConditionType = "VMAddressesAssigned" VMAddressesFailed = "VMAddressesFailed" VMBootTypeInvalid = "VMBootTypeInvalid" @@ -79,14 +79,14 @@ const ( const ( // VMAddressesAssignedCondition shows the status of the process of assigning the VMs to a project - ProjectAssignedCondition capiv1.ConditionType = "ProjectAssigned" + ProjectAssignedCondition capiv1beta1.ConditionType = "ProjectAssigned" ProjectAssignationFailed = "ProjectAssignationFailed" ) const ( // CredentialRefSecretOwnerSetCondition shows the status of setting the Owner - CredentialRefSecretOwnerSetCondition capiv1.ConditionType = "CredentialRefSecretOwnerSet" + CredentialRefSecretOwnerSetCondition capiv1beta1.ConditionType = "CredentialRefSecretOwnerSet" CredentialRefSecretOwnerSetFailed = "CredentialRefSecretOwnerSetFailed" TrustBundleSecretOwnerSetCondition = "TrustBundleSecretOwnerSet" diff --git a/api/v1beta1/nutanixcluster_types.go b/api/v1beta1/nutanixcluster_types.go index 8c0292183e..9bb60cc190 100644 --- a/api/v1beta1/nutanixcluster_types.go +++ b/api/v1beta1/nutanixcluster_types.go @@ -23,7 +23,7 @@ import ( credentialTypes "github.com/nutanix-cloud-native/prism-go-client/environment/credentials" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" ) const ( @@ -52,7 +52,7 @@ type NutanixClusterSpec struct { // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // host can be either DNS name or ip address // +optional - ControlPlaneEndpoint capiv1.APIEndpoint `json:"controlPlaneEndpoint"` + ControlPlaneEndpoint capiv1beta1.APIEndpoint `json:"controlPlaneEndpoint"` // prismCentral holds the endpoint address and port to access the Nutanix Prism Central. // When a cluster-wide proxy is installed, by default, this endpoint will be accessed via the proxy. @@ -90,11 +90,11 @@ type NutanixClusterStatus struct { // failureDomains are a list of failure domains configured in the // cluster's spec and validated by the cluster controller. - FailureDomains capiv1.FailureDomains `json:"failureDomains,omitempty"` + FailureDomains capiv1beta1.FailureDomains `json:"failureDomains,omitempty"` // Conditions defines current service state of the NutanixCluster. // +optional - Conditions capiv1.Conditions `json:"conditions,omitempty"` + Conditions capiv1beta1.Conditions `json:"conditions,omitempty"` // Will be set in case of failure of Cluster instance // +optional @@ -156,12 +156,12 @@ type NutanixFailureDomainConfig struct { } // GetConditions returns the set of conditions for this object. -func (ncl *NutanixCluster) GetConditions() capiv1.Conditions { +func (ncl *NutanixCluster) GetConditions() capiv1beta1.Conditions { return ncl.Status.Conditions } // SetConditions sets the conditions on this object. -func (ncl *NutanixCluster) SetConditions(conditions capiv1.Conditions) { +func (ncl *NutanixCluster) SetConditions(conditions capiv1beta1.Conditions) { ncl.Status.Conditions = conditions } diff --git a/api/v1beta1/nutanixfailuredomain_types.go b/api/v1beta1/nutanixfailuredomain_types.go index 49597ac682..2a99c09971 100644 --- a/api/v1beta1/nutanixfailuredomain_types.go +++ b/api/v1beta1/nutanixfailuredomain_types.go @@ -18,7 +18,7 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" ) const ( diff --git a/api/v1beta1/nutanixmachine_types.go b/api/v1beta1/nutanixmachine_types.go index a16fbc4ec7..7288cd075a 100644 --- a/api/v1beta1/nutanixmachine_types.go +++ b/api/v1beta1/nutanixmachine_types.go @@ -20,7 +20,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" ) // EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! diff --git a/api/v1beta1/nutanixmachinetemplate_types.go b/api/v1beta1/nutanixmachinetemplate_types.go index 2219a30728..f3ea4beeb7 100644 --- a/api/v1beta1/nutanixmachinetemplate_types.go +++ b/api/v1beta1/nutanixmachinetemplate_types.go @@ -18,7 +18,7 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" ) // NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. diff --git a/api/v1beta1/suite_test.go b/api/v1beta1/suite_test.go index 7c9f88950c..dd565d658a 100644 --- a/api/v1beta1/suite_test.go +++ b/api/v1beta1/suite_test.go @@ -8,7 +8,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "k8s.io/client-go/kubernetes/scheme" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/envtest" logf "sigs.k8s.io/controller-runtime/pkg/log" diff --git a/api/v1beta1/zz_generated.deepcopy.go b/api/v1beta1/zz_generated.deepcopy.go index 5a5d5fe2f2..b7f7166314 100644 --- a/api/v1beta1/zz_generated.deepcopy.go +++ b/api/v1beta1/zz_generated.deepcopy.go @@ -24,7 +24,7 @@ import ( "github.com/nutanix-cloud-native/prism-go-client/environment/credentials" "k8s.io/api/core/v1" runtime "k8s.io/apimachinery/pkg/runtime" - apiv1beta1 "sigs.k8s.io/cluster-api/api/v1beta1" + corev1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. @@ -139,14 +139,14 @@ func (in *NutanixClusterStatus) DeepCopyInto(out *NutanixClusterStatus) { *out = *in if in.FailureDomains != nil { in, out := &in.FailureDomains, &out.FailureDomains - *out = make(apiv1beta1.FailureDomains, len(*in)) + *out = make(corev1beta1.FailureDomains, len(*in)) for key, val := range *in { (*out)[key] = *val.DeepCopy() } } if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions - *out = make(apiv1beta1.Conditions, len(*in)) + *out = make(corev1beta1.Conditions, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -373,7 +373,7 @@ func (in *NutanixFailureDomainStatus) DeepCopyInto(out *NutanixFailureDomainStat *out = *in if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions - *out = make([]apiv1beta1.Condition, len(*in)) + *out = make([]corev1beta1.Condition, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } @@ -563,7 +563,7 @@ func (in *NutanixMachineStatus) DeepCopyInto(out *NutanixMachineStatus) { *out = *in if in.Addresses != nil { in, out := &in.Addresses, &out.Addresses - *out = make([]apiv1beta1.MachineAddress, len(*in)) + *out = make([]corev1beta1.MachineAddress, len(*in)) copy(*out, *in) } if in.NodeRef != nil { @@ -573,7 +573,7 @@ func (in *NutanixMachineStatus) DeepCopyInto(out *NutanixMachineStatus) { } if in.Conditions != nil { in, out := &in.Conditions, &out.Conditions - *out = make(apiv1beta1.Conditions, len(*in)) + *out = make(corev1beta1.Conditions, len(*in)) for i := range *in { (*in)[i].DeepCopyInto(&(*out)[i]) } diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclusters.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclusters.yaml index 4ad4d2d570..a29904490d 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclusters.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclusters.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 name: nutanixclusters.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclustertemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclustertemplates.yaml index 7eca480b9d..ae1127a2a7 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclustertemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclustertemplates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 name: nutanixclustertemplates.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixfailuredomains.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixfailuredomains.yaml index 86b9ded749..ea463cd8fd 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixfailuredomains.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixfailuredomains.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 labels: clusterctl.cluster.x-k8s.io/move: "" name: nutanixfailuredomains.infrastructure.cluster.x-k8s.io diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachines.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachines.yaml index 4e51fa9c93..93d2bc1427 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachines.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachines.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 name: nutanixmachines.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachinetemplates.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachinetemplates.yaml index 00bda518e0..6d714df9d8 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachinetemplates.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachinetemplates.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.18.0 + controller-gen.kubebuilder.io/version: v0.19.0 name: nutanixmachinetemplates.infrastructure.cluster.x-k8s.io spec: group: infrastructure.cluster.x-k8s.io diff --git a/controllers/helpers.go b/controllers/helpers.go index 89f46cc186..fcef3a2aca 100644 --- a/controllers/helpers.go +++ b/controllers/helpers.go @@ -37,8 +37,8 @@ import ( "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" - "sigs.k8s.io/cluster-api/util/conditions" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" ctrl "sigs.k8s.io/controller-runtime" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" @@ -1105,7 +1105,7 @@ func getPrismCentralClientForCluster(ctx context.Context, cluster *infrav1.Nutan managementEndpoint, err := clientHelper.BuildManagementEndpoint(ctx, cluster) if err != nil { log.Error(err, fmt.Sprintf("error occurred while getting management endpoint for cluster %q", cluster.GetNamespacedName())) - conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) return nil, err } @@ -1116,11 +1116,11 @@ func getPrismCentralClientForCluster(ctx context.Context, cluster *infrav1.Nutan }) if err != nil { log.Error(err, "error occurred while getting nutanix prism v3 Client from cache") - conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) return nil, fmt.Errorf("nutanix prism v3 Client error: %w", err) } - conditions.MarkTrue(cluster, infrav1.PrismCentralClientCondition) + v1beta1conditions.MarkTrue(cluster, infrav1.PrismCentralClientCondition) return v3Client, nil } @@ -1131,7 +1131,7 @@ func getPrismCentralV4ClientForCluster(ctx context.Context, cluster *infrav1.Nut managementEndpoint, err := clientHelper.BuildManagementEndpoint(ctx, cluster) if err != nil { log.Error(err, fmt.Sprintf("error occurred while getting management endpoint for cluster %q", cluster.GetNamespacedName())) - conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) return nil, err } @@ -1141,11 +1141,11 @@ func getPrismCentralV4ClientForCluster(ctx context.Context, cluster *infrav1.Nut }) if err != nil { log.Error(err, "error occurred while getting nutanix prism v4 client from cache") - conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) return nil, fmt.Errorf("nutanix prism v4 client error: %w", err) } - conditions.MarkTrue(cluster, infrav1.PrismCentralV4ClientCondition) + v1beta1conditions.MarkTrue(cluster, infrav1.PrismCentralV4ClientCondition) return client, nil } diff --git a/controllers/nutanixcluster_controller.go b/controllers/nutanixcluster_controller.go index 76e77bb4df..e7d6ea7d25 100644 --- a/controllers/nutanixcluster_controller.go +++ b/controllers/nutanixcluster_controller.go @@ -32,11 +32,15 @@ import ( kutilerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiutil "sigs.k8s.io/cluster-api/util" "sigs.k8s.io/cluster-api/util/annotations" - "sigs.k8s.io/cluster-api/util/conditions" - "sigs.k8s.io/cluster-api/util/patch" + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" + v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" + + // v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" + "sigs.k8s.io/cluster-api/util/predicates" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/builder" @@ -97,7 +101,7 @@ func (r *NutanixClusterReconciler) SetupWithManager(ctx context.Context, mgr ctr &infrav1.NutanixCluster{}, ), ), - builder.WithPredicates(predicates.ClusterPausedTransitionsOrInfrastructureReady(r.Scheme, ctrl.LoggerFrom(ctx))), + builder.WithPredicates(predicates.ClusterPausedTransitionsOrInfrastructureProvisioned(r.Scheme, ctrl.LoggerFrom(ctx))), ). Watches( &infrav1.NutanixFailureDomain{}, @@ -196,7 +200,7 @@ func (r *NutanixClusterReconciler) Reconcile(ctx context.Context, req ctrl.Reque log.Info(fmt.Sprintf("Fetched the owner Cluster: %s", capiCluster.Name)) // Initialize the patch helper. - patchHelper, err := patch.NewHelper(cluster, r.Client) + patchHelper, err := v1beta1patch.NewHelper(cluster, r.Client) if err != nil { log.Error(err, "Failed to configure the patch helper") return ctrl.Result{Requeue: true}, nil @@ -212,10 +216,10 @@ func (r *NutanixClusterReconciler) Reconcile(ctx context.Context, req ctrl.Reque if err := r.reconcileCredentialRef(ctx, cluster); err != nil { log.Error(err, fmt.Sprintf("error occurred while reconciling credential ref for cluster %s", capiCluster.Name)) - conditions.MarkFalse(cluster, infrav1.CredentialRefSecretOwnerSetCondition, infrav1.CredentialRefSecretOwnerSetFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.CredentialRefSecretOwnerSetCondition, infrav1.CredentialRefSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) return reconcile.Result{}, err } - conditions.MarkTrue(cluster, infrav1.CredentialRefSecretOwnerSetCondition) + v1beta1conditions.MarkTrue(cluster, infrav1.CredentialRefSecretOwnerSetCondition) if err := r.reconcileTrustBundleRef(ctx, cluster); err != nil { log.Error(err, fmt.Sprintf("error occurred while reconciling trust bundle ref for cluster %s", capiCluster.Name)) @@ -335,11 +339,11 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon log := ctrl.LoggerFrom(rctx.Context) log.Info("Reconciling failure domains for cluster") - failureDomains := capiv1.FailureDomains{} + failureDomains := clusterv1beta1.FailureDomains{} if len(rctx.NutanixCluster.Spec.ControlPlaneFailureDomains) == 0 && len(rctx.NutanixCluster.Spec.FailureDomains) == 0 { //nolint:staticcheck // suppress complaining on Deprecated field log.Info("No failure domains configured for cluster.") - conditions.MarkTrue(rctx.NutanixCluster, infrav1.NoFailureDomainsConfiguredCondition) - conditions.Delete(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition) + v1beta1conditions.MarkTrue(rctx.NutanixCluster, infrav1.NoFailureDomainsConfiguredCondition) + v1beta1conditions.Delete(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition) // Reset the failure domains for nutanixcluster status rctx.NutanixCluster.Status.FailureDomains = failureDomains @@ -347,7 +351,7 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon } // Clear NoFailureDomainsConfiguredCondition condition - conditions.Delete(rctx.NutanixCluster, infrav1.NoFailureDomainsConfiguredCondition) + v1beta1conditions.Delete(rctx.NutanixCluster, infrav1.NoFailureDomainsConfiguredCondition) validationErrs := []error{} for _, fdRef := range rctx.NutanixCluster.Spec.ControlPlaneFailureDomains { @@ -370,24 +374,24 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon } // The failure domain configuration passed validation. Add it to the result map. - failureDomains[fdObj.Name] = capiv1.FailureDomainSpec{ControlPlane: true} + failureDomains[fdObj.Name] = clusterv1beta1.FailureDomainSpec{ControlPlane: true} } // Remove below when the Deprecated field NutanixCluster.Spec.FailureDomains is removed for _, fd := range rctx.NutanixCluster.Spec.FailureDomains { //nolint:staticcheck // suppress complaining on Deprecated field - failureDomains[fd.Name] = capiv1.FailureDomainSpec{ControlPlane: fd.ControlPlane} + failureDomains[fd.Name] = clusterv1beta1.FailureDomainSpec{ControlPlane: fd.ControlPlane} } // Set the failure domains for nutanixcluster status rctx.NutanixCluster.Status.FailureDomains = failureDomains if len(validationErrs) != 0 { - conditions.MarkFalse(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition, - infrav1.FailureDomainsMisconfiguredReason, capiv1.ConditionSeverityWarning, "%s", errors.Join(validationErrs...).Error()) + v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition, + infrav1.FailureDomainsMisconfiguredReason, clusterv1beta1.ConditionSeverityWarning, "%s", errors.Join(validationErrs...).Error()) return nil } - conditions.MarkTrue(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition) + v1beta1conditions.MarkTrue(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition) return nil } @@ -415,29 +419,29 @@ func (r *NutanixClusterReconciler) reconcileCategories(rctx *nctx.ClusterContext defaultCategories := GetDefaultCAPICategoryIdentifiers(rctx.Cluster.Name) _, err := GetOrCreateCategories(rctx.Context, rctx.NutanixClient, defaultCategories) if err != nil { - conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.ClusterCategoryCreationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.ClusterCategoryCreationFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) return err } - conditions.MarkTrue(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition) + v1beta1conditions.MarkTrue(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition) return nil } func (r *NutanixClusterReconciler) reconcileCategoriesDelete(rctx *nctx.ClusterContext) error { log := ctrl.LoggerFrom(rctx.Context) log.Info(fmt.Sprintf("Reconciling deletion of categories for cluster %s", rctx.Cluster.Name)) - if conditions.IsTrue(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition) || - conditions.GetReason(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition) == infrav1.DeletionFailed { + if v1beta1conditions.IsTrue(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition) || + v1beta1conditions.GetReason(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition) == infrav1.DeletionFailed { defaultCategories := GetDefaultCAPICategoryIdentifiers(rctx.Cluster.Name) obsoleteCategories := GetObsoleteDefaultCAPICategoryIdentifiers(rctx.Cluster.Name) err := DeleteCategories(rctx.Context, rctx.NutanixClient, defaultCategories, obsoleteCategories) if err != nil { - conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.DeletionFailed, capiv1.ConditionSeverityWarning, "%s", err.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.DeletionFailed, clusterv1beta1.ConditionSeverityWarning, "%s", err.Error()) return err } } else { log.V(1).Info(fmt.Sprintf("skipping category deletion since they were not created for cluster %s", rctx.Cluster.Name)) } - conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, capiv1.DeletingReason, capiv1.ConditionSeverityInfo, "") + v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, capiv1.DeletingReason, clusterv1beta1.ConditionSeverityInfo, "") return nil } @@ -500,7 +504,7 @@ func (r *NutanixClusterReconciler) reconcileTrustBundleRef(ctx context.Context, } if err := r.Client.Get(ctx, configMapKey, configMap); err != nil { log.Error(err, "error occurred while fetching trust bundle configmap", "nutanixCluster", nutanixCluster.Name) - conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) return err } @@ -525,11 +529,11 @@ func (r *NutanixClusterReconciler) reconcileTrustBundleRef(ctx context.Context, if err := r.Client.Update(ctx, configMap); err != nil { log.Error(err, "error occurred while updating trust bundle configmap", "nutanixCluster", nutanixCluster) - conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) return err } - conditions.MarkTrue(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition) + v1beta1conditions.MarkTrue(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition) return nil } diff --git a/controllers/nutanixcluster_controller_test.go b/controllers/nutanixcluster_controller_test.go index d40a1f50b2..2e073a3ed9 100644 --- a/controllers/nutanixcluster_controller_test.go +++ b/controllers/nutanixcluster_controller_test.go @@ -36,7 +36,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" utilruntime "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" "sigs.k8s.io/cluster-api/util" ctrl "sigs.k8s.io/controller-runtime" ctlclient "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/controllers/nutanixfailuredomain_controller.go b/controllers/nutanixfailuredomain_controller.go index fd4608fa57..bd8a88f679 100644 --- a/controllers/nutanixfailuredomain_controller.go +++ b/controllers/nutanixfailuredomain_controller.go @@ -25,8 +25,8 @@ import ( kerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" - "sigs.k8s.io/cluster-api/util/conditions" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" "sigs.k8s.io/cluster-api/util/patch" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" @@ -207,7 +207,7 @@ func (r *NutanixFailureDomainReconciler) reconcileDelete(ctx context.Context, fd } if len(ntxMachines) == 0 { - conditions.MarkTrue(fd, infrav1.FailureDomainSafeForDeletionCondition) + v1beta1conditions.MarkTrue(fd, infrav1.FailureDomainSafeForDeletionCondition) // Remove the finalizer from the failure domain object ctrlutil.RemoveFinalizer(fd, infrav1.NutanixFailureDomainFinalizer) @@ -215,7 +215,7 @@ func (r *NutanixFailureDomainReconciler) reconcileDelete(ctx context.Context, fd } errMsg := fmt.Sprintf("The failure domain is used by machines: %v", ntxMachines) - conditions.MarkFalse(fd, infrav1.FailureDomainSafeForDeletionCondition, + v1beta1conditions.MarkFalse(fd, infrav1.FailureDomainSafeForDeletionCondition, infrav1.FailureDomainInUseReason, capiv1.ConditionSeverityError, "%s", errMsg) reterr := fmt.Errorf("the failure domain %q is not safe for deletion since it is in use", fd.Name) @@ -228,7 +228,7 @@ func (r *NutanixFailureDomainReconciler) reconcileNormal(ctx context.Context, fd log.Info("Handling NutanixFailureDomain reconciling") // Remove the FailureDomainSafeForDeletionCondition if there are any - conditions.Delete(fd, infrav1.FailureDomainSafeForDeletionCondition) + v1beta1conditions.Delete(fd, infrav1.FailureDomainSafeForDeletionCondition) return ctrl.Result{}, nil } diff --git a/controllers/nutanixfailuredomain_controller_test.go b/controllers/nutanixfailuredomain_controller_test.go index 720b7b8926..fddccc6cbe 100644 --- a/controllers/nutanixfailuredomain_controller_test.go +++ b/controllers/nutanixfailuredomain_controller_test.go @@ -29,9 +29,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/uuid" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" "sigs.k8s.io/cluster-api/util" - "sigs.k8s.io/cluster-api/util/conditions" + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" ) @@ -155,7 +155,7 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { // Expect calling reconciler.reconcileDelete() without error, because no NutanixMachine uses the failure domain _, err := reconciler.reconcileDelete(ctx, fdObj) g.Expect(err).NotTo(HaveOccurred()) - cond := conditions.Get(fdObj, infrav1.FailureDomainSafeForDeletionCondition) + cond := v1beta1conditions.Get(fdObj, infrav1.FailureDomainSafeForDeletionCondition) g.Expect(cond).NotTo(BeNil()) g.Expect(cond.Status).To(Equal(corev1.ConditionTrue)) @@ -177,7 +177,7 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { // Expect calling reconciler.reconcileDelete() returns error, because there is NutanixMachine using the failure domain _, err = reconciler.reconcileDelete(ctx, fdObj) g.Expect(err).To(HaveOccurred()) - cond := conditions.Get(fdObj, infrav1.FailureDomainSafeForDeletionCondition) + cond := v1beta1conditions.Get(fdObj, infrav1.FailureDomainSafeForDeletionCondition) g.Expect(cond).NotTo(BeNil()) g.Expect(cond.Status).To(Equal(corev1.ConditionFalse)) g.Expect(cond.Severity).To(Equal(capiv1.ConditionSeverityError)) diff --git a/controllers/nutanixmachine_controller.go b/controllers/nutanixmachine_controller.go index 2054e8ac5e..1053a6e7f8 100644 --- a/controllers/nutanixmachine_controller.go +++ b/controllers/nutanixmachine_controller.go @@ -35,11 +35,13 @@ import ( kerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiutil "sigs.k8s.io/cluster-api/util" "sigs.k8s.io/cluster-api/util/annotations" - "sigs.k8s.io/cluster-api/util/conditions" - "sigs.k8s.io/cluster-api/util/patch" + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" + v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" + "sigs.k8s.io/cluster-api/util/predicates" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/builder" @@ -120,7 +122,7 @@ func (r *NutanixMachineReconciler) SetupWithManager(ctx context.Context, mgr ctr For(&infrav1.NutanixMachine{}). // Watch the CAPI resource that owns this infrastructure resource. Watches( - &capiv1.Machine{}, + &capiv1beta2.Machine{}, handler.EnqueueRequestsFromMapFunc( capiutil.MachineToInfrastructureMapFunc( infrav1.GroupVersion.WithKind("NutanixMachine"), @@ -134,9 +136,9 @@ func (r *NutanixMachineReconciler) SetupWithManager(ctx context.Context, mgr ctr ), ). Watches( - &capiv1.Cluster{}, + &capiv1beta2.Cluster{}, handler.EnqueueRequestsFromMapFunc(clusterToObjectFunc), - builder.WithPredicates(predicates.ClusterPausedTransitionsOrInfrastructureReady(r.Scheme, ctrl.LoggerFrom(ctx))), + builder.WithPredicates(predicates.ClusterPausedTransitionsOrInfrastructureProvisioned(r.Scheme, ctrl.LoggerFrom(ctx))), ). WithOptions(copts). Complete(r) @@ -160,15 +162,15 @@ func (r *NutanixMachineReconciler) mapNutanixClusterToNutanixMachines() handler. log.Error(err, "error occurred finding CAPI cluster for NutanixCluster") return nil } - searchLabels := map[string]string{capiv1.ClusterNameLabel: cluster.Name} - machineList := &capiv1.MachineList{} + searchLabels := map[string]string{capiv1beta2.ClusterNameLabel: cluster.Name} + machineList := &capiv1beta2.MachineList{} if err := r.List(ctx, machineList, client.InNamespace(cluster.Namespace), client.MatchingLabels(searchLabels)); err != nil { log.V(1).Error(err, "failed to list machines for cluster") return nil } requests := make([]ctrl.Request, 0) for _, m := range machineList.Items { - if m.Spec.InfrastructureRef.Name == "" || m.Spec.InfrastructureRef.GroupVersionKind().Kind != "NutanixMachine" { + if m.Spec.InfrastructureRef.Name == "" || m.Spec.InfrastructureRef.Kind != "NutanixMachine" { continue } @@ -254,7 +256,7 @@ func (r *NutanixMachineReconciler) Reconcile(ctx context.Context, req ctrl.Reque } // Initialize the patch helper. - patchHelper, err := patch.NewHelper(ntxMachine, r.Client) + patchHelper, err := v1beta1patch.NewHelper(ntxMachine, r.Client) if err != nil { log.Error(err, "failed to configure the patch helper") return ctrl.Result{Requeue: true}, nil @@ -306,7 +308,7 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r v3Client := rctx.NutanixClient vmName := rctx.Machine.Name log.Info(fmt.Sprintf("Handling deletion of VM: %s", vmName)) - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, capiv1.DeletingReason, capiv1.ConditionSeverityInfo, "") + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, capiv1beta1.DeletingReason, capiv1beta1.ConditionSeverityInfo, "") vmUUID, err := GetVMUUID(rctx.NutanixMachine) if err != nil { errorMsg := fmt.Errorf("failed to get VM UUID during delete: %v", err) @@ -327,7 +329,7 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r if err != nil { errorMsg := fmt.Errorf("error finding VM %s with UUID %s: %v", vmName, vmUUID, err) log.Error(errorMsg, "error finding VM") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1.ConditionSeverityWarning, "%s", errorMsg.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1beta1.ConditionSeverityWarning, "%s", errorMsg.Error()) return reconcile.Result{}, errorMsg } @@ -353,7 +355,7 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r if err != nil { errorMsg := fmt.Errorf("error occurred fetching task UUID from VM: %v", err) log.Error(errorMsg, "error fetching task UUID") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1.ConditionSeverityWarning, "%s", errorMsg.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1beta1.ConditionSeverityWarning, "%s", errorMsg.Error()) return reconcile.Result{}, errorMsg } @@ -386,7 +388,7 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r if err := r.detachVolumeGroups(rctx, vmName, vmUUID, vm.Spec.Resources.DiskList); err != nil { err := fmt.Errorf("failed to detach volume groups from VM %s with UUID %s: %v", vmName, vmUUID, err) log.Error(err, "failed to detach volume groups from VM") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.VolumeGroupDetachFailed, capiv1.ConditionSeverityWarning, "%s", err.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.VolumeGroupDetachFailed, capiv1beta1.ConditionSeverityWarning, "%s", err.Error()) return reconcile.Result{}, err } @@ -402,7 +404,7 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r if err != nil { err := fmt.Errorf("failed to delete VM %s with UUID %s: %v", vmName, vmUUID, err) log.Error(err, "failed to delete VM") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1.ConditionSeverityWarning, "%s", err.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1beta1.ConditionSeverityWarning, "%s", err.Error()) return reconcile.Result{}, err } @@ -440,7 +442,8 @@ func (r *NutanixMachineReconciler) reconcileNormal(rctx *nctx.MachineContext) (r log.V(1).Info(fmt.Sprintf("Checking current machine status for machine %s: Status %+v Spec %+v", rctx.NutanixMachine.Name, rctx.NutanixMachine.Status, rctx.NutanixMachine.Spec)) if rctx.NutanixMachine.Status.Ready { - if !rctx.Machine.Status.InfrastructureReady || rctx.Machine.Spec.ProviderID == nil { + infraReady := rctx.Cluster.Status.Initialization.InfrastructureProvisioned != nil && *rctx.Cluster.Status.Initialization.InfrastructureProvisioned + if !infraReady || rctx.Machine.Spec.ProviderID == "" { log.Info("The NutanixMachine is ready, wait for the owner Machine's update.") return reconcile.Result{RequeueAfter: 5 * time.Second}, nil } @@ -451,21 +454,22 @@ func (r *NutanixMachineReconciler) reconcileNormal(rctx *nctx.MachineContext) (r // Make sure Cluster.Status.InfrastructureReady is true log.Info("Checking if cluster infrastructure is ready") - if !rctx.Cluster.Status.InfrastructureReady { + infraReady := rctx.Cluster.Status.Initialization.InfrastructureProvisioned != nil || *rctx.Cluster.Status.Initialization.InfrastructureProvisioned + if !infraReady { log.Info("The cluster infrastructure is not ready yet") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.ClusterInfrastructureNotReady, capiv1.ConditionSeverityInfo, "") + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.ClusterInfrastructureNotReady, capiv1beta1.ConditionSeverityInfo, "") return reconcile.Result{}, nil } // Make sure bootstrap data is available and populated. if rctx.NutanixMachine.Spec.BootstrapRef == nil { if rctx.Machine.Spec.Bootstrap.DataSecretName == nil { - if !nctx.IsControlPlaneMachine(rctx.NutanixMachine) && - !conditions.IsTrue(rctx.Cluster, capiv1.ControlPlaneInitializedCondition) { + controlPlaneInitialized := rctx.Cluster.Status.Initialization.ControlPlaneInitialized != nil && *rctx.Cluster.Status.Initialization.InfrastructureProvisioned + if !nctx.IsControlPlaneMachine(rctx.NutanixMachine) && !controlPlaneInitialized { log.Info("Waiting for the control plane to be initialized") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.ControlplaneNotInitialized, capiv1.ConditionSeverityInfo, "") + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.ControlplaneNotInitialized, capiv1beta1.ConditionSeverityInfo, "") } else { - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.BootstrapDataNotReady, capiv1.ConditionSeverityInfo, "") + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.BootstrapDataNotReady, capiv1beta1.ConditionSeverityInfo, "") log.Info("Waiting for bootstrap data to be available") } return reconcile.Result{}, nil @@ -506,11 +510,11 @@ func (r *NutanixMachineReconciler) reconcileNormal(rctx *nctx.MachineContext) (r if err := r.assignAddressesToMachine(rctx, vm); err != nil { errorMsg := fmt.Errorf("failed to assign addresses to VM %s with UUID %s...: %v", rctx.Machine.Name, rctx.NutanixMachine.Status.VmUUID, err) log.Error(errorMsg, "failed to assign addresses") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMAddressesAssignedCondition, infrav1.VMAddressesFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMAddressesAssignedCondition, infrav1.VMAddressesFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) return reconcile.Result{}, errorMsg } - conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMAddressesAssignedCondition) + v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMAddressesAssignedCondition) // Update the NutanixMachine Spec.ProviderID rctx.NutanixMachine.Spec.ProviderID = GenerateProviderID(rctx.NutanixMachine.Status.VmUUID) rctx.NutanixMachine.Status.Ready = true @@ -522,11 +526,11 @@ func (r *NutanixMachineReconciler) reconcileNormal(rctx *nctx.MachineContext) (r // checkFailureDomainStatus checks and sets the NutanixMachine.status.failureDomain if necessary func (r *NutanixMachineReconciler) checkFailureDomainStatus(rctx *nctx.MachineContext) error { - if rctx.Machine.Spec.FailureDomain == nil || *rctx.Machine.Spec.FailureDomain == "" { + if rctx.Machine.Spec.FailureDomain == "" { return nil } - fd := *rctx.Machine.Spec.FailureDomain + fd := rctx.Machine.Spec.FailureDomain // Fetch the referent failure domain object fdSpec, err := r.getFailureDomainSpec(rctx, fd) if err != nil { @@ -560,7 +564,7 @@ func (r *NutanixMachineReconciler) checkFailureDomainStatus(rctx *nctx.MachineCo if len(errMessages) > 0 { return fmt.Errorf( "the NutanixMachine is not consistent with the referenced NutanixFailureDomain %q: %s", - *rctx.Machine.Spec.FailureDomain, + rctx.Machine.Spec.FailureDomain, strings.Join(errMessages, "; "), ) } @@ -575,7 +579,7 @@ func (r *NutanixMachineReconciler) getFailureDomainSpec(rctx *nctx.MachineContex // TODO: @faiq -- to handle the legacy failure domains this function checks to see if fdName // is present in the legacy embedded field. if it is, we return a "dummy" spec for the new failure domain // CR with the subnets and cluster info - failureDomainName := *rctx.Machine.Spec.FailureDomain + failureDomainName := rctx.Machine.Spec.FailureDomain if rctx.NutanixCluster != nil && len(rctx.NutanixCluster.Spec.FailureDomains) > 0 { //nolint:staticcheck // this handles old field failureDomain := GetLegacyFailureDomainFromNutanixCluster(failureDomainName, rctx.NutanixCluster) if failureDomain != nil { @@ -618,11 +622,11 @@ func (r *NutanixMachineReconciler) validateFailureDomainSpec(rctx *nctx.MachineC func (r *NutanixMachineReconciler) validateMachineConfig(rctx *nctx.MachineContext) error { log := ctrl.LoggerFrom(rctx.Context) fdName := rctx.Machine.Spec.FailureDomain - if fdName != nil && *fdName != "" { - log.WithValues("failureDomain", *fdName) - fdSpec, err := r.getFailureDomainSpec(rctx, *fdName) + if fdName != "" { + log.WithValues("failureDomain", fdName) + fdSpec, err := r.getFailureDomainSpec(rctx, fdName) if err != nil { - log.Error(err, fmt.Sprintf("Failed to get the failure domain %s", *fdName)) + log.Error(err, fmt.Sprintf("Failed to get the failure domain %s", fdName)) return err } if err := r.validateFailureDomainSpec(rctx, fdSpec); err != nil { @@ -632,8 +636,8 @@ func (r *NutanixMachineReconciler) validateMachineConfig(rctx *nctx.MachineConte // Update the NutanixMachine machine config based on the failure domain spec rctx.NutanixMachine.Spec.Cluster = fdSpec.PrismElementCluster rctx.NutanixMachine.Spec.Subnets = fdSpec.Subnets - rctx.NutanixMachine.Status.FailureDomain = fdName - log.Info(fmt.Sprintf("Updated the NutanixMachine %s machine config from the failure domain %s configuration.", rctx.NutanixMachine.Name, *fdName)) + rctx.NutanixMachine.Status.FailureDomain = &fdName + log.Info(fmt.Sprintf("Updated the NutanixMachine %s machine config from the failure domain %s configuration.", rctx.NutanixMachine.Name, fdName)) } if len(rctx.NutanixMachine.Spec.Subnets) == 0 { @@ -796,7 +800,7 @@ func (r *NutanixMachineReconciler) getOrCreateVM(rctx *nctx.MachineContext) (*pr // if VM exists if vm != nil { log.Info(fmt.Sprintf("vm %s found with UUID %s", *vm.Spec.Name, rctx.NutanixMachine.Status.VmUUID)) - conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMProvisionedCondition) + v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMProvisionedCondition) return vm, nil } @@ -945,7 +949,7 @@ func (r *NutanixMachineReconciler) getOrCreateVM(rctx *nctx.MachineContext) (*pr return nil, errorMsg } - conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMProvisionedCondition) + v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMProvisionedCondition) return vm, nil } @@ -1018,7 +1022,7 @@ func getSystemDisk(rctx *nctx.MachineContext) (*prismclientv3.VMDisk, error) { rctx.NutanixClient, rctx.NutanixMachine.Spec.ImageLookup.Format, &rctx.NutanixMachine.Spec.ImageLookup.BaseOS, - rctx.Machine.Spec.Version, + &rctx.Machine.Spec.Version, ) } if err != nil { @@ -1122,7 +1126,7 @@ func (r *NutanixMachineReconciler) getBootstrapData(rctx *nctx.MachineContext) ( func (r *NutanixMachineReconciler) patchMachine(rctx *nctx.MachineContext) error { log := ctrl.LoggerFrom(rctx.Context) - patchHelper, err := patch.NewHelper(rctx.NutanixMachine, r.Client) + patchHelper, err := v1beta1patch.NewHelper(rctx.NutanixMachine, r.Client) if err != nil { errorMsg := fmt.Errorf("failed to create patch helper to patch machine %s: %v", rctx.NutanixMachine.Name, err) return errorMsg @@ -1137,7 +1141,7 @@ func (r *NutanixMachineReconciler) patchMachine(rctx *nctx.MachineContext) error } func (r *NutanixMachineReconciler) assignAddressesToMachine(rctx *nctx.MachineContext, vm *prismclientv3.VMIntentResponse) error { - rctx.NutanixMachine.Status.Addresses = []capiv1.MachineAddress{} + rctx.NutanixMachine.Status.Addresses = []capiv1beta1.MachineAddress{} if vm.Status == nil || vm.Status.Resources == nil { return fmt.Errorf("unable to fetch network interfaces from VM. Retrying") } @@ -1145,8 +1149,8 @@ func (r *NutanixMachineReconciler) assignAddressesToMachine(rctx *nctx.MachineCo for _, nic := range vm.Status.Resources.NicList { for _, ipEndpoint := range nic.IPEndpointList { if ipEndpoint.IP != nil { - rctx.NutanixMachine.Status.Addresses = append(rctx.NutanixMachine.Status.Addresses, capiv1.MachineAddress{ - Type: capiv1.MachineInternalIP, + rctx.NutanixMachine.Status.Addresses = append(rctx.NutanixMachine.Status.Addresses, capiv1beta1.MachineAddress{ + Type: capiv1beta1.MachineInternalIP, Address: *ipEndpoint.IP, }) foundIPs++ @@ -1157,8 +1161,8 @@ func (r *NutanixMachineReconciler) assignAddressesToMachine(rctx *nctx.MachineCo return fmt.Errorf("unable to determine network interfaces from VM. Retrying") } rctx.IP = rctx.NutanixMachine.Status.Addresses[0].Address - rctx.NutanixMachine.Status.Addresses = append(rctx.NutanixMachine.Status.Addresses, capiv1.MachineAddress{ - Type: capiv1.MachineHostName, + rctx.NutanixMachine.Status.Addresses = append(rctx.NutanixMachine.Status.Addresses, capiv1beta1.MachineAddress{ + Type: capiv1beta1.MachineHostName, Address: *vm.Spec.Name, }) return nil @@ -1191,7 +1195,7 @@ func (r *NutanixMachineReconciler) addBootTypeToVM(rctx *nctx.MachineContext, vm if bootType != "" { if bootType != infrav1.NutanixBootTypeLegacy && bootType != infrav1.NutanixBootTypeUEFI { errorMsg := fmt.Errorf("boot type must be %s or %s but was %s", string(infrav1.NutanixBootTypeLegacy), string(infrav1.NutanixBootTypeUEFI), bootType) - conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.VMBootTypeInvalid, capiv1.ConditionSeverityError, "%s", errorMsg.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.VMBootTypeInvalid, capiv1beta1.ConditionSeverityError, "%s", errorMsg.Error()) return errorMsg } @@ -1218,7 +1222,7 @@ func (r *NutanixMachineReconciler) addVMToProject(rctx *nctx.MachineContext, vmM if vmMetadata == nil { errorMsg := fmt.Errorf("metadata cannot be nil when adding VM %s to project", vmName) log.Error(errorMsg, "failed to add vm to project") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.ProjectAssignedCondition, infrav1.ProjectAssignationFailed, capiv1.ConditionSeverityError, "%s", errorMsg.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.ProjectAssignedCondition, infrav1.ProjectAssignationFailed, capiv1beta1.ConditionSeverityError, "%s", errorMsg.Error()) return errorMsg } @@ -1226,7 +1230,7 @@ func (r *NutanixMachineReconciler) addVMToProject(rctx *nctx.MachineContext, vmM if err != nil { errorMsg := fmt.Errorf("error occurred while searching for project for VM %s: %v", vmName, err) log.Error(errorMsg, "error occurred while searching for project") - conditions.MarkFalse(rctx.NutanixMachine, infrav1.ProjectAssignedCondition, infrav1.ProjectAssignationFailed, capiv1.ConditionSeverityError, "%s", errorMsg.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.ProjectAssignedCondition, infrav1.ProjectAssignationFailed, capiv1beta1.ConditionSeverityError, "%s", errorMsg.Error()) return errorMsg } @@ -1234,7 +1238,7 @@ func (r *NutanixMachineReconciler) addVMToProject(rctx *nctx.MachineContext, vmM Kind: utils.StringPtr(projectKind), UUID: utils.StringPtr(projectUUID), } - conditions.MarkTrue(rctx.NutanixMachine, infrav1.ProjectAssignedCondition) + v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.ProjectAssignedCondition) return nil } diff --git a/controllers/nutanixmachine_controller_test.go b/controllers/nutanixmachine_controller_test.go index 45f3efd1af..f414ea98fb 100644 --- a/controllers/nutanixmachine_controller_test.go +++ b/controllers/nutanixmachine_controller_test.go @@ -35,7 +35,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/util" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" @@ -143,7 +143,7 @@ func TestNutanixMachineReconciler(t *testing.T) { // Create the NutanixFailureDomain object and expect creation success g.Expect(k8sClient.Create(ctx, fdObj)).To(Succeed()) - machine.Spec.FailureDomain = &fdObj.Name + machine.Spec.FailureDomain = fdObj.Name ntnxMachine.Spec.Cluster = fdObj.Spec.PrismElementCluster ntnxMachine.Spec.Subnets = fdObj.Spec.Subnets mctx := &nctx.MachineContext{ @@ -159,7 +159,7 @@ func TestNutanixMachineReconciler(t *testing.T) { }) It("should error if failureDomain is configured in the owner machine spec and the failureDomain object not found", func() { - machine.Spec.FailureDomain = &fdObj.Name + machine.Spec.FailureDomain = fdObj.Name ntnxMachine.Spec.Cluster = fdObj.Spec.PrismElementCluster ntnxMachine.Spec.Subnets = fdObj.Spec.Subnets mctx := &nctx.MachineContext{ @@ -177,7 +177,7 @@ func TestNutanixMachineReconciler(t *testing.T) { // Create the NutanixFailureDomain object and expect creation success g.Expect(k8sClient.Create(ctx, fdObj)).To(Succeed()) - machine.Spec.FailureDomain = &fdObj.Name + machine.Spec.FailureDomain = fdObj.Name ntnxMachine.Spec.Cluster = fdObj.Spec.PrismElementCluster ntnxMachine.Spec.Cluster.Name = nil mctx := &nctx.MachineContext{ @@ -195,7 +195,7 @@ func TestNutanixMachineReconciler(t *testing.T) { // Create the NutanixFailureDomain object and expect creation success g.Expect(k8sClient.Create(ctx, fdObj)).To(Succeed()) - machine.Spec.FailureDomain = &fdObj.Name + machine.Spec.FailureDomain = fdObj.Name ntnxMachine.Spec.Cluster = fdObj.Spec.PrismElementCluster // ntnxMachine.Spec.Subnets is empty mctx := &nctx.MachineContext{ @@ -267,7 +267,7 @@ func TestNutanixMachineReconciler(t *testing.T) { g.Expect(err).ToNot(HaveOccurred()) }) It("returns error if invalid machine config is passed with reference to not-exist failure domain", func() { - machine.Spec.FailureDomain = &r + machine.Spec.FailureDomain = r err := reconciler.validateMachineConfig(&nctx.MachineContext{ Context: ctx, NutanixMachine: ntnxMachine, @@ -333,7 +333,7 @@ func TestNutanixMachineReconciler(t *testing.T) { Subnets: fdObj.Spec.Subnets, }, } - machine.Spec.FailureDomain = ptr.To("failure-domain") + machine.Spec.FailureDomain = "failure-domain" fd, err := reconciler.getFailureDomainSpec(&nctx.MachineContext{ Context: ctx, NutanixMachine: ntnxMachine, diff --git a/devbox.lock b/devbox.lock index d5c47da82f..9b8c3214c1 100644 --- a/devbox.lock +++ b/devbox.lock @@ -2,295 +2,400 @@ "lockfile_version": "1", "packages": { "bash@latest": { - "last_modified": "2023-12-14T07:33:05Z", - "resolved": "github:NixOS/nixpkgs/aa9d4729cbc99dabacb50e3994dcefb3ea0f7447#bash", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#bash", "source": "devbox-search", - "version": "5.2-p21", + "version": "5.3p3", "systems": { "aarch64-darwin": { - "store_path": "/nix/store/6nxav88iiz0g8m598xy643f8hhdz5kkx-bash-5.2-p21" + "outputs": [ + { + "name": "out", + "path": "/nix/store/dgfikfjky3nq6gycpd08fyvmr7ww1j7j-bash-interactive-5.3p3", + "default": true + }, + { + "name": "man", + "path": "/nix/store/f3rz4yan99jnnwcpfw8117ayf37fzxgl-bash-interactive-5.3p3-man", + "default": true + }, + { + "name": "info", + "path": "/nix/store/s3vj6bia2wkjkqn65q5j45clnb4lqf44-bash-interactive-5.3p3-info" + }, + { + "name": "dev", + "path": "/nix/store/dsb5q7l849wg89s2ziil9950416yjfvi-bash-interactive-5.3p3-dev" + }, + { + "name": "doc", + "path": "/nix/store/18gckznydb41wm4nzjrpwz39vbraxwbj-bash-interactive-5.3p3-doc" + } + ], + "store_path": "/nix/store/dgfikfjky3nq6gycpd08fyvmr7ww1j7j-bash-interactive-5.3p3" }, "aarch64-linux": { - "store_path": "/nix/store/l34lhs5k16k8pydj2rjq70pqxz86kd3f-bash-5.2-p21" + "outputs": [ + { + "name": "out", + "path": "/nix/store/jh0jbxg80hwywl55zhdqpj0xwji7hw8x-bash-interactive-5.3p3", + "default": true + }, + { + "name": "man", + "path": "/nix/store/6n3f1g9ylq28a6wifncxw7lww30dn348-bash-interactive-5.3p3-man", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/0dd3c7krk1hg1dqvc8l9h0k2irn3rqwl-bash-interactive-5.3p3-debug" + }, + { + "name": "dev", + "path": "/nix/store/j72m6znvgzc7v54i2kpxs6a84srgax6y-bash-interactive-5.3p3-dev" + }, + { + "name": "doc", + "path": "/nix/store/vnms1jjmq8yds6966bzns4nqpg40ly7i-bash-interactive-5.3p3-doc" + }, + { + "name": "info", + "path": "/nix/store/ld8k5rrbn8cs8m9frxd2sk6yrx178l6v-bash-interactive-5.3p3-info" + } + ], + "store_path": "/nix/store/jh0jbxg80hwywl55zhdqpj0xwji7hw8x-bash-interactive-5.3p3" }, "x86_64-darwin": { - "store_path": "/nix/store/d2khhk4xpwpk9khvhp8n6r3k9si03ax1-bash-5.2-p21" + "outputs": [ + { + "name": "out", + "path": "/nix/store/8lpyf79mdh9vq3i42477rmc74mjr4b8c-bash-interactive-5.3p3", + "default": true + }, + { + "name": "man", + "path": "/nix/store/g3l616iqkknd27fvjzn4rsdxbhz9ksyk-bash-interactive-5.3p3-man", + "default": true + }, + { + "name": "dev", + "path": "/nix/store/v7l6hil46wbwi9x6fi479ax5vp9civkh-bash-interactive-5.3p3-dev" + }, + { + "name": "doc", + "path": "/nix/store/r1bay9idw16whwwfr05z6fdw65d46cmd-bash-interactive-5.3p3-doc" + }, + { + "name": "info", + "path": "/nix/store/nvgmnfqr818rf1js8m9v3j60pm0y8wkg-bash-interactive-5.3p3-info" + } + ], + "store_path": "/nix/store/8lpyf79mdh9vq3i42477rmc74mjr4b8c-bash-interactive-5.3p3" }, "x86_64-linux": { - "store_path": "/nix/store/q8qq40xg2grfh9ry1d9x4g7lq4ra7n81-bash-5.2-p21" + "outputs": [ + { + "name": "out", + "path": "/nix/store/ddx7976jyll30xjbasghv9jailswprcp-bash-interactive-5.3p3", + "default": true + }, + { + "name": "man", + "path": "/nix/store/w6pbdiqjryl4ygfx5k4ijjcr5f6imv6i-bash-interactive-5.3p3-man", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/hrnsygzq63kyilf0z8b6yfgkn0p04jvc-bash-interactive-5.3p3-debug" + }, + { + "name": "dev", + "path": "/nix/store/7zwa3r9agcyzf21d0792fvhrsl6gajiy-bash-interactive-5.3p3-dev" + }, + { + "name": "doc", + "path": "/nix/store/fh56dwjf63hivz3vv132v1n822mlgsl3-bash-interactive-5.3p3-doc" + }, + { + "name": "info", + "path": "/nix/store/1qz8y4k79fypmjan5a21f7w8djv9qp58-bash-interactive-5.3p3-info" + } + ], + "store_path": "/nix/store/ddx7976jyll30xjbasghv9jailswprcp-bash-interactive-5.3p3" } } }, "clusterctl@latest": { - "last_modified": "2024-08-18T21:16:56Z", - "resolved": "github:NixOS/nixpkgs/9aa35efbea27d320d0cdc5f922f0890812affb60#clusterctl", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#clusterctl", "source": "devbox-search", - "version": "1.8.0", + "version": "1.11.1", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/9kj9j9jlz68bdmganw2jy9qfv1ggdbqh-clusterctl-1.8.0", + "path": "/nix/store/00iyfkai9ya3banvaskivcrmy56k20qi-clusterctl-1.11.1", "default": true } ], - "store_path": "/nix/store/9kj9j9jlz68bdmganw2jy9qfv1ggdbqh-clusterctl-1.8.0" + "store_path": "/nix/store/00iyfkai9ya3banvaskivcrmy56k20qi-clusterctl-1.11.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/w0smjqy8psgnqgzscswpdp1c65n6pm5h-clusterctl-1.8.0", + "path": "/nix/store/984vp8sncwdsyh0j9c1k79iqbhvzjwwx-clusterctl-1.11.1", "default": true } ], - "store_path": "/nix/store/w0smjqy8psgnqgzscswpdp1c65n6pm5h-clusterctl-1.8.0" + "store_path": "/nix/store/984vp8sncwdsyh0j9c1k79iqbhvzjwwx-clusterctl-1.11.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/dnnchb14rb2r72sx6cj06xb1nsixq94r-clusterctl-1.8.0", + "path": "/nix/store/brrx4zdjwqk9dif4cq6dvnpv24lkbd8p-clusterctl-1.11.1", "default": true } ], - "store_path": "/nix/store/dnnchb14rb2r72sx6cj06xb1nsixq94r-clusterctl-1.8.0" + "store_path": "/nix/store/brrx4zdjwqk9dif4cq6dvnpv24lkbd8p-clusterctl-1.11.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/bbdlp277ck65h5h9jk1r7m2msc43sqfd-clusterctl-1.8.0", + "path": "/nix/store/fzrjqvjzfbgmfg6980h6psshkprbywlk-clusterctl-1.11.1", "default": true } ], - "store_path": "/nix/store/bbdlp277ck65h5h9jk1r7m2msc43sqfd-clusterctl-1.8.0" + "store_path": "/nix/store/fzrjqvjzfbgmfg6980h6psshkprbywlk-clusterctl-1.11.1" } } }, "coreutils@latest": { - "last_modified": "2024-06-12T20:55:33Z", - "resolved": "github:NixOS/nixpkgs/a9858885e197f984d92d7fe64e9fff6b2e488d40#coreutils", + "last_modified": "2025-09-21T09:21:16Z", + "resolved": "github:NixOS/nixpkgs/a1f79a1770d05af18111fbbe2a3ab2c42c0f6cd0#coreutils", "source": "devbox-search", - "version": "9.5", + "version": "9.7", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/47zwbmparr2g3b0hci44vma95k1j8a3v-coreutils-9.5", + "path": "/nix/store/wbs75n9ffs3ac1pmn4fc7wqs0m9r1z3c-coreutils-9.7", "default": true }, { "name": "info", - "path": "/nix/store/synvgqgdhvbj2b37ja3bn56f2yx08r2r-coreutils-9.5-info" + "path": "/nix/store/6jlign71w02019282ibcb3yshnc5k0zp-coreutils-9.7-info" } ], - "store_path": "/nix/store/47zwbmparr2g3b0hci44vma95k1j8a3v-coreutils-9.5" + "store_path": "/nix/store/wbs75n9ffs3ac1pmn4fc7wqs0m9r1z3c-coreutils-9.7" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/84yg60swk80b04apprb1432kir41bvzj-coreutils-9.5", + "path": "/nix/store/ics2w6dwhh4lvmv74d7axf4xc8b153wa-coreutils-9.7", "default": true }, { - "name": "info", - "path": "/nix/store/n62qzcipxl2060qyq8h79wa94mq81cdr-coreutils-9.5-info" + "name": "debug", + "path": "/nix/store/pcaxksk3kwxpvh2jcq62d7zci9had7y0-coreutils-9.7-debug" }, { - "name": "debug", - "path": "/nix/store/4nhkjwjckrypgfbg781gap2irradpcn4-coreutils-9.5-debug" + "name": "info", + "path": "/nix/store/krbf7q4winm2mji16fhz06wca585910d-coreutils-9.7-info" } ], - "store_path": "/nix/store/84yg60swk80b04apprb1432kir41bvzj-coreutils-9.5" + "store_path": "/nix/store/ics2w6dwhh4lvmv74d7axf4xc8b153wa-coreutils-9.7" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/nx7b6wz48p7lli49ms54zp9j4s4yjjf5-coreutils-9.5", + "path": "/nix/store/y7g1zx86rxgwyd88h0xiag8604v94x7f-coreutils-9.7", "default": true }, { "name": "info", - "path": "/nix/store/k9g3chvxb1zff1la6fvswp0dxvriii3g-coreutils-9.5-info" + "path": "/nix/store/jzpp0k3dnskvvkd3knnisxzy9v1apacv-coreutils-9.7-info" } ], - "store_path": "/nix/store/nx7b6wz48p7lli49ms54zp9j4s4yjjf5-coreutils-9.5" + "store_path": "/nix/store/y7g1zx86rxgwyd88h0xiag8604v94x7f-coreutils-9.7" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/i7qhgc0bs725qw3wdanznfkdna4z2ns2-coreutils-9.5", + "path": "/nix/store/8ksax0a2mxglr5hlkj2dzl556jx7xqn5-coreutils-9.7", "default": true }, { - "name": "debug", - "path": "/nix/store/8467bx2i423s8d2dnl0529q9q8mpr9h2-coreutils-9.5-debug" + "name": "info", + "path": "/nix/store/0jcd383z6gslc471f17hmx0z4a0a7ach-coreutils-9.7-info" }, { - "name": "info", - "path": "/nix/store/d33w475g5g30crnr2in1w3b9ifpm46h5-coreutils-9.5-info" + "name": "debug", + "path": "/nix/store/fskcsdp5ya23myfdps6qc5y2sx6b4jw8-coreutils-9.7-debug" } ], - "store_path": "/nix/store/i7qhgc0bs725qw3wdanznfkdna4z2ns2-coreutils-9.5" + "store_path": "/nix/store/8ksax0a2mxglr5hlkj2dzl556jx7xqn5-coreutils-9.7" } } }, "envsubst@latest": { - "last_modified": "2024-07-20T09:11:00Z", - "resolved": "github:NixOS/nixpkgs/6e14bbce7bea6c4efd7adfa88a40dac750d80100#envsubst", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#envsubst", "source": "devbox-search", - "version": "1.4.2", + "version": "1.4.3", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/shbpgijq30463mwd130v8ps5r3srwrhl-envsubst-1.4.2", + "path": "/nix/store/x53srg494w0kay6nnj9k1055c8fn3fr9-envsubst-1.4.3", "default": true } ], - "store_path": "/nix/store/shbpgijq30463mwd130v8ps5r3srwrhl-envsubst-1.4.2" + "store_path": "/nix/store/x53srg494w0kay6nnj9k1055c8fn3fr9-envsubst-1.4.3" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/wq0z5swg3yhnmh9i7wjwp9nlhb5vlvvf-envsubst-1.4.2", + "path": "/nix/store/w1dmjl98hzlvq3s590r1gn25yj40ackd-envsubst-1.4.3", "default": true } ], - "store_path": "/nix/store/wq0z5swg3yhnmh9i7wjwp9nlhb5vlvvf-envsubst-1.4.2" + "store_path": "/nix/store/w1dmjl98hzlvq3s590r1gn25yj40ackd-envsubst-1.4.3" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/5f9ywjnpxawwjv1rsw757jjjkhby0pkr-envsubst-1.4.2", + "path": "/nix/store/2a448r35kar7kfnbnkjv6frrb78kwmh6-envsubst-1.4.3", "default": true } ], - "store_path": "/nix/store/5f9ywjnpxawwjv1rsw757jjjkhby0pkr-envsubst-1.4.2" + "store_path": "/nix/store/2a448r35kar7kfnbnkjv6frrb78kwmh6-envsubst-1.4.3" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/0bvggbkrg2gagl6agx481npzs9fqhxh9-envsubst-1.4.2", + "path": "/nix/store/icwnmz6p9sviq44ngw3aw7f42qgsavsf-envsubst-1.4.3", "default": true } ], - "store_path": "/nix/store/0bvggbkrg2gagl6agx481npzs9fqhxh9-envsubst-1.4.2" + "store_path": "/nix/store/icwnmz6p9sviq44ngw3aw7f42qgsavsf-envsubst-1.4.3" } } }, "fping@latest": { - "last_modified": "2024-06-12T20:55:33Z", - "resolved": "github:NixOS/nixpkgs/a9858885e197f984d92d7fe64e9fff6b2e488d40#fping", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#fping", "source": "devbox-search", - "version": "5.2", + "version": "5.4", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/clxfp6jl0d2fs1bp2d1278534n2gixbj-fping-5.2", + "path": "/nix/store/9nr2icdr2wy6yvib7jihyr7vsxhsaw80-fping-5.4", "default": true } ], - "store_path": "/nix/store/clxfp6jl0d2fs1bp2d1278534n2gixbj-fping-5.2" + "store_path": "/nix/store/9nr2icdr2wy6yvib7jihyr7vsxhsaw80-fping-5.4" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/ilzq042wih0h5vdzxcpf6sd826h37g6w-fping-5.2", + "path": "/nix/store/p1cyy4y6qaa0fpv1fmbr2k24z1lklvdi-fping-5.4", "default": true } ], - "store_path": "/nix/store/ilzq042wih0h5vdzxcpf6sd826h37g6w-fping-5.2" + "store_path": "/nix/store/p1cyy4y6qaa0fpv1fmbr2k24z1lklvdi-fping-5.4" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/hrh3202f2njx3skj3xn33fish5az5691-fping-5.2", + "path": "/nix/store/lqr8dkrfm3pci4c3c4pzk3zlixssfl6g-fping-5.4", "default": true } ], - "store_path": "/nix/store/hrh3202f2njx3skj3xn33fish5az5691-fping-5.2" + "store_path": "/nix/store/lqr8dkrfm3pci4c3c4pzk3zlixssfl6g-fping-5.4" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/2nr99jpa9g7b5z8pwj85awzh4qbhas28-fping-5.2", + "path": "/nix/store/2m3kndppri7yny6l0yqbpdbxln976hy5-fping-5.4", "default": true } ], - "store_path": "/nix/store/2nr99jpa9g7b5z8pwj85awzh4qbhas28-fping-5.2" + "store_path": "/nix/store/2m3kndppri7yny6l0yqbpdbxln976hy5-fping-5.4" } } }, "ginkgo@latest": { - "last_modified": "2025-06-20T02:24:11Z", - "resolved": "github:NixOS/nixpkgs/076e8c6678d8c54204abcb4b1b14c366835a58bb#ginkgo", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#ginkgo", "source": "devbox-search", - "version": "2.23.4", + "version": "2.25.3", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/c24ngj9vlw59g35hk9cm7qh138n3zl01-ginkgo-2.23.4", + "path": "/nix/store/7clcaqks7lbl5fjcanw6972c3hgiqj11-ginkgo-2.25.3", "default": true } ], - "store_path": "/nix/store/c24ngj9vlw59g35hk9cm7qh138n3zl01-ginkgo-2.23.4" + "store_path": "/nix/store/7clcaqks7lbl5fjcanw6972c3hgiqj11-ginkgo-2.25.3" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/ss8pc1hskv40p58pm6s1r6rmn8cc2529-ginkgo-2.23.4", + "path": "/nix/store/3dryrkdcgin5861a6krmwz8c0dsjvnmp-ginkgo-2.25.3", "default": true } ], - "store_path": "/nix/store/ss8pc1hskv40p58pm6s1r6rmn8cc2529-ginkgo-2.23.4" + "store_path": "/nix/store/3dryrkdcgin5861a6krmwz8c0dsjvnmp-ginkgo-2.25.3" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/ksw0gb89pqc4b082pkhq56glb3vlrcl2-ginkgo-2.23.4", + "path": "/nix/store/kgb8jr73wgczcmhiyqdn3prdgp9zwmn8-ginkgo-2.25.3", "default": true } ], - "store_path": "/nix/store/ksw0gb89pqc4b082pkhq56glb3vlrcl2-ginkgo-2.23.4" + "store_path": "/nix/store/kgb8jr73wgczcmhiyqdn3prdgp9zwmn8-ginkgo-2.25.3" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/lpxqaawjdj5y0j50icxc5mw30v3hw8y6-ginkgo-2.23.4", + "path": "/nix/store/hkybq08mc4l02l671z7yv4rwa00h1id1-ginkgo-2.25.3", "default": true } ], - "store_path": "/nix/store/lpxqaawjdj5y0j50icxc5mw30v3hw8y6-ginkgo-2.23.4" + "store_path": "/nix/store/hkybq08mc4l02l671z7yv4rwa00h1id1-ginkgo-2.25.3" } } }, "github:NixOS/nixpkgs/nixpkgs-unstable": { - "resolved": "github:NixOS/nixpkgs/c53baa6685261e5253a1c355a1b322f82674a824?lastModified=1756128520&narHash=sha256-R94HxJBi%2BRK1iCm8Y4Q9pdrHZl0GZoDPIaYwjxRNPh4%3D" + "last_modified": "2025-09-28T14:42:27Z", + "resolved": "github:NixOS/nixpkgs/647e5c14cbd5067f44ac86b74f014962df460840?lastModified=1759070547&narHash=sha256-JVZl8NaVRYb0%2B381nl7LvPE%2BA774%2FdRpif01FKLrYFQ%3D" }, "gnumake@latest": { - "last_modified": "2024-07-07T07:43:47Z", - "resolved": "github:NixOS/nixpkgs/b60793b86201040d9dee019a05089a9150d08b5b#gnumake", + "last_modified": "2025-09-21T00:54:27Z", + "resolved": "github:NixOS/nixpkgs/51c8f9cfaae8306d135095bcdb3df9027f95542d#gnumake", "source": "devbox-search", "version": "4.4.1", "systems": { @@ -298,415 +403,415 @@ "outputs": [ { "name": "out", - "path": "/nix/store/c4301v1sjrp1779626h44pl91jbnpn5r-gnumake-4.4.1", + "path": "/nix/store/sjxx5p05vzq7xam62h21cyzkbyb1amvd-gnumake-4.4.1", "default": true }, { "name": "man", - "path": "/nix/store/ajpqp6akrszzdvxbb40fq6czikidc2vb-gnumake-4.4.1-man", + "path": "/nix/store/a4aay80xgirjm8hk1rd142qcd1kkfps8-gnumake-4.4.1-man", "default": true }, { "name": "info", - "path": "/nix/store/qs7gmbv88h9v6achca5950a33zmniabc-gnumake-4.4.1-info" + "path": "/nix/store/cwx5agxi3ig3gmbk4c4dn7df2krzlddy-gnumake-4.4.1-info" } ], - "store_path": "/nix/store/c4301v1sjrp1779626h44pl91jbnpn5r-gnumake-4.4.1" + "store_path": "/nix/store/sjxx5p05vzq7xam62h21cyzkbyb1amvd-gnumake-4.4.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/zm3bz71h77594dnry2v5q6rd6wyb6j4y-gnumake-4.4.1", + "path": "/nix/store/9cns3585v908dwbf5nfqqjghv955ndrq-gnumake-4.4.1", "default": true }, { "name": "man", - "path": "/nix/store/ww1zz6d9lbypwxfg1187f9l2qj16abp9-gnumake-4.4.1-man", + "path": "/nix/store/0a4l47b9sqc28ssi5hsq21ivs2hmbzcp-gnumake-4.4.1-man", "default": true }, { "name": "debug", - "path": "/nix/store/2jmxd53sms6h9z95i5rl54s6899pb2ix-gnumake-4.4.1-debug" + "path": "/nix/store/j8lcp5zjdq0l0ipvji7s13vdc53nzcki-gnumake-4.4.1-debug" }, { "name": "info", - "path": "/nix/store/5aq5k0fl2w43iwlfqn4jy3hpbxl7sh9y-gnumake-4.4.1-info" + "path": "/nix/store/8922q241lh4qbxd2g7jxsnjnkfmgap3z-gnumake-4.4.1-info" } ], - "store_path": "/nix/store/zm3bz71h77594dnry2v5q6rd6wyb6j4y-gnumake-4.4.1" + "store_path": "/nix/store/9cns3585v908dwbf5nfqqjghv955ndrq-gnumake-4.4.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/6mq2psv6b3kraaf1axdw2h1ci28nw15l-gnumake-4.4.1", + "path": "/nix/store/fy063r4nqi1w79bklqhiv7ny0xwdqjp3-gnumake-4.4.1", "default": true }, { "name": "man", - "path": "/nix/store/xmif4yq2xqy37qjhgzz43sni8nrickh6-gnumake-4.4.1-man", + "path": "/nix/store/g7nffhgbmv3r01199lhp0qz741kvnlvf-gnumake-4.4.1-man", "default": true }, { "name": "info", - "path": "/nix/store/44kyl5f1z3qji74bjfj69anqnhhia5q0-gnumake-4.4.1-info" + "path": "/nix/store/451pi5y9s89na99pxv6jjvqa44r08dha-gnumake-4.4.1-info" } ], - "store_path": "/nix/store/6mq2psv6b3kraaf1axdw2h1ci28nw15l-gnumake-4.4.1" + "store_path": "/nix/store/fy063r4nqi1w79bklqhiv7ny0xwdqjp3-gnumake-4.4.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/y1p3w7pj0f7n77kl33wmz5gml6qcqfjd-gnumake-4.4.1", + "path": "/nix/store/ahxj2q2mrl9z2k77ahqsl9j4zxq1wf84-gnumake-4.4.1", "default": true }, { "name": "man", - "path": "/nix/store/qrbxn3bh9p4ivq5jx2fs6l34k0inqpz2-gnumake-4.4.1-man", + "path": "/nix/store/ha44mgbdcrzgah0dnjd28ax4hrdkc4mm-gnumake-4.4.1-man", "default": true }, { "name": "debug", - "path": "/nix/store/1rpvn74fg0vyp7k3r369qa6m0jqhsgiz-gnumake-4.4.1-debug" + "path": "/nix/store/7vrxj6zy7y4a83d2q9585sxmcnkfs9ml-gnumake-4.4.1-debug" }, { "name": "info", - "path": "/nix/store/561k9y7cqfyf58j9x1dblw0c18625xyd-gnumake-4.4.1-info" + "path": "/nix/store/m0ijkc5j3wdawh302pns9b45v9n6nq64-gnumake-4.4.1-info" } ], - "store_path": "/nix/store/y1p3w7pj0f7n77kl33wmz5gml6qcqfjd-gnumake-4.4.1" + "store_path": "/nix/store/ahxj2q2mrl9z2k77ahqsl9j4zxq1wf84-gnumake-4.4.1" } } }, "go@latest": { - "last_modified": "2025-07-13T22:45:35Z", - "resolved": "github:NixOS/nixpkgs/a421ac6595024edcfbb1ef950a3712b89161c359#go", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#go", "source": "devbox-search", - "version": "1.24.4", + "version": "1.25.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4", + "path": "/nix/store/cr196bvbbai01r0w11p1inkzkdrqdx6y-go-1.25.0", "default": true } ], - "store_path": "/nix/store/f4a0g1p943l61wfvqnpdr73v9bsyfhf2-go-1.24.4" + "store_path": "/nix/store/cr196bvbbai01r0w11p1inkzkdrqdx6y-go-1.25.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/mdyik6amglpjs533vk927f9w1qmyw239-go-1.24.4", + "path": "/nix/store/yhcdwwikp86p2cpq0qr7di91ji63460s-go-1.25.0", "default": true } ], - "store_path": "/nix/store/mdyik6amglpjs533vk927f9w1qmyw239-go-1.24.4" + "store_path": "/nix/store/yhcdwwikp86p2cpq0qr7di91ji63460s-go-1.25.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/b56ngr9p7x6z368w8m7ps95r3x8gdfv7-go-1.24.4", + "path": "/nix/store/hz7dfw13v8iff4vf6vbnqnlnd7wh7j5x-go-1.25.0", "default": true } ], - "store_path": "/nix/store/b56ngr9p7x6z368w8m7ps95r3x8gdfv7-go-1.24.4" + "store_path": "/nix/store/hz7dfw13v8iff4vf6vbnqnlnd7wh7j5x-go-1.25.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/xrzqlk92h7z5mz9mlc4a9dyy91n5b68i-go-1.24.4", + "path": "/nix/store/3fd683jfggglpshxprz9mi5sz8wd3c9p-go-1.25.0", "default": true } ], - "store_path": "/nix/store/xrzqlk92h7z5mz9mlc4a9dyy91n5b68i-go-1.24.4" + "store_path": "/nix/store/3fd683jfggglpshxprz9mi5sz8wd3c9p-go-1.25.0" } } }, "golangci-lint@latest": { - "last_modified": "2025-03-31T17:23:37Z", - "resolved": "github:NixOS/nixpkgs/3eeaa42ef4c19447b48d1c676fe59077dfd0846e#golangci-lint", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#golangci-lint", "source": "devbox-search", - "version": "2.0.2", + "version": "2.4.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/qqi3hbsmbvwgvhmp9gfhhkicmq8320vn-golangci-lint-2.0.2", + "path": "/nix/store/2iiw320mwgw7flh47zbz6l62fakrb3dx-golangci-lint-2.4.0", "default": true } ], - "store_path": "/nix/store/qqi3hbsmbvwgvhmp9gfhhkicmq8320vn-golangci-lint-2.0.2" + "store_path": "/nix/store/2iiw320mwgw7flh47zbz6l62fakrb3dx-golangci-lint-2.4.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/q6cmmcdb9qiy4vbw40zam7cdzx0rfpmm-golangci-lint-2.0.2", + "path": "/nix/store/hwr3wdhqnlcay07xpgv2wm1mx7k5nkhf-golangci-lint-2.4.0", "default": true } ], - "store_path": "/nix/store/q6cmmcdb9qiy4vbw40zam7cdzx0rfpmm-golangci-lint-2.0.2" + "store_path": "/nix/store/hwr3wdhqnlcay07xpgv2wm1mx7k5nkhf-golangci-lint-2.4.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/p00zsp099n3cb0dqbbziqs1ghrb9xxi3-golangci-lint-2.0.2", + "path": "/nix/store/skcc363l41rm6hjyrhzlfbk3rrwci2lb-golangci-lint-2.4.0", "default": true } ], - "store_path": "/nix/store/p00zsp099n3cb0dqbbziqs1ghrb9xxi3-golangci-lint-2.0.2" + "store_path": "/nix/store/skcc363l41rm6hjyrhzlfbk3rrwci2lb-golangci-lint-2.4.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/7dqkhrpn6i52ninr0cndfwhxnkn3lj03-golangci-lint-2.0.2", + "path": "/nix/store/dlz6z4dih7rd6q9dnigvz49npfmv8m52-golangci-lint-2.4.0", "default": true } ], - "store_path": "/nix/store/7dqkhrpn6i52ninr0cndfwhxnkn3lj03-golangci-lint-2.0.2" + "store_path": "/nix/store/dlz6z4dih7rd6q9dnigvz49npfmv8m52-golangci-lint-2.4.0" } } }, "gotestsum@latest": { - "last_modified": "2024-07-31T08:48:38Z", - "resolved": "github:NixOS/nixpkgs/c3392ad349a5227f4a3464dce87bcc5046692fce#gotestsum", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#gotestsum", "source": "devbox-search", - "version": "1.11.0", + "version": "1.13.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/szsxbm94ddwvxcj7zxnq8mbp2y7cbcgx-gotestsum-1.11.0", + "path": "/nix/store/2zn5wpiid1wnllfizp5ggrn2d6q80999-gotestsum-1.13.0", "default": true } ], - "store_path": "/nix/store/szsxbm94ddwvxcj7zxnq8mbp2y7cbcgx-gotestsum-1.11.0" + "store_path": "/nix/store/2zn5wpiid1wnllfizp5ggrn2d6q80999-gotestsum-1.13.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/1nf69d1w2rscdr6xgfxjkyxnvv3ikg9y-gotestsum-1.11.0", + "path": "/nix/store/vmpxx927knfjg0wznyzhzal3gmfwgz3d-gotestsum-1.13.0", "default": true } ], - "store_path": "/nix/store/1nf69d1w2rscdr6xgfxjkyxnvv3ikg9y-gotestsum-1.11.0" + "store_path": "/nix/store/vmpxx927knfjg0wznyzhzal3gmfwgz3d-gotestsum-1.13.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/ngdklr107j9fxsj1ysgpyj1d80bka61x-gotestsum-1.11.0", + "path": "/nix/store/72jjqwzfp1cj98g6920bizbszj99j89x-gotestsum-1.13.0", "default": true } ], - "store_path": "/nix/store/ngdklr107j9fxsj1ysgpyj1d80bka61x-gotestsum-1.11.0" + "store_path": "/nix/store/72jjqwzfp1cj98g6920bizbszj99j89x-gotestsum-1.13.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/i3s4zlzbwr4px5kaj16nkp96wcs0128j-gotestsum-1.11.0", + "path": "/nix/store/ax0ca74aywswi150dsyhkaj0bg9gfrqy-gotestsum-1.13.0", "default": true } ], - "store_path": "/nix/store/i3s4zlzbwr4px5kaj16nkp96wcs0128j-gotestsum-1.11.0" + "store_path": "/nix/store/ax0ca74aywswi150dsyhkaj0bg9gfrqy-gotestsum-1.13.0" } } }, "kind@latest": { - "last_modified": "2025-07-28T17:09:23Z", - "resolved": "github:NixOS/nixpkgs/648f70160c03151bc2121d179291337ad6bc564b#kind", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kind", "source": "devbox-search", - "version": "0.29.0", + "version": "0.30.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/prhgjwv6cqf2s1hgr662w7h56amykcpp-kind-0.29.0", + "path": "/nix/store/f1zv1knf82xycmg383rgmyp83h61hnin-kind-0.30.0", "default": true } ], - "store_path": "/nix/store/prhgjwv6cqf2s1hgr662w7h56amykcpp-kind-0.29.0" + "store_path": "/nix/store/f1zv1knf82xycmg383rgmyp83h61hnin-kind-0.30.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/ij8mcqwncmw68i676b4dybgwx5k1filn-kind-0.29.0", + "path": "/nix/store/y6nb7p504s22yc5crh6mxqnxcvl2wbah-kind-0.30.0", "default": true } ], - "store_path": "/nix/store/ij8mcqwncmw68i676b4dybgwx5k1filn-kind-0.29.0" + "store_path": "/nix/store/y6nb7p504s22yc5crh6mxqnxcvl2wbah-kind-0.30.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/ssn028ms5f62wsznhvl7kks62idd6y4w-kind-0.29.0", + "path": "/nix/store/1hi5hxjdklrmjrvi9j142h1aakr458ia-kind-0.30.0", "default": true } ], - "store_path": "/nix/store/ssn028ms5f62wsznhvl7kks62idd6y4w-kind-0.29.0" + "store_path": "/nix/store/1hi5hxjdklrmjrvi9j142h1aakr458ia-kind-0.30.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/r6j7f9fk5cnss0i0ddm5yf9r23n1bc13-kind-0.29.0", + "path": "/nix/store/myld9sswhrl252bjrr60nl2ls9338vf3-kind-0.30.0", "default": true } ], - "store_path": "/nix/store/r6j7f9fk5cnss0i0ddm5yf9r23n1bc13-kind-0.29.0" + "store_path": "/nix/store/myld9sswhrl252bjrr60nl2ls9338vf3-kind-0.30.0" } } }, "ko@latest": { - "last_modified": "2024-07-20T09:11:00Z", - "resolved": "github:NixOS/nixpkgs/6e14bbce7bea6c4efd7adfa88a40dac750d80100#ko", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#ko", "source": "devbox-search", - "version": "0.15.4", + "version": "0.18.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/55z0jl9gi5x88sdy4ml89dpz76ixhf2x-ko-0.15.4", + "path": "/nix/store/5ih92i62zphph34zvf92fg5hmb8lc1nd-ko-0.18.0", "default": true } ], - "store_path": "/nix/store/55z0jl9gi5x88sdy4ml89dpz76ixhf2x-ko-0.15.4" + "store_path": "/nix/store/5ih92i62zphph34zvf92fg5hmb8lc1nd-ko-0.18.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/amyq0brnkx8j3920zic62qaz5gnjlwlv-ko-0.15.4", + "path": "/nix/store/4vgqqsprrdskv54yx21ghvn1b9xhz3jk-ko-0.18.0", "default": true } ], - "store_path": "/nix/store/amyq0brnkx8j3920zic62qaz5gnjlwlv-ko-0.15.4" + "store_path": "/nix/store/4vgqqsprrdskv54yx21ghvn1b9xhz3jk-ko-0.18.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/n5a16q3llcz19rpyqb072z5spkcvlp94-ko-0.15.4", + "path": "/nix/store/phnihji8z3d0mhy4d588iaikpr5wkf1z-ko-0.18.0", "default": true } ], - "store_path": "/nix/store/n5a16q3llcz19rpyqb072z5spkcvlp94-ko-0.15.4" + "store_path": "/nix/store/phnihji8z3d0mhy4d588iaikpr5wkf1z-ko-0.18.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/5klg0yk9h2agipzk9ahyic9vbhag8lvm-ko-0.15.4", + "path": "/nix/store/xim7l8qplv2grkdywi3hdzs72wbkl5z4-ko-0.18.0", "default": true } ], - "store_path": "/nix/store/5klg0yk9h2agipzk9ahyic9vbhag8lvm-ko-0.15.4" + "store_path": "/nix/store/xim7l8qplv2grkdywi3hdzs72wbkl5z4-ko-0.18.0" } } }, "kubectl@latest": { - "last_modified": "2025-07-28T17:09:23Z", - "resolved": "github:NixOS/nixpkgs/648f70160c03151bc2121d179291337ad6bc564b#kubectl", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kubectl", "source": "devbox-search", - "version": "1.33.3", + "version": "1.33.4", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/k5hj0mxpv84w7xzx2z4wc06r4hg1ccwj-kubectl-1.33.3", + "path": "/nix/store/l9qa55xhnsif5bd8jc558pl2kraiwisx-kubectl-1.33.4", "default": true }, { "name": "man", - "path": "/nix/store/2mckzmqkc5y3bh66sx2ij6sy2l1yy5s3-kubectl-1.33.3-man", + "path": "/nix/store/1ax04d2wdfp63df3gbjdsq523ql895yc-kubectl-1.33.4-man", "default": true }, { "name": "convert", - "path": "/nix/store/x225vv21kfp2pgi3hxac4cpz60qlh6nv-kubectl-1.33.3-convert" + "path": "/nix/store/p7xb87g2vz00n97fhaaqwr9jdvcp5647-kubectl-1.33.4-convert" } ], - "store_path": "/nix/store/k5hj0mxpv84w7xzx2z4wc06r4hg1ccwj-kubectl-1.33.3" + "store_path": "/nix/store/l9qa55xhnsif5bd8jc558pl2kraiwisx-kubectl-1.33.4" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/cclissn11ab1rw49qybz8q31631n3m9x-kubectl-1.33.3", + "path": "/nix/store/a95sq4yvhbrh4njn49glnp2xmbd3k3q1-kubectl-1.33.4", "default": true }, { "name": "man", - "path": "/nix/store/5npib1jfzm5mnv2ri6lv3z1l2pxhp8lr-kubectl-1.33.3-man", + "path": "/nix/store/5jnghhpmiympxr759s1pqbksg3gld6d8-kubectl-1.33.4-man", "default": true }, { "name": "convert", - "path": "/nix/store/1ahkazwv31h3irkxpzazg20kpn3kngbz-kubectl-1.33.3-convert" + "path": "/nix/store/5sxzhci6fxn8jv3x9xkab1jdb43ynpzr-kubectl-1.33.4-convert" } ], - "store_path": "/nix/store/cclissn11ab1rw49qybz8q31631n3m9x-kubectl-1.33.3" + "store_path": "/nix/store/a95sq4yvhbrh4njn49glnp2xmbd3k3q1-kubectl-1.33.4" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/qhvbci1vbd66884yza8d8sr3xn08v5ar-kubectl-1.33.3", + "path": "/nix/store/417lxr3l5cy3m86iywhhrkbkx2j9y1xk-kubectl-1.33.4", "default": true }, { "name": "man", - "path": "/nix/store/9r8lxjhv229w8c2gf0kbwsfjl9jcv6y2-kubectl-1.33.3-man", + "path": "/nix/store/q5gf3an5cmfzyl2wqw21ll01yfmjxm0j-kubectl-1.33.4-man", "default": true }, { "name": "convert", - "path": "/nix/store/x74dqs19xz986l140bjn15awxf62dkys-kubectl-1.33.3-convert" + "path": "/nix/store/2kfp817d37kbsrjh48f8l26hmf12b97z-kubectl-1.33.4-convert" } ], - "store_path": "/nix/store/qhvbci1vbd66884yza8d8sr3xn08v5ar-kubectl-1.33.3" + "store_path": "/nix/store/417lxr3l5cy3m86iywhhrkbkx2j9y1xk-kubectl-1.33.4" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/vpx0zzs0hazp7k9byys204jl805ksa2y-kubectl-1.33.3", + "path": "/nix/store/abp5rhv8vnij5k08m5id75vdq4nnkqqq-kubectl-1.33.4", "default": true }, { "name": "man", - "path": "/nix/store/w38d510ixf5ijs8z4j6c2yiinqk8ddx8-kubectl-1.33.3-man", + "path": "/nix/store/75afy3w5985pck1f7bvwwq7gzawf9i9c-kubectl-1.33.4-man", "default": true }, { "name": "convert", - "path": "/nix/store/sj77h1x39z09mmq6rv1cjmpj6gg9gylf-kubectl-1.33.3-convert" + "path": "/nix/store/1yhls3wrancjn52md7552kyalbh7dd5b-kubectl-1.33.4-convert" } ], - "store_path": "/nix/store/vpx0zzs0hazp7k9byys204jl805ksa2y-kubectl-1.33.3" + "store_path": "/nix/store/abp5rhv8vnij5k08m5id75vdq4nnkqqq-kubectl-1.33.4" } } }, "kubernetes-code-generator@latest": { - "last_modified": "2024-07-20T09:11:00Z", - "resolved": "github:NixOS/nixpkgs/6e14bbce7bea6c4efd7adfa88a40dac750d80100#kubernetes-code-generator", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kubernetes-code-generator", "source": "devbox-search", "version": "0.25.4", "systems": { @@ -714,297 +819,297 @@ "outputs": [ { "name": "out", - "path": "/nix/store/s87p1wvldz6bv870bq5kzy0zg7j5zyyw-code-generator-0.25.4", + "path": "/nix/store/708kfklzg28xngrv1kgvcs6knc9h37la-code-generator-0.25.4", "default": true } ], - "store_path": "/nix/store/s87p1wvldz6bv870bq5kzy0zg7j5zyyw-code-generator-0.25.4" + "store_path": "/nix/store/708kfklzg28xngrv1kgvcs6knc9h37la-code-generator-0.25.4" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/0mcrl64qakbbab477dwh3c3pncvjbij9-code-generator-0.25.4", + "path": "/nix/store/qapnpn3nb4v6r609q8fcsairflpy89ll-code-generator-0.25.4", "default": true } ], - "store_path": "/nix/store/0mcrl64qakbbab477dwh3c3pncvjbij9-code-generator-0.25.4" + "store_path": "/nix/store/qapnpn3nb4v6r609q8fcsairflpy89ll-code-generator-0.25.4" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/gs5pdr5in7yqgs05pk4kjnk0q01s9km8-code-generator-0.25.4", + "path": "/nix/store/xpygmjd6m1vfk63hh7xdd5x6ihpx5ngy-code-generator-0.25.4", "default": true } ], - "store_path": "/nix/store/gs5pdr5in7yqgs05pk4kjnk0q01s9km8-code-generator-0.25.4" + "store_path": "/nix/store/xpygmjd6m1vfk63hh7xdd5x6ihpx5ngy-code-generator-0.25.4" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/w7915798cc3djicwzi6bxa9gnhh702d3-code-generator-0.25.4", + "path": "/nix/store/4v1zcdg1gsh5hzhq0bisvj0z2fd7168v-code-generator-0.25.4", "default": true } ], - "store_path": "/nix/store/w7915798cc3djicwzi6bxa9gnhh702d3-code-generator-0.25.4" + "store_path": "/nix/store/4v1zcdg1gsh5hzhq0bisvj0z2fd7168v-code-generator-0.25.4" } } }, "kubernetes-controller-tools@latest": { - "last_modified": "2025-06-20T02:24:11Z", - "resolved": "github:NixOS/nixpkgs/076e8c6678d8c54204abcb4b1b14c366835a58bb#kubernetes-controller-tools", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kubernetes-controller-tools", "source": "devbox-search", - "version": "0.18.0", + "version": "0.19.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/5r9p85rfxrz0cndbri32jsqf78gbcifw-controller-tools-0.18.0", + "path": "/nix/store/14b8iz2sjl8pi5221qngxkp7zm9cfcs6-controller-tools-0.19.0", "default": true } ], - "store_path": "/nix/store/5r9p85rfxrz0cndbri32jsqf78gbcifw-controller-tools-0.18.0" + "store_path": "/nix/store/14b8iz2sjl8pi5221qngxkp7zm9cfcs6-controller-tools-0.19.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/v1c337xlrd2nbyxfb3i3nh773lidf3qd-controller-tools-0.18.0", + "path": "/nix/store/4ddff0298zwybmfmaia48vx38nsmy5l8-controller-tools-0.19.0", "default": true } ], - "store_path": "/nix/store/v1c337xlrd2nbyxfb3i3nh773lidf3qd-controller-tools-0.18.0" + "store_path": "/nix/store/4ddff0298zwybmfmaia48vx38nsmy5l8-controller-tools-0.19.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/049vdl769q5g1sir78rpfxnj07wz9klx-controller-tools-0.18.0", + "path": "/nix/store/cbqmdz5j9xkwlarcn49zyaigk0fqrz9j-controller-tools-0.19.0", "default": true } ], - "store_path": "/nix/store/049vdl769q5g1sir78rpfxnj07wz9klx-controller-tools-0.18.0" + "store_path": "/nix/store/cbqmdz5j9xkwlarcn49zyaigk0fqrz9j-controller-tools-0.19.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/1vv73mxmmnbbdylxjqikizi44nfdnkym-controller-tools-0.18.0", + "path": "/nix/store/9gx9sm2dm12caaw5943s1yfqh6g5nvbc-controller-tools-0.19.0", "default": true } ], - "store_path": "/nix/store/1vv73mxmmnbbdylxjqikizi44nfdnkym-controller-tools-0.18.0" + "store_path": "/nix/store/9gx9sm2dm12caaw5943s1yfqh6g5nvbc-controller-tools-0.19.0" } } }, "kubernetes-helm@latest": { - "last_modified": "2024-07-07T16:08:25Z", - "resolved": "github:NixOS/nixpkgs/ab82a9612aa45284d4adf69ee81871a389669a9e#kubernetes-helm", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kubernetes-helm", "source": "devbox-search", - "version": "3.15.2", + "version": "3.19.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/svgmhkl47asx8r999aiv8db9gc79mn09-kubernetes-helm-3.15.2", + "path": "/nix/store/8irl5599sb6a89qqa9y3mb8j4d2h2vm2-kubernetes-helm-3.19.0", "default": true } ], - "store_path": "/nix/store/svgmhkl47asx8r999aiv8db9gc79mn09-kubernetes-helm-3.15.2" + "store_path": "/nix/store/8irl5599sb6a89qqa9y3mb8j4d2h2vm2-kubernetes-helm-3.19.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/zg9a8pk65mp7gy645j408lck3psc1m45-kubernetes-helm-3.15.2", + "path": "/nix/store/xqrwcjbk1mkp72y9gdqk0h770s7jfqwy-kubernetes-helm-3.19.0", "default": true } ], - "store_path": "/nix/store/zg9a8pk65mp7gy645j408lck3psc1m45-kubernetes-helm-3.15.2" + "store_path": "/nix/store/xqrwcjbk1mkp72y9gdqk0h770s7jfqwy-kubernetes-helm-3.19.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/dnpl9y8vwxx130hg8i5s7zigcpq6a67i-kubernetes-helm-3.15.2", + "path": "/nix/store/5k9n5ifg8j39wqgidmihxcw3jn03hr6x-kubernetes-helm-3.19.0", "default": true } ], - "store_path": "/nix/store/dnpl9y8vwxx130hg8i5s7zigcpq6a67i-kubernetes-helm-3.15.2" + "store_path": "/nix/store/5k9n5ifg8j39wqgidmihxcw3jn03hr6x-kubernetes-helm-3.19.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/p0hahjjjvnixs864zsfd3cn9k586wca3-kubernetes-helm-3.15.2", + "path": "/nix/store/xhdxsw1rkwpj4j1c020r9bii97n9d624-kubernetes-helm-3.19.0", "default": true } ], - "store_path": "/nix/store/p0hahjjjvnixs864zsfd3cn9k586wca3-kubernetes-helm-3.15.2" + "store_path": "/nix/store/xhdxsw1rkwpj4j1c020r9bii97n9d624-kubernetes-helm-3.19.0" } } }, "kustomize@latest": { - "last_modified": "2024-07-21T11:05:48Z", - "resolved": "github:NixOS/nixpkgs/c19d62ad2265b16e2199c5feb4650fe459ca1c46#kustomize", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kustomize", "source": "devbox-search", - "version": "5.4.3", + "version": "5.7.1", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/9nc6q2v7wi0gwjw0wv3vwclacga02y99-kustomize-5.4.3", + "path": "/nix/store/5pgyq35qpyfrn6mf3ggplyaj7q5ffyc5-kustomize-5.7.1", "default": true } ], - "store_path": "/nix/store/9nc6q2v7wi0gwjw0wv3vwclacga02y99-kustomize-5.4.3" + "store_path": "/nix/store/5pgyq35qpyfrn6mf3ggplyaj7q5ffyc5-kustomize-5.7.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/6ksbhfg0pi2a1j5mvz2cmgppklh4mdjw-kustomize-5.4.3", + "path": "/nix/store/7dyf7f45vbk17yyqi2ixm0q9vr3wxnhj-kustomize-5.7.1", "default": true } ], - "store_path": "/nix/store/6ksbhfg0pi2a1j5mvz2cmgppklh4mdjw-kustomize-5.4.3" + "store_path": "/nix/store/7dyf7f45vbk17yyqi2ixm0q9vr3wxnhj-kustomize-5.7.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/n5y8f6rjaidxsd4hqsx44kdsd9nqmmx6-kustomize-5.4.3", + "path": "/nix/store/10z0szlvplmgbs5621shaqni7lnn66qy-kustomize-5.7.1", "default": true } ], - "store_path": "/nix/store/n5y8f6rjaidxsd4hqsx44kdsd9nqmmx6-kustomize-5.4.3" + "store_path": "/nix/store/10z0szlvplmgbs5621shaqni7lnn66qy-kustomize-5.7.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/lhzpalmniskqs15qdi9l887sc2a5v3sb-kustomize-5.4.3", + "path": "/nix/store/0rxls8l3yfxrm3d1iax9yhq9l4x23zzh-kustomize-5.7.1", "default": true } ], - "store_path": "/nix/store/lhzpalmniskqs15qdi9l887sc2a5v3sb-kustomize-5.4.3" + "store_path": "/nix/store/0rxls8l3yfxrm3d1iax9yhq9l4x23zzh-kustomize-5.7.1" } } }, "mockgen@latest": { - "last_modified": "2024-07-20T09:11:00Z", - "resolved": "github:NixOS/nixpkgs/6e14bbce7bea6c4efd7adfa88a40dac750d80100#mockgen", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#mockgen", "source": "devbox-search", - "version": "0.4.0", + "version": "0.6.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/k2s5hjmbix6qixwbfgwl6dvpsdyp8pjg-mockgen-0.4.0", + "path": "/nix/store/r522cmzfdvswnbgmm9637ic9yy4xg0gn-mockgen-0.6.0", "default": true } ], - "store_path": "/nix/store/k2s5hjmbix6qixwbfgwl6dvpsdyp8pjg-mockgen-0.4.0" + "store_path": "/nix/store/r522cmzfdvswnbgmm9637ic9yy4xg0gn-mockgen-0.6.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/y4scifjvhv60ac004rpp0x7k6ckhkg46-mockgen-0.4.0", + "path": "/nix/store/8f4r73bswayv93kxcq0f76rpf24qajsd-mockgen-0.6.0", "default": true } ], - "store_path": "/nix/store/y4scifjvhv60ac004rpp0x7k6ckhkg46-mockgen-0.4.0" + "store_path": "/nix/store/8f4r73bswayv93kxcq0f76rpf24qajsd-mockgen-0.6.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/mj1la5vzsbhpqnp607waa9wypkjra5wd-mockgen-0.4.0", + "path": "/nix/store/c17vj62wfwr0kak9jwryz9k5dxr3w5r2-mockgen-0.6.0", "default": true } ], - "store_path": "/nix/store/mj1la5vzsbhpqnp607waa9wypkjra5wd-mockgen-0.4.0" + "store_path": "/nix/store/c17vj62wfwr0kak9jwryz9k5dxr3w5r2-mockgen-0.6.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/jw5dv0yf0h9zpi8rc20dmkxg5b4w1xga-mockgen-0.4.0", + "path": "/nix/store/0phqllnxvr1rq19g55dyfdsshhrzp5a4-mockgen-0.6.0", "default": true } ], - "store_path": "/nix/store/jw5dv0yf0h9zpi8rc20dmkxg5b4w1xga-mockgen-0.4.0" + "store_path": "/nix/store/0phqllnxvr1rq19g55dyfdsshhrzp5a4-mockgen-0.6.0" } } }, "yamllint@latest": { - "last_modified": "2024-07-07T07:43:47Z", - "resolved": "github:NixOS/nixpkgs/b60793b86201040d9dee019a05089a9150d08b5b#yamllint", + "last_modified": "2025-09-18T16:33:27Z", + "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#yamllint", "source": "devbox-search", - "version": "1.35.1", + "version": "1.37.1", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/2q8hpb88sqjmr26fq5jx5w53y04cg3jp-python3.12-yamllint-1.35.1", + "path": "/nix/store/1ajlhkwnvxnirqacd95ccvcp4n4a2l6d-python3.13-yamllint-1.37.1", "default": true }, { "name": "dist", - "path": "/nix/store/sj4l32ivgs2y1mvhib6wmsxp3lrykway-python3.12-yamllint-1.35.1-dist" + "path": "/nix/store/nc9v27cadla3hzarrypl7xqv714aj851-python3.13-yamllint-1.37.1-dist" } ], - "store_path": "/nix/store/2q8hpb88sqjmr26fq5jx5w53y04cg3jp-python3.12-yamllint-1.35.1" + "store_path": "/nix/store/1ajlhkwnvxnirqacd95ccvcp4n4a2l6d-python3.13-yamllint-1.37.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/4sba4q501m6p1a2312z2rvmnavcr3bq5-python3.12-yamllint-1.35.1", + "path": "/nix/store/wdn4zyww6gv95lhz0jvcfrf0an4vfbjf-python3.13-yamllint-1.37.1", "default": true }, { "name": "dist", - "path": "/nix/store/aw2qn4j1apkqzyk7bgr81n030xbjwybw-python3.12-yamllint-1.35.1-dist" + "path": "/nix/store/llpps8kklgvx2m7xa8vnbfhcdrkirii7-python3.13-yamllint-1.37.1-dist" } ], - "store_path": "/nix/store/4sba4q501m6p1a2312z2rvmnavcr3bq5-python3.12-yamllint-1.35.1" + "store_path": "/nix/store/wdn4zyww6gv95lhz0jvcfrf0an4vfbjf-python3.13-yamllint-1.37.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/48snq08xb9cfb78lxx9wx2cbgvd2m4ki-python3.12-yamllint-1.35.1", + "path": "/nix/store/6yfzxvgkr2v043462sm2h6g2pjkm506n-python3.13-yamllint-1.37.1", "default": true }, { "name": "dist", - "path": "/nix/store/wmacgfhf4c87n7a7za4v1z9fhvavv807-python3.12-yamllint-1.35.1-dist" + "path": "/nix/store/hjh468yvb9nrw6jhizirvrjym8ngq35q-python3.13-yamllint-1.37.1-dist" } ], - "store_path": "/nix/store/48snq08xb9cfb78lxx9wx2cbgvd2m4ki-python3.12-yamllint-1.35.1" + "store_path": "/nix/store/6yfzxvgkr2v043462sm2h6g2pjkm506n-python3.13-yamllint-1.37.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/97nrnqdp5wwmlldady91mira1jnpxvzj-python3.12-yamllint-1.35.1", + "path": "/nix/store/0v7zz7l98yw23xwk2j4fkccbj36dpjml-python3.13-yamllint-1.37.1", "default": true }, { "name": "dist", - "path": "/nix/store/zq792ybfv6sz9ryaa00l10azm75kp1g8-python3.12-yamllint-1.35.1-dist" + "path": "/nix/store/wpnf4f2x6qjkkk31s0505qiima771vxw-python3.13-yamllint-1.37.1-dist" } ], - "store_path": "/nix/store/97nrnqdp5wwmlldady91mira1jnpxvzj-python3.12-yamllint-1.35.1" + "store_path": "/nix/store/0v7zz7l98yw23xwk2j4fkccbj36dpjml-python3.13-yamllint-1.37.1" } } } diff --git a/go.mod b/go.mod index 6703c30b62..897d0ababb 100644 --- a/go.mod +++ b/go.mod @@ -7,43 +7,39 @@ toolchain go1.24.4 require ( github.com/blang/semver v3.5.1+incompatible github.com/blang/semver/v4 v4.0.0 - github.com/go-logr/logr v1.4.2 + github.com/go-logr/logr v1.4.3 github.com/google/go-cmp v0.7.0 github.com/google/uuid v1.6.0 github.com/nutanix-cloud-native/prism-go-client v0.5.0 github.com/nutanix/ntnx-api-golang-clients/volumes-go-client/v4 v4.0.1-beta.1 github.com/onsi/ginkgo/v2 v2.23.4 - github.com/onsi/gomega v1.36.3 + github.com/onsi/gomega v1.38.0 github.com/pkg/errors v0.9.1 - github.com/spf13/pflag v1.0.6 + github.com/spf13/pflag v1.0.7 github.com/stretchr/testify v1.10.0 go.uber.org/mock v0.4.0 go.uber.org/zap v1.27.0 - golang.org/x/crypto v0.36.0 // indirect; CVE fixes for https://avd.aquasec.com/nvd/cve-2025-22869 - golang.org/x/time v0.8.0 - k8s.io/api v0.32.3 - k8s.io/apiextensions-apiserver v0.32.3 - k8s.io/apimachinery v0.32.3 - k8s.io/client-go v0.32.3 + golang.org/x/crypto v0.40.0 // indirect; CVE fixes for https://avd.aquasec.com/nvd/cve-2025-22869 + golang.org/x/time v0.9.0 + k8s.io/api v0.34.1 + k8s.io/apiextensions-apiserver v0.34.1 + k8s.io/apimachinery v0.34.1 + k8s.io/client-go v0.34.1 k8s.io/klog/v2 v2.130.1 - k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 - sigs.k8s.io/cluster-api v1.10.3 - sigs.k8s.io/cluster-api/test v1.10.3 - sigs.k8s.io/controller-runtime v0.20.4 - sigs.k8s.io/kind v0.27.0 + k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 + sigs.k8s.io/cluster-api v1.11.1 + sigs.k8s.io/cluster-api/test v1.11.1 + sigs.k8s.io/controller-runtime v0.22.1 + sigs.k8s.io/kind v0.30.0 sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 ) require ( al.essio.dev/pkg/shellescape v1.5.1 // indirect - cel.dev/expr v0.18.0 // indirect - dario.cat/mergo v1.0.1 // indirect + cel.dev/expr v0.24.0 // indirect github.com/BurntSushi/toml v1.4.0 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect - github.com/Masterminds/goutils v1.1.1 // indirect - github.com/Masterminds/semver/v3 v3.3.0 // indirect - github.com/Masterminds/sprig/v3 v3.3.0 // indirect github.com/Microsoft/go-winio v0.5.0 // indirect github.com/NYTimes/gziphandler v1.1.1 // indirect github.com/PaesslerAG/gval v1.0.0 // indirect @@ -56,9 +52,11 @@ require ( github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cloudflare/circl v1.6.1 // indirect + github.com/containerd/errdefs v1.0.0 // indirect + github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/distribution/reference v0.6.0 // indirect - github.com/docker/docker v28.0.2+incompatible // indirect + github.com/docker/docker v28.3.3+incompatible // indirect github.com/docker/go-connections v0.5.0 // indirect github.com/docker/go-units v0.4.0 // indirect github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46 // indirect @@ -67,8 +65,8 @@ require ( github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.8.0 // indirect - github.com/fxamacker/cbor/v2 v2.7.0 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/go-errors/errors v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect @@ -82,37 +80,33 @@ require ( github.com/go-openapi/swag v0.23.0 // indirect github.com/go-openapi/validate v0.24.0 // indirect github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/go-viper/mapstructure/v2 v2.2.1 // indirect + github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/gobuffalo/flect v1.0.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/protobuf v1.5.4 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/cel-go v0.22.0 // indirect - github.com/google/gnostic-models v0.6.8 // indirect + github.com/google/cel-go v0.26.0 // indirect + github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-github/v53 v53.2.0 // indirect github.com/google/go-querystring v1.1.0 // indirect - github.com/google/gofuzz v1.2.0 // indirect github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect - github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.1 // indirect - github.com/huandu/xstrings v1.5.0 // indirect github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // 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 github.com/mattn/go-runewidth v0.0.14 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect + github.com/moby/sys/sequential v0.6.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/nutanix/ntnx-api-golang-clients/clustermgmt-go-client/v4 v4.0.1-beta.2 // indirect @@ -127,61 +121,63 @@ require ( github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.2.3 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.19.1 // indirect + github.com/prometheus/client_golang v1.22.0 // 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/rivo/uniseg v0.4.2 // indirect github.com/sagikazarmark/locafero v0.7.0 // indirect - github.com/shopspring/decimal v1.4.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.12.0 // indirect github.com/spf13/cast v1.7.1 // indirect github.com/spf13/cobra v1.9.1 // indirect - github.com/spf13/viper v1.20.0 // indirect + github.com/spf13/viper v1.20.1 // indirect github.com/stoewer/go-strcase v1.3.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/valyala/fastjson v1.6.4 // indirect github.com/x448/float16 v0.8.4 // indirect github.com/xlab/treeprint v1.2.0 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 // indirect - go.opentelemetry.io/otel v1.29.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 // indirect - go.opentelemetry.io/otel/metric v1.29.0 // indirect - go.opentelemetry.io/otel/sdk v1.29.0 // indirect - go.opentelemetry.io/otel/trace v1.29.0 // indirect - go.opentelemetry.io/proto/otlp v1.3.1 // indirect + go.opentelemetry.io/auto/sdk v1.1.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect + go.opentelemetry.io/otel v1.35.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 // indirect + go.opentelemetry.io/otel/metric v1.35.0 // indirect + go.opentelemetry.io/otel/sdk v1.34.0 // indirect + go.opentelemetry.io/otel/trace v1.35.0 // indirect + go.opentelemetry.io/proto/otlp v1.5.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/automaxprocs v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect + go.yaml.in/yaml/v2 v2.4.2 // indirect + go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect - golang.org/x/net v0.38.0 // indirect - golang.org/x/oauth2 v0.28.0 // indirect - golang.org/x/sync v0.12.0 // indirect - golang.org/x/sys v0.32.0 // indirect - golang.org/x/term v0.30.0 // indirect - golang.org/x/text v0.23.0 // indirect - golang.org/x/tools v0.31.0 // indirect + golang.org/x/net v0.42.0 // indirect + golang.org/x/oauth2 v0.30.0 // indirect + golang.org/x/sync v0.16.0 // indirect + golang.org/x/sys v0.34.0 // indirect + golang.org/x/term v0.33.0 // indirect + golang.org/x/text v0.27.0 // indirect + golang.org/x/tools v0.34.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8 // indirect - google.golang.org/grpc v1.67.3 // indirect - google.golang.org/protobuf v1.36.5 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect + google.golang.org/grpc v1.72.1 // indirect + google.golang.org/protobuf v1.36.6 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiserver v0.32.3 // indirect - k8s.io/cluster-bootstrap v0.32.3 // indirect - k8s.io/component-base v0.32.3 // indirect - k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect - sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 // indirect - sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect - sigs.k8s.io/yaml v1.4.0 // indirect + k8s.io/apiserver v0.34.1 // indirect + k8s.io/cluster-bootstrap v0.33.3 // indirect + k8s.io/component-base v0.34.1 // indirect + k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect + sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect + sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect + sigs.k8s.io/randfill v1.0.0 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect + sigs.k8s.io/yaml v1.6.0 // indirect ) replace ( diff --git a/go.sum b/go.sum index 58f63d838a..a9dc0c7cf8 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ al.essio.dev/pkg/shellescape v1.5.1 h1:86HrALUujYS/h+GtqoB26SBEdkWfmMI6FubjXlsXyho= al.essio.dev/pkg/shellescape v1.5.1/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= -cel.dev/expr v0.18.0 h1:CJ6drgk+Hf96lkLikr4rFf19WrU0BOWEihyZnI2TAzo= -cel.dev/expr v0.18.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= +cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= @@ -56,12 +56,16 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= +github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= +github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= +github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= +github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/coredns/caddy v1.1.1 h1:2eYKZT7i6yxIfGP3qLJoJ7HAsDJqYB+X68g4NYjSrE0= github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= -github.com/coredns/corefile-migration v1.0.26 h1:xiiEkVB1Dwolb24pkeDUDBfygV9/XsOSq79yFCrhptY= -github.com/coredns/corefile-migration v1.0.26/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= +github.com/coredns/corefile-migration v1.0.27 h1:WIIw5sU0LfGgoGnhdrYdVcto/aWmJoGA/C62iwkU0JM= +github.com/coredns/corefile-migration v1.0.27/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf h1:iW4rZ826su+pqaw19uhpSCzhj44qo35pNgKFGqzDKkU= @@ -76,16 +80,14 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/docker v28.0.2+incompatible h1:9BILleFwug5FSSqWBgVevgL3ewDJfWWWyZVqlDMttE8= -github.com/docker/docker v28.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v28.3.3+incompatible h1:Dypm25kh4rmk49v1eiVbsAtpAsYURjYkaKubwuBdxEI= +github.com/docker/docker v28.3.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46 h1:7QPwrLT79GlD5sizHf27aoY2RTvw62mO6x7mxkScNk0= github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46/go.mod h1:esf2rsHFNlZlxsqsZDojNBcnNs5REqIvRrWRHqX0vEU= -github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= -github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -100,17 +102,17 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= -github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fullstorydev/grpcurl v1.8.7 h1:xJWosq3BQovQ4QrdPO72OrPiWuGgEsxY8ldYsJbPrqI= github.com/fullstorydev/grpcurl v1.8.7/go.mod h1:pVtM4qe3CMoLaIzYS8uvTuDj2jVYmXqMUkZeijnXp/E= -github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= -github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= @@ -143,14 +145,12 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= -github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= -github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobuffalo/flect v1.0.3 h1:xeWBM2nui+qnVvNM4S3foBhCAL2XgPU+a7FdpelbTq4= github.com/gobuffalo/flect v1.0.3/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= -github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -165,10 +165,10 @@ 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/cel-go v0.22.0 h1:b3FJZxpiv1vTMo2/5RDUqAHPxkT8mmMfJIrq1llbf7g= -github.com/google/cel-go v0.22.0/go.mod h1:BuznPXXfQDpXKWQ9sPW3TzlAJN5zzFe+i9tIs0yC4s8= -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/cel-go v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI= +github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= +github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= +github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= 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= @@ -176,7 +176,6 @@ github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -189,22 +188,14 @@ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 h1:BHT72Gu3keYf3ZEu2J0b1vyeLSOYI8bm5wbJM/8yDe8= github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= -github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 h1:SJ+NtwL6QaZ21U+IrK7d0gGgpjGGvd2kz+FzTHVzdqI= -github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2/go.mod h1:Tv1PlzqC9t8wNnpPdctvtSUOPUUg4SHeE6vR1Ir2hmg= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= -github.com/gorilla/websocket v1.5.3/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 h1:bkypFPDjIYGfCYD5mRBvpqxfYX1YCS1PXdKYWi8FsN0= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0/go.mod h1:P+Lt/0by1T8bfcF3z737NnSbmxQAppXMRziHUxPOC8k= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= @@ -220,8 +211,6 @@ github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2 github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jhump/protoreflect v1.14.0 h1:MBbQK392K3u8NTLbKOCIi3XdI+y+c6yt5oMq0X3xviw= github.com/jhump/protoreflect v1.14.0/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= -github.com/jonboulle/clockwork v0.4.0 h1:p4Cf1aMWXnXAUh8lVfewRBx1zaTSYKrKMF2g3ST4RZ4= -github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -232,10 +221,14 @@ github.com/keploy/go-sdk v0.9.0 h1:kpSNcCTDdELsa1gWyhoD9oV57SgSMbG/wq6Cjp4y7cY= github.com/keploy/go-sdk v0.9.0/go.mod h1:vNKXoFd2MaK+Gly/K6XeP1Hs9dP834C74szH+vtBPwg= 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.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= 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/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= @@ -256,13 +249,18 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= +github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= +github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= +github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= @@ -289,8 +287,8 @@ github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus= github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8= -github.com/onsi/gomega v1.36.3 h1:hID7cr8t3Wp26+cYnfcjR6HpJ00fdogN6dqZ1t6IylU= -github.com/onsi/gomega v1.36.3/go.mod h1:8D9+Txp43QWKhM24yyOBEdpkzN8FvJyAwecBgsU4KU0= +github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY= +github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -306,20 +304,20 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= -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/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.2 h1:YwD0ulJSJytLpiaWua0sBDusfsCZohxjxzVTYjwxfV8= github.com/rivo/uniseg v0.4.2/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -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/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= @@ -330,8 +328,6 @@ github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+D github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= @@ -340,10 +336,11 @@ github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= -github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.20.0 h1:zrxIyR3RQIOsarIrgL8+sAvALXul9jeEPa06Y0Ph6vY= -github.com/spf13/viper v1.20.0/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= +github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M= +github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -361,59 +358,47 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 h1:6fotK7otjonDflCTK0BCfls4SPy3NcCVb5dqqmbRknE= -github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= -github.com/valyala/fastjson v1.6.4 h1:uAUNq9Z6ymTgGhcm0UynUAB6tlbakBrz6CQFax3BXVQ= -github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 h1:S2dVYn90KE98chqDkyE9Z4N61UnQd+KOfgp5Iu53llk= -github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/bbolt v1.3.11 h1:yGEzV1wPz2yVCLsD8ZAiGHhHVlczyC9d1rP43/VCRJ0= -go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= -go.etcd.io/etcd/api/v3 v3.5.20 h1:aKfz3nPZECWoZJXMSH9y6h2adXjtOHaHTGEVCuCmaz0= -go.etcd.io/etcd/api/v3 v3.5.20/go.mod h1:QqKGViq4KTgOG43dr/uH0vmGWIaoJY3ggFi6ZH0TH/U= -go.etcd.io/etcd/client/pkg/v3 v3.5.20 h1:sZIAtra+xCo56gdf6BR62to/hiie5Bwl7hQIqMzVTEM= -go.etcd.io/etcd/client/pkg/v3 v3.5.20/go.mod h1:qaOi1k4ZA9lVLejXNvyPABrVEe7VymMF2433yyRQ7O0= -go.etcd.io/etcd/client/v2 v2.305.16 h1:kQrn9o5czVNaukf2A2At43cE9ZtWauOtf9vRZuiKXow= -go.etcd.io/etcd/client/v2 v2.305.16/go.mod h1:h9YxWCzcdvZENbfzBTFCnoNumr2ax3F19sKMqHFmXHE= -go.etcd.io/etcd/client/v3 v3.5.20 h1:jMT2MwQEhyvhQg49Cec+1ZHJzfUf6ZgcmV0GjPv0tIQ= -go.etcd.io/etcd/client/v3 v3.5.20/go.mod h1:J5lbzYRMUR20YolS5UjlqqMcu3/wdEvG5VNBhzyo3m0= -go.etcd.io/etcd/pkg/v3 v3.5.16 h1:cnavs5WSPWeK4TYwPYfmcr3Joz9BH+TZ6qoUtz6/+mc= -go.etcd.io/etcd/pkg/v3 v3.5.16/go.mod h1:+lutCZHG5MBBFI/U4eYT5yL7sJfnexsoM20Y0t2uNuY= -go.etcd.io/etcd/raft/v3 v3.5.16 h1:zBXA3ZUpYs1AwiLGPafYAKKl/CORn/uaxYDwlNwndAk= -go.etcd.io/etcd/raft/v3 v3.5.16/go.mod h1:P4UP14AxofMJ/54boWilabqqWoW9eLodl6I5GdGzazI= -go.etcd.io/etcd/server/v3 v3.5.16 h1:d0/SAdJ3vVsZvF8IFVb1k8zqMZ+heGcNfft71ul9GWE= -go.etcd.io/etcd/server/v3 v3.5.16/go.mod h1:ynhyZZpdDp1Gq49jkUg5mfkDWZwXnn3eIqCqtJnrD/s= +go.etcd.io/etcd/api/v3 v3.6.4 h1:7F6N7toCKcV72QmoUKa23yYLiiljMrT4xCeBL9BmXdo= +go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= +go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6ok0= +go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= +go.etcd.io/etcd/client/v3 v3.6.4 h1:YOMrCfMhRzY8NgtzUsHl8hC2EBSnuqbR3dh84Uryl7A= +go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= go.keploy.io/server v0.8.6 h1:czE9jaliyAkMMJcYnMPNuu6tun7UgwFbokxEG95vLN4= go.keploy.io/server v0.8.6/go.mod h1:t7BPuZQSiC3PNHZ9dbn3e3VB61HNWwiqVmaRujfDFUg= go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0 h1:r6I7RJCN86bpD/FQwedZ0vSixDpwuWREjW9oRMsmqDc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.54.0/go.mod h1:B9yO6b04uB80CzjedvewuqDhxJxi11s7/GtiGa8bAjI= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8= -go.opentelemetry.io/otel v1.29.0 h1:PdomN/Al4q/lN6iBJEN3AwPvUiHPMlt93c8bqTG5Llw= -go.opentelemetry.io/otel v1.29.0/go.mod h1:N/WtXPs1CNCUEx+Agz5uouwCba+i+bJGFicT8SR4NP8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ= +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.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= +go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= +go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY= -go.opentelemetry.io/otel/metric v1.29.0 h1:vPf/HFWTNkPu1aYeIsc98l4ktOQaL6LeSoeV2g+8YLc= -go.opentelemetry.io/otel/metric v1.29.0/go.mod h1:auu/QWieFVWx+DmQOUMgj0F8LHWdgalxXqvp7BII/W8= -go.opentelemetry.io/otel/sdk v1.29.0 h1:vkqKjk7gwhS8VaWb0POZKmIEDimRCMsopNYnriHyryo= -go.opentelemetry.io/otel/sdk v1.29.0/go.mod h1:pM8Dx5WKnvxLCb+8lG1PRNIDxu9g9b9g59Qr7hfAAok= -go.opentelemetry.io/otel/trace v1.29.0 h1:J/8ZNK4XgR7a21DZUAsbF8pZ5Jcw1VhACmnYt39JTi4= -go.opentelemetry.io/otel/trace v1.29.0/go.mod h1:eHl3w0sp3paPkYstJOmAimxhiFXPg+MMTlEh3nsQgWQ= -go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= -go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= +go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= +go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= +go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= +go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= @@ -426,11 +411,15 @@ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI= +go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -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.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= +golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= @@ -446,8 +435,8 @@ golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc= -golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= +golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= +golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -458,8 +447,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -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.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.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= @@ -476,22 +465,22 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -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.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= -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.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= +golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -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.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= -golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= +golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +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-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -503,8 +492,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.31.0 h1:0EedkvKDbh+qistFTd0Bcwe/YLh4vHwWEkiI0toFIBU= -golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ= +golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= +golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= 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= @@ -518,15 +507,15 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= -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-20241223144023-3abc09e42ca8 h1:TqExAhdPaB60Ux47Cn0oLV07rGnxZzIsaRhQaqS666A= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241223144023-3abc09e42ca8/go.mod h1:lcTa1sDdWEIHMWlITnIczmw5w60CF9ffkb8Z+DVmmjA= +google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950= +google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= 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.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.67.3 h1:OgPcDAFKHnH8X3O4WcO4XUc8GRDeKsKReqbQtiCj7N8= -google.golang.org/grpc v1.67.3/go.mod h1:YGaHCc6Oap+FzBJTZLBzkGSYt/cvGPFTPxkn7QfSU8s= +google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= +google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= 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= @@ -535,8 +524,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -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= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -544,8 +533,6 @@ gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSP gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= -gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -556,43 +543,45 @@ gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= 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.3 h1:Hw7KqxRusq+6QSplE3NYG4MBxZw1BZnq4aP4cJVINls= -k8s.io/api v0.32.3/go.mod h1:2wEDTXADtm/HA7CCMD8D8bK4yuBUptzaRhYcYEEYA3k= -k8s.io/apiextensions-apiserver v0.32.3 h1:4D8vy+9GWerlErCwVIbcQjsWunF9SUGNu7O7hiQTyPY= -k8s.io/apiextensions-apiserver v0.32.3/go.mod h1:8YwcvVRMVzw0r1Stc7XfGAzB/SIVLunqApySV5V7Dss= -k8s.io/apimachinery v0.32.3 h1:JmDuDarhDmA/Li7j3aPrwhpNBA94Nvk5zLeOge9HH1U= -k8s.io/apimachinery v0.32.3/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE= -k8s.io/apiserver v0.32.3 h1:kOw2KBuHOA+wetX1MkmrxgBr648ksz653j26ESuWNY8= -k8s.io/apiserver v0.32.3/go.mod h1:q1x9B8E/WzShF49wh3ADOh6muSfpmFL0I2t+TG0Zdgc= -k8s.io/client-go v0.32.3 h1:RKPVltzopkSgHS7aS98QdscAgtgah/+zmpAogooIqVU= -k8s.io/client-go v0.32.3/go.mod h1:3v0+3k4IcT9bXTc4V2rt+d2ZPPG700Xy6Oi0Gdl2PaY= -k8s.io/cluster-bootstrap v0.32.3 h1:AqIpsUhB6MUeaAsl1WvaUw54AHRd2hfZrESlKChtd8s= -k8s.io/cluster-bootstrap v0.32.3/go.mod h1:CHbBwgOb6liDV6JFUTkx5t85T2xidy0sChBDoyYw344= -k8s.io/component-base v0.32.3 h1:98WJvvMs3QZ2LYHBzvltFSeJjEx7t5+8s71P7M74u8k= -k8s.io/component-base v0.32.3/go.mod h1:LWi9cR+yPAv7cu2X9rZanTiFKB2kHA+JjmhkKjCZRpI= +k8s.io/api v0.34.1 h1:jC+153630BMdlFukegoEL8E/yT7aLyQkIVuwhmwDgJM= +k8s.io/api v0.34.1/go.mod h1:SB80FxFtXn5/gwzCoN6QCtPD7Vbu5w2n1S0J5gFfTYk= +k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= +k8s.io/apiextensions-apiserver v0.34.1/go.mod h1:hP9Rld3zF5Ay2Of3BeEpLAToP+l4s5UlxiHfqRaRcMc= +k8s.io/apimachinery v0.34.1 h1:dTlxFls/eikpJxmAC7MVE8oOeP1zryV7iRyIjB0gky4= +k8s.io/apimachinery v0.34.1/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= +k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= +k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= +k8s.io/client-go v0.34.1 h1:ZUPJKgXsnKwVwmKKdPfw4tB58+7/Ik3CrjOEhsiZ7mY= +k8s.io/client-go v0.34.1/go.mod h1:kA8v0FP+tk6sZA0yKLRG67LWjqufAoSHA2xVGKw9Of8= +k8s.io/cluster-bootstrap v0.33.3 h1:u2NTxJ5CFSBFXaDxLQoOWMly8eni31psVso+caq6uwI= +k8s.io/cluster-bootstrap v0.33.3/go.mod h1:p970f8u8jf273zyQ5raD8WUu2XyAl0SAWOY82o7i/ds= +k8s.io/component-base v0.34.1 h1:v7xFgG+ONhytZNFpIz5/kecwD+sUhVE6HU7qQUiRM4A= +k8s.io/component-base v0.34.1/go.mod h1:mknCpLlTSKHzAQJJnnHVKqjxR7gBeHRv0rPXA7gdtQ0= 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/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro= -k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 h1:CPT0ExVicCzcpeN4baWEV2ko2Z/AsiZgEdwgcfwLgMo= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= -sigs.k8s.io/cluster-api v1.10.3 h1:7tE5xgQJutisgDyeLzaZ9JhDaHGuG3GjPltsFM89BoA= -sigs.k8s.io/cluster-api v1.10.3/go.mod h1:pu1WDn+fdax9aC9ZtDDoXqnO7P3LLjxbKGU/Nzf/DF4= -sigs.k8s.io/cluster-api/test v1.10.3 h1:NFdzowDNIY6Pq+3DQKOdpctnIMk4rWBZCxDyKgo6vzM= -sigs.k8s.io/cluster-api/test v1.10.3/go.mod h1:reUcQ/HTpDDkTXqsZj1BEmn3VzAoABy2XhLaM2XlMQQ= -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/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/kind v0.27.0 h1:PQ3f0iAWNIj66LYkZ1ivhEg/+Zb6UPMbO+qVei/INZA= -sigs.k8s.io/kind v0.27.0/go.mod h1:RZVFmy6qcwlSWwp6xeIUv7kXCPF3i8MXsEXxW/J+gJY= +k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= +k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= +k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y= +k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 h1:jpcvIRr3GLoUoEKRkHKSmGjxb6lWwrBlJsXc+eUYQHM= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= +sigs.k8s.io/cluster-api v1.11.1 h1:7CyGCTxv1p3Y2kRe1ljTj/w4TcdIdWNj0CTBc4i1aBo= +sigs.k8s.io/cluster-api v1.11.1/go.mod h1:zyrjgJ5RbXhwKcAdUlGPNK5YOHpcmxXvur+5I8lkMUQ= +sigs.k8s.io/cluster-api/test v1.11.1 h1:p9tT2HupKHW1URQDsZ3QNdEC/YPc8nrkiV6RCtNgi5k= +sigs.k8s.io/cluster-api/test v1.11.1/go.mod h1:COviHWIKTcip0VADeIh8Rm5bjqzyZ1LuzKBW1EqjJRc= +sigs.k8s.io/controller-runtime v0.22.1 h1:Ah1T7I+0A7ize291nJZdS1CabF/lB4E++WizgV24Eqg= +sigs.k8s.io/controller-runtime v0.22.1/go.mod h1:FwiwRjkRPbiN+zp2QRp7wlTCzbUXxZ/D4OzuQUDwBHY= +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/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= +sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag= -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= -sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= +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/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= +sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= diff --git a/main.go b/main.go index 49fcac0241..b11145f7e4 100644 --- a/main.go +++ b/main.go @@ -38,8 +38,10 @@ import ( "k8s.io/client-go/rest" "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/workqueue" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" - bootstrapv1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1" + bootstrapv1beta1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta1" + bootstrapv1beta2 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta2" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiflags "sigs.k8s.io/cluster-api/util/flags" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/healthz" @@ -61,8 +63,10 @@ var gitCommitHash string func init() { utilruntime.Must(clientgoscheme.AddToScheme(scheme)) - utilruntime.Must(capiv1.AddToScheme(scheme)) - utilruntime.Must(bootstrapv1.AddToScheme(scheme)) + utilruntime.Must(capiv1beta1.AddToScheme(scheme)) + utilruntime.Must(capiv1beta2.AddToScheme(scheme)) + utilruntime.Must(bootstrapv1beta1.AddToScheme(scheme)) + utilruntime.Must(bootstrapv1beta2.AddToScheme(scheme)) utilruntime.Must(infrav1.AddToScheme(scheme)) //+kubebuilder:scaffold:scheme } diff --git a/mocks/ctlclient/cache_mock.go b/mocks/ctlclient/cache_mock.go index ceeb1c0ba6..663e616b54 100644 --- a/mocks/ctlclient/cache_mock.go +++ b/mocks/ctlclient/cache_mock.go @@ -15,7 +15,6 @@ import ( gomock "go.uber.org/mock/gomock" schema "k8s.io/apimachinery/pkg/runtime/schema" - types "k8s.io/apimachinery/pkg/types" cache "sigs.k8s.io/controller-runtime/pkg/cache" client "sigs.k8s.io/controller-runtime/pkg/client" ) @@ -24,6 +23,7 @@ import ( type MockCache struct { ctrl *gomock.Controller recorder *MockCacheMockRecorder + isgomock struct{} } // MockCacheMockRecorder is the mock recorder for MockCache. @@ -44,10 +44,10 @@ func (m *MockCache) EXPECT() *MockCacheMockRecorder { } // Get mocks base method. -func (m *MockCache) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 client.Object, arg3 ...client.GetOption) error { +func (m *MockCache) Get(ctx context.Context, key client.ObjectKey, obj client.Object, opts ...client.GetOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1, arg2} - for _, a := range arg3 { + varargs := []any{ctx, key, obj} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "Get", varargs...) @@ -56,17 +56,17 @@ func (m *MockCache) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 cl } // Get indicates an expected call of Get. -func (mr *MockCacheMockRecorder) Get(arg0, arg1, arg2 any, arg3 ...any) *gomock.Call { +func (mr *MockCacheMockRecorder) Get(ctx, key, obj any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1, arg2}, arg3...) + varargs := append([]any{ctx, key, obj}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockCache)(nil).Get), varargs...) } // GetInformer mocks base method. -func (m *MockCache) GetInformer(arg0 context.Context, arg1 client.Object, arg2 ...cache.InformerGetOption) (cache.Informer, error) { +func (m *MockCache) GetInformer(ctx context.Context, obj client.Object, opts ...cache.InformerGetOption) (cache.Informer, error) { m.ctrl.T.Helper() - varargs := []any{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, obj} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "GetInformer", varargs...) @@ -76,17 +76,17 @@ func (m *MockCache) GetInformer(arg0 context.Context, arg1 client.Object, arg2 . } // GetInformer indicates an expected call of GetInformer. -func (mr *MockCacheMockRecorder) GetInformer(arg0, arg1 any, arg2 ...any) *gomock.Call { +func (mr *MockCacheMockRecorder) GetInformer(ctx, obj any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1}, arg2...) + varargs := append([]any{ctx, obj}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInformer", reflect.TypeOf((*MockCache)(nil).GetInformer), varargs...) } // GetInformerForKind mocks base method. -func (m *MockCache) GetInformerForKind(arg0 context.Context, arg1 schema.GroupVersionKind, arg2 ...cache.InformerGetOption) (cache.Informer, error) { +func (m *MockCache) GetInformerForKind(ctx context.Context, gvk schema.GroupVersionKind, opts ...cache.InformerGetOption) (cache.Informer, error) { m.ctrl.T.Helper() - varargs := []any{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, gvk} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "GetInformerForKind", varargs...) @@ -96,31 +96,31 @@ func (m *MockCache) GetInformerForKind(arg0 context.Context, arg1 schema.GroupVe } // GetInformerForKind indicates an expected call of GetInformerForKind. -func (mr *MockCacheMockRecorder) GetInformerForKind(arg0, arg1 any, arg2 ...any) *gomock.Call { +func (mr *MockCacheMockRecorder) GetInformerForKind(ctx, gvk any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1}, arg2...) + varargs := append([]any{ctx, gvk}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInformerForKind", reflect.TypeOf((*MockCache)(nil).GetInformerForKind), varargs...) } // IndexField mocks base method. -func (m *MockCache) IndexField(arg0 context.Context, arg1 client.Object, arg2 string, arg3 client.IndexerFunc) error { +func (m *MockCache) IndexField(ctx context.Context, obj client.Object, field string, extractValue client.IndexerFunc) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "IndexField", arg0, arg1, arg2, arg3) + ret := m.ctrl.Call(m, "IndexField", ctx, obj, field, extractValue) ret0, _ := ret[0].(error) return ret0 } // IndexField indicates an expected call of IndexField. -func (mr *MockCacheMockRecorder) IndexField(arg0, arg1, arg2, arg3 any) *gomock.Call { +func (mr *MockCacheMockRecorder) IndexField(ctx, obj, field, extractValue any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IndexField", reflect.TypeOf((*MockCache)(nil).IndexField), arg0, arg1, arg2, arg3) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IndexField", reflect.TypeOf((*MockCache)(nil).IndexField), ctx, obj, field, extractValue) } // List mocks base method. -func (m *MockCache) List(arg0 context.Context, arg1 client.ObjectList, arg2 ...client.ListOption) error { +func (m *MockCache) List(ctx context.Context, list client.ObjectList, opts ...client.ListOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, list} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "List", varargs...) @@ -129,50 +129,50 @@ func (m *MockCache) List(arg0 context.Context, arg1 client.ObjectList, arg2 ...c } // List indicates an expected call of List. -func (mr *MockCacheMockRecorder) List(arg0, arg1 any, arg2 ...any) *gomock.Call { +func (mr *MockCacheMockRecorder) List(ctx, list any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1}, arg2...) + varargs := append([]any{ctx, list}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockCache)(nil).List), varargs...) } // RemoveInformer mocks base method. -func (m *MockCache) RemoveInformer(arg0 context.Context, arg1 client.Object) error { +func (m *MockCache) RemoveInformer(ctx context.Context, obj client.Object) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "RemoveInformer", arg0, arg1) + ret := m.ctrl.Call(m, "RemoveInformer", ctx, obj) ret0, _ := ret[0].(error) return ret0 } // RemoveInformer indicates an expected call of RemoveInformer. -func (mr *MockCacheMockRecorder) RemoveInformer(arg0, arg1 any) *gomock.Call { +func (mr *MockCacheMockRecorder) RemoveInformer(ctx, obj any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveInformer", reflect.TypeOf((*MockCache)(nil).RemoveInformer), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveInformer", reflect.TypeOf((*MockCache)(nil).RemoveInformer), ctx, obj) } // Start mocks base method. -func (m *MockCache) Start(arg0 context.Context) error { +func (m *MockCache) Start(ctx context.Context) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Start", arg0) + ret := m.ctrl.Call(m, "Start", ctx) ret0, _ := ret[0].(error) return ret0 } // Start indicates an expected call of Start. -func (mr *MockCacheMockRecorder) Start(arg0 any) *gomock.Call { +func (mr *MockCacheMockRecorder) Start(ctx any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockCache)(nil).Start), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockCache)(nil).Start), ctx) } // WaitForCacheSync mocks base method. -func (m *MockCache) WaitForCacheSync(arg0 context.Context) bool { +func (m *MockCache) WaitForCacheSync(ctx context.Context) bool { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "WaitForCacheSync", arg0) + ret := m.ctrl.Call(m, "WaitForCacheSync", ctx) ret0, _ := ret[0].(bool) return ret0 } // WaitForCacheSync indicates an expected call of WaitForCacheSync. -func (mr *MockCacheMockRecorder) WaitForCacheSync(arg0 any) *gomock.Call { +func (mr *MockCacheMockRecorder) WaitForCacheSync(ctx any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaitForCacheSync", reflect.TypeOf((*MockCache)(nil).WaitForCacheSync), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WaitForCacheSync", reflect.TypeOf((*MockCache)(nil).WaitForCacheSync), ctx) } diff --git a/mocks/ctlclient/client_mock.go b/mocks/ctlclient/client_mock.go index 675ce98465..28d77dc2c3 100644 --- a/mocks/ctlclient/client_mock.go +++ b/mocks/ctlclient/client_mock.go @@ -17,7 +17,6 @@ import ( meta "k8s.io/apimachinery/pkg/api/meta" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" - types "k8s.io/apimachinery/pkg/types" client "sigs.k8s.io/controller-runtime/pkg/client" ) @@ -25,6 +24,7 @@ import ( type MockClient struct { ctrl *gomock.Controller recorder *MockClientMockRecorder + isgomock struct{} } // MockClientMockRecorder is the mock recorder for MockClient. @@ -44,11 +44,30 @@ func (m *MockClient) EXPECT() *MockClientMockRecorder { return m.recorder } +// Apply mocks base method. +func (m *MockClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...client.ApplyOption) error { + m.ctrl.T.Helper() + varargs := []any{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Apply", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Apply indicates an expected call of Apply. +func (mr *MockClientMockRecorder) Apply(ctx, obj any, opts ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockClient)(nil).Apply), varargs...) +} + // Create mocks base method. -func (m *MockClient) Create(arg0 context.Context, arg1 client.Object, arg2 ...client.CreateOption) error { +func (m *MockClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, obj} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "Create", varargs...) @@ -57,17 +76,17 @@ func (m *MockClient) Create(arg0 context.Context, arg1 client.Object, arg2 ...cl } // Create indicates an expected call of Create. -func (mr *MockClientMockRecorder) Create(arg0, arg1 any, arg2 ...any) *gomock.Call { +func (mr *MockClientMockRecorder) Create(ctx, obj any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1}, arg2...) + varargs := append([]any{ctx, obj}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Create", reflect.TypeOf((*MockClient)(nil).Create), varargs...) } // Delete mocks base method. -func (m *MockClient) Delete(arg0 context.Context, arg1 client.Object, arg2 ...client.DeleteOption) error { +func (m *MockClient) Delete(ctx context.Context, obj client.Object, opts ...client.DeleteOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, obj} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "Delete", varargs...) @@ -76,17 +95,17 @@ func (m *MockClient) Delete(arg0 context.Context, arg1 client.Object, arg2 ...cl } // Delete indicates an expected call of Delete. -func (mr *MockClientMockRecorder) Delete(arg0, arg1 any, arg2 ...any) *gomock.Call { +func (mr *MockClientMockRecorder) Delete(ctx, obj any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1}, arg2...) + varargs := append([]any{ctx, obj}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockClient)(nil).Delete), varargs...) } // DeleteAllOf mocks base method. -func (m *MockClient) DeleteAllOf(arg0 context.Context, arg1 client.Object, arg2 ...client.DeleteAllOfOption) error { +func (m *MockClient) DeleteAllOf(ctx context.Context, obj client.Object, opts ...client.DeleteAllOfOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, obj} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "DeleteAllOf", varargs...) @@ -95,17 +114,17 @@ func (m *MockClient) DeleteAllOf(arg0 context.Context, arg1 client.Object, arg2 } // DeleteAllOf indicates an expected call of DeleteAllOf. -func (mr *MockClientMockRecorder) DeleteAllOf(arg0, arg1 any, arg2 ...any) *gomock.Call { +func (mr *MockClientMockRecorder) DeleteAllOf(ctx, obj any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1}, arg2...) + varargs := append([]any{ctx, obj}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllOf", reflect.TypeOf((*MockClient)(nil).DeleteAllOf), varargs...) } // Get mocks base method. -func (m *MockClient) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 client.Object, arg3 ...client.GetOption) error { +func (m *MockClient) Get(ctx context.Context, key client.ObjectKey, obj client.Object, opts ...client.GetOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1, arg2} - for _, a := range arg3 { + varargs := []any{ctx, key, obj} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "Get", varargs...) @@ -114,47 +133,47 @@ func (m *MockClient) Get(arg0 context.Context, arg1 types.NamespacedName, arg2 c } // Get indicates an expected call of Get. -func (mr *MockClientMockRecorder) Get(arg0, arg1, arg2 any, arg3 ...any) *gomock.Call { +func (mr *MockClientMockRecorder) Get(ctx, key, obj any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1, arg2}, arg3...) + varargs := append([]any{ctx, key, obj}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockClient)(nil).Get), varargs...) } // GroupVersionKindFor mocks base method. -func (m *MockClient) GroupVersionKindFor(arg0 runtime.Object) (schema.GroupVersionKind, error) { +func (m *MockClient) GroupVersionKindFor(obj runtime.Object) (schema.GroupVersionKind, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GroupVersionKindFor", arg0) + ret := m.ctrl.Call(m, "GroupVersionKindFor", obj) ret0, _ := ret[0].(schema.GroupVersionKind) ret1, _ := ret[1].(error) return ret0, ret1 } // GroupVersionKindFor indicates an expected call of GroupVersionKindFor. -func (mr *MockClientMockRecorder) GroupVersionKindFor(arg0 any) *gomock.Call { +func (mr *MockClientMockRecorder) GroupVersionKindFor(obj any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GroupVersionKindFor", reflect.TypeOf((*MockClient)(nil).GroupVersionKindFor), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GroupVersionKindFor", reflect.TypeOf((*MockClient)(nil).GroupVersionKindFor), obj) } // IsObjectNamespaced mocks base method. -func (m *MockClient) IsObjectNamespaced(arg0 runtime.Object) (bool, error) { +func (m *MockClient) IsObjectNamespaced(obj runtime.Object) (bool, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "IsObjectNamespaced", arg0) + ret := m.ctrl.Call(m, "IsObjectNamespaced", obj) ret0, _ := ret[0].(bool) ret1, _ := ret[1].(error) return ret0, ret1 } // IsObjectNamespaced indicates an expected call of IsObjectNamespaced. -func (mr *MockClientMockRecorder) IsObjectNamespaced(arg0 any) *gomock.Call { +func (mr *MockClientMockRecorder) IsObjectNamespaced(obj any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsObjectNamespaced", reflect.TypeOf((*MockClient)(nil).IsObjectNamespaced), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsObjectNamespaced", reflect.TypeOf((*MockClient)(nil).IsObjectNamespaced), obj) } // List mocks base method. -func (m *MockClient) List(arg0 context.Context, arg1 client.ObjectList, arg2 ...client.ListOption) error { +func (m *MockClient) List(ctx context.Context, list client.ObjectList, opts ...client.ListOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, list} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "List", varargs...) @@ -163,17 +182,17 @@ func (m *MockClient) List(arg0 context.Context, arg1 client.ObjectList, arg2 ... } // List indicates an expected call of List. -func (mr *MockClientMockRecorder) List(arg0, arg1 any, arg2 ...any) *gomock.Call { +func (mr *MockClientMockRecorder) List(ctx, list any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1}, arg2...) + varargs := append([]any{ctx, list}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockClient)(nil).List), varargs...) } // Patch mocks base method. -func (m *MockClient) Patch(arg0 context.Context, arg1 client.Object, arg2 client.Patch, arg3 ...client.PatchOption) error { +func (m *MockClient) Patch(ctx context.Context, obj client.Object, patch client.Patch, opts ...client.PatchOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1, arg2} - for _, a := range arg3 { + varargs := []any{ctx, obj, patch} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "Patch", varargs...) @@ -182,9 +201,9 @@ func (m *MockClient) Patch(arg0 context.Context, arg1 client.Object, arg2 client } // Patch indicates an expected call of Patch. -func (mr *MockClientMockRecorder) Patch(arg0, arg1, arg2 any, arg3 ...any) *gomock.Call { +func (mr *MockClientMockRecorder) Patch(ctx, obj, patch any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1, arg2}, arg3...) + varargs := append([]any{ctx, obj, patch}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Patch", reflect.TypeOf((*MockClient)(nil).Patch), varargs...) } @@ -231,24 +250,24 @@ func (mr *MockClientMockRecorder) Status() *gomock.Call { } // SubResource mocks base method. -func (m *MockClient) SubResource(arg0 string) client.SubResourceClient { +func (m *MockClient) SubResource(subResource string) client.SubResourceClient { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SubResource", arg0) + ret := m.ctrl.Call(m, "SubResource", subResource) ret0, _ := ret[0].(client.SubResourceClient) return ret0 } // SubResource indicates an expected call of SubResource. -func (mr *MockClientMockRecorder) SubResource(arg0 any) *gomock.Call { +func (mr *MockClientMockRecorder) SubResource(subResource any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubResource", reflect.TypeOf((*MockClient)(nil).SubResource), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubResource", reflect.TypeOf((*MockClient)(nil).SubResource), subResource) } // Update mocks base method. -func (m *MockClient) Update(arg0 context.Context, arg1 client.Object, arg2 ...client.UpdateOption) error { +func (m *MockClient) Update(ctx context.Context, obj client.Object, opts ...client.UpdateOption) error { m.ctrl.T.Helper() - varargs := []any{arg0, arg1} - for _, a := range arg2 { + varargs := []any{ctx, obj} + for _, a := range opts { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "Update", varargs...) @@ -257,8 +276,8 @@ func (m *MockClient) Update(arg0 context.Context, arg1 client.Object, arg2 ...cl } // Update indicates an expected call of Update. -func (mr *MockClientMockRecorder) Update(arg0, arg1 any, arg2 ...any) *gomock.Call { +func (mr *MockClientMockRecorder) Update(ctx, obj any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0, arg1}, arg2...) + varargs := append([]any{ctx, obj}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockClient)(nil).Update), varargs...) } diff --git a/mocks/ctlclient/manager_mock.go b/mocks/ctlclient/manager_mock.go index 2a6521988b..5eec96af7a 100644 --- a/mocks/ctlclient/manager_mock.go +++ b/mocks/ctlclient/manager_mock.go @@ -32,6 +32,7 @@ import ( type MockManager struct { ctrl *gomock.Controller recorder *MockManagerMockRecorder + isgomock struct{} } // MockManagerMockRecorder is the mock recorder for MockManager. @@ -66,45 +67,45 @@ func (mr *MockManagerMockRecorder) Add(arg0 any) *gomock.Call { } // AddHealthzCheck mocks base method. -func (m *MockManager) AddHealthzCheck(arg0 string, arg1 healthz.Checker) error { +func (m *MockManager) AddHealthzCheck(name string, check healthz.Checker) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddHealthzCheck", arg0, arg1) + ret := m.ctrl.Call(m, "AddHealthzCheck", name, check) ret0, _ := ret[0].(error) return ret0 } // AddHealthzCheck indicates an expected call of AddHealthzCheck. -func (mr *MockManagerMockRecorder) AddHealthzCheck(arg0, arg1 any) *gomock.Call { +func (mr *MockManagerMockRecorder) AddHealthzCheck(name, check any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddHealthzCheck", reflect.TypeOf((*MockManager)(nil).AddHealthzCheck), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddHealthzCheck", reflect.TypeOf((*MockManager)(nil).AddHealthzCheck), name, check) } // AddMetricsServerExtraHandler mocks base method. -func (m *MockManager) AddMetricsServerExtraHandler(arg0 string, arg1 http.Handler) error { +func (m *MockManager) AddMetricsServerExtraHandler(path string, handler http.Handler) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddMetricsServerExtraHandler", arg0, arg1) + ret := m.ctrl.Call(m, "AddMetricsServerExtraHandler", path, handler) ret0, _ := ret[0].(error) return ret0 } // AddMetricsServerExtraHandler indicates an expected call of AddMetricsServerExtraHandler. -func (mr *MockManagerMockRecorder) AddMetricsServerExtraHandler(arg0, arg1 any) *gomock.Call { +func (mr *MockManagerMockRecorder) AddMetricsServerExtraHandler(path, handler any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMetricsServerExtraHandler", reflect.TypeOf((*MockManager)(nil).AddMetricsServerExtraHandler), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddMetricsServerExtraHandler", reflect.TypeOf((*MockManager)(nil).AddMetricsServerExtraHandler), path, handler) } // AddReadyzCheck mocks base method. -func (m *MockManager) AddReadyzCheck(arg0 string, arg1 healthz.Checker) error { +func (m *MockManager) AddReadyzCheck(name string, check healthz.Checker) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddReadyzCheck", arg0, arg1) + ret := m.ctrl.Call(m, "AddReadyzCheck", name, check) ret0, _ := ret[0].(error) return ret0 } // AddReadyzCheck indicates an expected call of AddReadyzCheck. -func (mr *MockManagerMockRecorder) AddReadyzCheck(arg0, arg1 any) *gomock.Call { +func (mr *MockManagerMockRecorder) AddReadyzCheck(name, check any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddReadyzCheck", reflect.TypeOf((*MockManager)(nil).AddReadyzCheck), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddReadyzCheck", reflect.TypeOf((*MockManager)(nil).AddReadyzCheck), name, check) } // Elected mocks base method. @@ -192,17 +193,17 @@ func (mr *MockManagerMockRecorder) GetControllerOptions() *gomock.Call { } // GetEventRecorderFor mocks base method. -func (m *MockManager) GetEventRecorderFor(arg0 string) record.EventRecorder { +func (m *MockManager) GetEventRecorderFor(name string) record.EventRecorder { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetEventRecorderFor", arg0) + ret := m.ctrl.Call(m, "GetEventRecorderFor", name) ret0, _ := ret[0].(record.EventRecorder) return ret0 } // GetEventRecorderFor indicates an expected call of GetEventRecorderFor. -func (mr *MockManagerMockRecorder) GetEventRecorderFor(arg0 any) *gomock.Call { +func (mr *MockManagerMockRecorder) GetEventRecorderFor(name any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetEventRecorderFor", reflect.TypeOf((*MockManager)(nil).GetEventRecorderFor), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetEventRecorderFor", reflect.TypeOf((*MockManager)(nil).GetEventRecorderFor), name) } // GetFieldIndexer mocks base method. @@ -290,15 +291,15 @@ func (mr *MockManagerMockRecorder) GetWebhookServer() *gomock.Call { } // Start mocks base method. -func (m *MockManager) Start(arg0 context.Context) error { +func (m *MockManager) Start(ctx context.Context) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Start", arg0) + ret := m.ctrl.Call(m, "Start", ctx) ret0, _ := ret[0].(error) return ret0 } // Start indicates an expected call of Start. -func (mr *MockManagerMockRecorder) Start(arg0 any) *gomock.Call { +func (mr *MockManagerMockRecorder) Start(ctx any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockManager)(nil).Start), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Start", reflect.TypeOf((*MockManager)(nil).Start), ctx) } diff --git a/mocks/k8sapimachinery/interfaces.go b/mocks/k8sapimachinery/interfaces.go index 1a5b357d39..64ecd6e277 100644 --- a/mocks/k8sapimachinery/interfaces.go +++ b/mocks/k8sapimachinery/interfaces.go @@ -21,6 +21,7 @@ import ( type MockRESTMapper struct { ctrl *gomock.Controller recorder *MockRESTMapperMockRecorder + isgomock struct{} } // MockRESTMapperMockRecorder is the mock recorder for MockRESTMapper. @@ -41,40 +42,40 @@ func (m *MockRESTMapper) EXPECT() *MockRESTMapperMockRecorder { } // KindFor mocks base method. -func (m *MockRESTMapper) KindFor(arg0 schema.GroupVersionResource) (schema.GroupVersionKind, error) { +func (m *MockRESTMapper) KindFor(resource schema.GroupVersionResource) (schema.GroupVersionKind, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "KindFor", arg0) + ret := m.ctrl.Call(m, "KindFor", resource) ret0, _ := ret[0].(schema.GroupVersionKind) ret1, _ := ret[1].(error) return ret0, ret1 } // KindFor indicates an expected call of KindFor. -func (mr *MockRESTMapperMockRecorder) KindFor(arg0 any) *gomock.Call { +func (mr *MockRESTMapperMockRecorder) KindFor(resource any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KindFor", reflect.TypeOf((*MockRESTMapper)(nil).KindFor), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KindFor", reflect.TypeOf((*MockRESTMapper)(nil).KindFor), resource) } // KindsFor mocks base method. -func (m *MockRESTMapper) KindsFor(arg0 schema.GroupVersionResource) ([]schema.GroupVersionKind, error) { +func (m *MockRESTMapper) KindsFor(resource schema.GroupVersionResource) ([]schema.GroupVersionKind, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "KindsFor", arg0) + ret := m.ctrl.Call(m, "KindsFor", resource) ret0, _ := ret[0].([]schema.GroupVersionKind) ret1, _ := ret[1].(error) return ret0, ret1 } // KindsFor indicates an expected call of KindsFor. -func (mr *MockRESTMapperMockRecorder) KindsFor(arg0 any) *gomock.Call { +func (mr *MockRESTMapperMockRecorder) KindsFor(resource any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KindsFor", reflect.TypeOf((*MockRESTMapper)(nil).KindsFor), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "KindsFor", reflect.TypeOf((*MockRESTMapper)(nil).KindsFor), resource) } // RESTMapping mocks base method. -func (m *MockRESTMapper) RESTMapping(arg0 schema.GroupKind, arg1 ...string) (*meta.RESTMapping, error) { +func (m *MockRESTMapper) RESTMapping(gk schema.GroupKind, versions ...string) (*meta.RESTMapping, error) { m.ctrl.T.Helper() - varargs := []any{arg0} - for _, a := range arg1 { + varargs := []any{gk} + for _, a := range versions { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "RESTMapping", varargs...) @@ -84,17 +85,17 @@ func (m *MockRESTMapper) RESTMapping(arg0 schema.GroupKind, arg1 ...string) (*me } // RESTMapping indicates an expected call of RESTMapping. -func (mr *MockRESTMapperMockRecorder) RESTMapping(arg0 any, arg1 ...any) *gomock.Call { +func (mr *MockRESTMapperMockRecorder) RESTMapping(gk any, versions ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0}, arg1...) + varargs := append([]any{gk}, versions...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RESTMapping", reflect.TypeOf((*MockRESTMapper)(nil).RESTMapping), varargs...) } // RESTMappings mocks base method. -func (m *MockRESTMapper) RESTMappings(arg0 schema.GroupKind, arg1 ...string) ([]*meta.RESTMapping, error) { +func (m *MockRESTMapper) RESTMappings(gk schema.GroupKind, versions ...string) ([]*meta.RESTMapping, error) { m.ctrl.T.Helper() - varargs := []any{arg0} - for _, a := range arg1 { + varargs := []any{gk} + for _, a := range versions { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "RESTMappings", varargs...) @@ -104,61 +105,62 @@ func (m *MockRESTMapper) RESTMappings(arg0 schema.GroupKind, arg1 ...string) ([] } // RESTMappings indicates an expected call of RESTMappings. -func (mr *MockRESTMapperMockRecorder) RESTMappings(arg0 any, arg1 ...any) *gomock.Call { +func (mr *MockRESTMapperMockRecorder) RESTMappings(gk any, versions ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{arg0}, arg1...) + varargs := append([]any{gk}, versions...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RESTMappings", reflect.TypeOf((*MockRESTMapper)(nil).RESTMappings), varargs...) } // ResourceFor mocks base method. -func (m *MockRESTMapper) ResourceFor(arg0 schema.GroupVersionResource) (schema.GroupVersionResource, error) { +func (m *MockRESTMapper) ResourceFor(input schema.GroupVersionResource) (schema.GroupVersionResource, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ResourceFor", arg0) + ret := m.ctrl.Call(m, "ResourceFor", input) ret0, _ := ret[0].(schema.GroupVersionResource) ret1, _ := ret[1].(error) return ret0, ret1 } // ResourceFor indicates an expected call of ResourceFor. -func (mr *MockRESTMapperMockRecorder) ResourceFor(arg0 any) *gomock.Call { +func (mr *MockRESTMapperMockRecorder) ResourceFor(input any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResourceFor", reflect.TypeOf((*MockRESTMapper)(nil).ResourceFor), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResourceFor", reflect.TypeOf((*MockRESTMapper)(nil).ResourceFor), input) } // ResourceSingularizer mocks base method. -func (m *MockRESTMapper) ResourceSingularizer(arg0 string) (string, error) { +func (m *MockRESTMapper) ResourceSingularizer(resource string) (string, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ResourceSingularizer", arg0) + ret := m.ctrl.Call(m, "ResourceSingularizer", resource) ret0, _ := ret[0].(string) ret1, _ := ret[1].(error) return ret0, ret1 } // ResourceSingularizer indicates an expected call of ResourceSingularizer. -func (mr *MockRESTMapperMockRecorder) ResourceSingularizer(arg0 any) *gomock.Call { +func (mr *MockRESTMapperMockRecorder) ResourceSingularizer(resource any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResourceSingularizer", reflect.TypeOf((*MockRESTMapper)(nil).ResourceSingularizer), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResourceSingularizer", reflect.TypeOf((*MockRESTMapper)(nil).ResourceSingularizer), resource) } // ResourcesFor mocks base method. -func (m *MockRESTMapper) ResourcesFor(arg0 schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { +func (m *MockRESTMapper) ResourcesFor(input schema.GroupVersionResource) ([]schema.GroupVersionResource, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ResourcesFor", arg0) + ret := m.ctrl.Call(m, "ResourcesFor", input) ret0, _ := ret[0].([]schema.GroupVersionResource) ret1, _ := ret[1].(error) return ret0, ret1 } // ResourcesFor indicates an expected call of ResourcesFor. -func (mr *MockRESTMapperMockRecorder) ResourcesFor(arg0 any) *gomock.Call { +func (mr *MockRESTMapperMockRecorder) ResourcesFor(input any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResourcesFor", reflect.TypeOf((*MockRESTMapper)(nil).ResourcesFor), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResourcesFor", reflect.TypeOf((*MockRESTMapper)(nil).ResourcesFor), input) } // MockRESTScope is a mock of RESTScope interface. type MockRESTScope struct { ctrl *gomock.Controller recorder *MockRESTScopeMockRecorder + isgomock struct{} } // MockRESTScopeMockRecorder is the mock recorder for MockRESTScope. diff --git a/mocks/k8sclient/informer.go b/mocks/k8sclient/informer.go index f3ba48521e..5c110ef1a5 100644 --- a/mocks/k8sclient/informer.go +++ b/mocks/k8sclient/informer.go @@ -21,6 +21,7 @@ import ( type MockConfigMapInformer struct { ctrl *gomock.Controller recorder *MockConfigMapInformerMockRecorder + isgomock struct{} } // MockConfigMapInformerMockRecorder is the mock recorder for MockConfigMapInformer. @@ -72,6 +73,7 @@ func (mr *MockConfigMapInformerMockRecorder) Lister() *gomock.Call { type MockSecretInformer struct { ctrl *gomock.Controller recorder *MockSecretInformerMockRecorder + isgomock struct{} } // MockSecretInformerMockRecorder is the mock recorder for MockSecretInformer. diff --git a/mocks/k8sclient/lister.go b/mocks/k8sclient/lister.go index 721ddff119..ca2b1dbe60 100644 --- a/mocks/k8sclient/lister.go +++ b/mocks/k8sclient/lister.go @@ -22,6 +22,7 @@ import ( type MockSecretLister struct { ctrl *gomock.Controller recorder *MockSecretListerMockRecorder + isgomock struct{} } // MockSecretListerMockRecorder is the mock recorder for MockSecretLister. @@ -42,38 +43,39 @@ func (m *MockSecretLister) EXPECT() *MockSecretListerMockRecorder { } // List mocks base method. -func (m *MockSecretLister) List(arg0 labels.Selector) ([]*v1.Secret, error) { +func (m *MockSecretLister) List(selector labels.Selector) ([]*v1.Secret, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "List", arg0) + ret := m.ctrl.Call(m, "List", selector) ret0, _ := ret[0].([]*v1.Secret) ret1, _ := ret[1].(error) return ret0, ret1 } // List indicates an expected call of List. -func (mr *MockSecretListerMockRecorder) List(arg0 any) *gomock.Call { +func (mr *MockSecretListerMockRecorder) List(selector any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockSecretLister)(nil).List), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockSecretLister)(nil).List), selector) } // Secrets mocks base method. -func (m *MockSecretLister) Secrets(arg0 string) v10.SecretNamespaceLister { +func (m *MockSecretLister) Secrets(namespace string) v10.SecretNamespaceLister { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Secrets", arg0) + ret := m.ctrl.Call(m, "Secrets", namespace) ret0, _ := ret[0].(v10.SecretNamespaceLister) return ret0 } // Secrets indicates an expected call of Secrets. -func (mr *MockSecretListerMockRecorder) Secrets(arg0 any) *gomock.Call { +func (mr *MockSecretListerMockRecorder) Secrets(namespace any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Secrets", reflect.TypeOf((*MockSecretLister)(nil).Secrets), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Secrets", reflect.TypeOf((*MockSecretLister)(nil).Secrets), namespace) } // MockSecretNamespaceLister is a mock of SecretNamespaceLister interface. type MockSecretNamespaceLister struct { ctrl *gomock.Controller recorder *MockSecretNamespaceListerMockRecorder + isgomock struct{} } // MockSecretNamespaceListerMockRecorder is the mock recorder for MockSecretNamespaceLister. @@ -94,31 +96,31 @@ func (m *MockSecretNamespaceLister) EXPECT() *MockSecretNamespaceListerMockRecor } // Get mocks base method. -func (m *MockSecretNamespaceLister) Get(arg0 string) (*v1.Secret, error) { +func (m *MockSecretNamespaceLister) Get(name string) (*v1.Secret, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Get", arg0) + ret := m.ctrl.Call(m, "Get", name) ret0, _ := ret[0].(*v1.Secret) ret1, _ := ret[1].(error) return ret0, ret1 } // Get indicates an expected call of Get. -func (mr *MockSecretNamespaceListerMockRecorder) Get(arg0 any) *gomock.Call { +func (mr *MockSecretNamespaceListerMockRecorder) Get(name any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockSecretNamespaceLister)(nil).Get), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockSecretNamespaceLister)(nil).Get), name) } // List mocks base method. -func (m *MockSecretNamespaceLister) List(arg0 labels.Selector) ([]*v1.Secret, error) { +func (m *MockSecretNamespaceLister) List(selector labels.Selector) ([]*v1.Secret, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "List", arg0) + ret := m.ctrl.Call(m, "List", selector) ret0, _ := ret[0].([]*v1.Secret) ret1, _ := ret[1].(error) return ret0, ret1 } // List indicates an expected call of List. -func (mr *MockSecretNamespaceListerMockRecorder) List(arg0 any) *gomock.Call { +func (mr *MockSecretNamespaceListerMockRecorder) List(selector any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockSecretNamespaceLister)(nil).List), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockSecretNamespaceLister)(nil).List), selector) } diff --git a/mocks/nutanix/v3.go b/mocks/nutanix/v3.go index 90ed3e521e..62bd808872 100644 --- a/mocks/nutanix/v3.go +++ b/mocks/nutanix/v3.go @@ -23,6 +23,7 @@ import ( type MockService struct { ctrl *gomock.Controller recorder *MockServiceMockRecorder + isgomock struct{} } // MockServiceMockRecorder is the mock recorder for MockService. @@ -43,1656 +44,1656 @@ func (m *MockService) EXPECT() *MockServiceMockRecorder { } // CreateAccessControlPolicy mocks base method. -func (m *MockService) CreateAccessControlPolicy(arg0 context.Context, arg1 *v3.AccessControlPolicy) (*v3.AccessControlPolicy, error) { +func (m *MockService) CreateAccessControlPolicy(ctx context.Context, request *v3.AccessControlPolicy) (*v3.AccessControlPolicy, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateAccessControlPolicy", arg0, arg1) + ret := m.ctrl.Call(m, "CreateAccessControlPolicy", ctx, request) ret0, _ := ret[0].(*v3.AccessControlPolicy) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateAccessControlPolicy indicates an expected call of CreateAccessControlPolicy. -func (mr *MockServiceMockRecorder) CreateAccessControlPolicy(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateAccessControlPolicy(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessControlPolicy", reflect.TypeOf((*MockService)(nil).CreateAccessControlPolicy), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAccessControlPolicy", reflect.TypeOf((*MockService)(nil).CreateAccessControlPolicy), ctx, request) } // CreateAddressGroup mocks base method. -func (m *MockService) CreateAddressGroup(arg0 context.Context, arg1 *v3.AddressGroupInput) (*v3.Reference, error) { +func (m *MockService) CreateAddressGroup(ctx context.Context, request *v3.AddressGroupInput) (*v3.Reference, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateAddressGroup", arg0, arg1) + ret := m.ctrl.Call(m, "CreateAddressGroup", ctx, request) ret0, _ := ret[0].(*v3.Reference) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateAddressGroup indicates an expected call of CreateAddressGroup. -func (mr *MockServiceMockRecorder) CreateAddressGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateAddressGroup(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAddressGroup", reflect.TypeOf((*MockService)(nil).CreateAddressGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAddressGroup", reflect.TypeOf((*MockService)(nil).CreateAddressGroup), ctx, request) } // CreateImage mocks base method. -func (m *MockService) CreateImage(arg0 context.Context, arg1 *v3.ImageIntentInput) (*v3.ImageIntentResponse, error) { +func (m *MockService) CreateImage(ctx context.Context, createRequest *v3.ImageIntentInput) (*v3.ImageIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateImage", arg0, arg1) + ret := m.ctrl.Call(m, "CreateImage", ctx, createRequest) ret0, _ := ret[0].(*v3.ImageIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateImage indicates an expected call of CreateImage. -func (mr *MockServiceMockRecorder) CreateImage(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateImage(ctx, createRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateImage", reflect.TypeOf((*MockService)(nil).CreateImage), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateImage", reflect.TypeOf((*MockService)(nil).CreateImage), ctx, createRequest) } // CreateNetworkSecurityRule mocks base method. -func (m *MockService) CreateNetworkSecurityRule(arg0 context.Context, arg1 *v3.NetworkSecurityRuleIntentInput) (*v3.NetworkSecurityRuleIntentResponse, error) { +func (m *MockService) CreateNetworkSecurityRule(ctx context.Context, request *v3.NetworkSecurityRuleIntentInput) (*v3.NetworkSecurityRuleIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateNetworkSecurityRule", arg0, arg1) + ret := m.ctrl.Call(m, "CreateNetworkSecurityRule", ctx, request) ret0, _ := ret[0].(*v3.NetworkSecurityRuleIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateNetworkSecurityRule indicates an expected call of CreateNetworkSecurityRule. -func (mr *MockServiceMockRecorder) CreateNetworkSecurityRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateNetworkSecurityRule(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).CreateNetworkSecurityRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).CreateNetworkSecurityRule), ctx, request) } // CreateOrUpdateCategoryKey mocks base method. -func (m *MockService) CreateOrUpdateCategoryKey(arg0 context.Context, arg1 *v3.CategoryKey) (*v3.CategoryKeyStatus, error) { +func (m *MockService) CreateOrUpdateCategoryKey(ctx context.Context, body *v3.CategoryKey) (*v3.CategoryKeyStatus, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateOrUpdateCategoryKey", arg0, arg1) + ret := m.ctrl.Call(m, "CreateOrUpdateCategoryKey", ctx, body) ret0, _ := ret[0].(*v3.CategoryKeyStatus) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateOrUpdateCategoryKey indicates an expected call of CreateOrUpdateCategoryKey. -func (mr *MockServiceMockRecorder) CreateOrUpdateCategoryKey(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateOrUpdateCategoryKey(ctx, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdateCategoryKey", reflect.TypeOf((*MockService)(nil).CreateOrUpdateCategoryKey), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdateCategoryKey", reflect.TypeOf((*MockService)(nil).CreateOrUpdateCategoryKey), ctx, body) } // CreateOrUpdateCategoryValue mocks base method. -func (m *MockService) CreateOrUpdateCategoryValue(arg0 context.Context, arg1 string, arg2 *v3.CategoryValue) (*v3.CategoryValueStatus, error) { +func (m *MockService) CreateOrUpdateCategoryValue(ctx context.Context, name string, body *v3.CategoryValue) (*v3.CategoryValueStatus, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateOrUpdateCategoryValue", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "CreateOrUpdateCategoryValue", ctx, name, body) ret0, _ := ret[0].(*v3.CategoryValueStatus) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateOrUpdateCategoryValue indicates an expected call of CreateOrUpdateCategoryValue. -func (mr *MockServiceMockRecorder) CreateOrUpdateCategoryValue(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateOrUpdateCategoryValue(ctx, name, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdateCategoryValue", reflect.TypeOf((*MockService)(nil).CreateOrUpdateCategoryValue), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdateCategoryValue", reflect.TypeOf((*MockService)(nil).CreateOrUpdateCategoryValue), ctx, name, body) } // CreateProject mocks base method. -func (m *MockService) CreateProject(arg0 context.Context, arg1 *v3.Project) (*v3.Project, error) { +func (m *MockService) CreateProject(ctx context.Context, request *v3.Project) (*v3.Project, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateProject", arg0, arg1) + ret := m.ctrl.Call(m, "CreateProject", ctx, request) ret0, _ := ret[0].(*v3.Project) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateProject indicates an expected call of CreateProject. -func (mr *MockServiceMockRecorder) CreateProject(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateProject(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProject", reflect.TypeOf((*MockService)(nil).CreateProject), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProject", reflect.TypeOf((*MockService)(nil).CreateProject), ctx, request) } // CreateProtectionRule mocks base method. -func (m *MockService) CreateProtectionRule(arg0 context.Context, arg1 *v3.ProtectionRuleInput) (*v3.ProtectionRuleResponse, error) { +func (m *MockService) CreateProtectionRule(ctx context.Context, request *v3.ProtectionRuleInput) (*v3.ProtectionRuleResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateProtectionRule", arg0, arg1) + ret := m.ctrl.Call(m, "CreateProtectionRule", ctx, request) ret0, _ := ret[0].(*v3.ProtectionRuleResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateProtectionRule indicates an expected call of CreateProtectionRule. -func (mr *MockServiceMockRecorder) CreateProtectionRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateProtectionRule(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProtectionRule", reflect.TypeOf((*MockService)(nil).CreateProtectionRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateProtectionRule", reflect.TypeOf((*MockService)(nil).CreateProtectionRule), ctx, request) } // CreateRecoveryPlan mocks base method. -func (m *MockService) CreateRecoveryPlan(arg0 context.Context, arg1 *v3.RecoveryPlanInput) (*v3.RecoveryPlanResponse, error) { +func (m *MockService) CreateRecoveryPlan(ctx context.Context, request *v3.RecoveryPlanInput) (*v3.RecoveryPlanResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateRecoveryPlan", arg0, arg1) + ret := m.ctrl.Call(m, "CreateRecoveryPlan", ctx, request) ret0, _ := ret[0].(*v3.RecoveryPlanResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateRecoveryPlan indicates an expected call of CreateRecoveryPlan. -func (mr *MockServiceMockRecorder) CreateRecoveryPlan(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateRecoveryPlan(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRecoveryPlan", reflect.TypeOf((*MockService)(nil).CreateRecoveryPlan), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRecoveryPlan", reflect.TypeOf((*MockService)(nil).CreateRecoveryPlan), ctx, request) } // CreateRecoveryPlanJob mocks base method. -func (m *MockService) CreateRecoveryPlanJob(arg0 context.Context, arg1 *v3.RecoveryPlanJobIntentInput) (*v3.RecoveryPlanJobResponse, error) { +func (m *MockService) CreateRecoveryPlanJob(ctx context.Context, request *v3.RecoveryPlanJobIntentInput) (*v3.RecoveryPlanJobResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateRecoveryPlanJob", arg0, arg1) + ret := m.ctrl.Call(m, "CreateRecoveryPlanJob", ctx, request) ret0, _ := ret[0].(*v3.RecoveryPlanJobResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateRecoveryPlanJob indicates an expected call of CreateRecoveryPlanJob. -func (mr *MockServiceMockRecorder) CreateRecoveryPlanJob(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateRecoveryPlanJob(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRecoveryPlanJob", reflect.TypeOf((*MockService)(nil).CreateRecoveryPlanJob), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRecoveryPlanJob", reflect.TypeOf((*MockService)(nil).CreateRecoveryPlanJob), ctx, request) } // CreateRole mocks base method. -func (m *MockService) CreateRole(arg0 context.Context, arg1 *v3.Role) (*v3.Role, error) { +func (m *MockService) CreateRole(ctx context.Context, request *v3.Role) (*v3.Role, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateRole", arg0, arg1) + ret := m.ctrl.Call(m, "CreateRole", ctx, request) ret0, _ := ret[0].(*v3.Role) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateRole indicates an expected call of CreateRole. -func (mr *MockServiceMockRecorder) CreateRole(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateRole(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRole", reflect.TypeOf((*MockService)(nil).CreateRole), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRole", reflect.TypeOf((*MockService)(nil).CreateRole), ctx, request) } // CreateServiceGroup mocks base method. -func (m *MockService) CreateServiceGroup(arg0 context.Context, arg1 *v3.ServiceGroupInput) (*v3.Reference, error) { +func (m *MockService) CreateServiceGroup(ctx context.Context, request *v3.ServiceGroupInput) (*v3.Reference, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateServiceGroup", arg0, arg1) + ret := m.ctrl.Call(m, "CreateServiceGroup", ctx, request) ret0, _ := ret[0].(*v3.Reference) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateServiceGroup indicates an expected call of CreateServiceGroup. -func (mr *MockServiceMockRecorder) CreateServiceGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateServiceGroup(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateServiceGroup", reflect.TypeOf((*MockService)(nil).CreateServiceGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateServiceGroup", reflect.TypeOf((*MockService)(nil).CreateServiceGroup), ctx, request) } // CreateSubnet mocks base method. -func (m *MockService) CreateSubnet(arg0 context.Context, arg1 *v3.SubnetIntentInput) (*v3.SubnetIntentResponse, error) { +func (m *MockService) CreateSubnet(ctx context.Context, createRequest *v3.SubnetIntentInput) (*v3.SubnetIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateSubnet", arg0, arg1) + ret := m.ctrl.Call(m, "CreateSubnet", ctx, createRequest) ret0, _ := ret[0].(*v3.SubnetIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateSubnet indicates an expected call of CreateSubnet. -func (mr *MockServiceMockRecorder) CreateSubnet(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateSubnet(ctx, createRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSubnet", reflect.TypeOf((*MockService)(nil).CreateSubnet), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSubnet", reflect.TypeOf((*MockService)(nil).CreateSubnet), ctx, createRequest) } // CreateUser mocks base method. -func (m *MockService) CreateUser(arg0 context.Context, arg1 *v3.UserIntentInput) (*v3.UserIntentResponse, error) { +func (m *MockService) CreateUser(ctx context.Context, request *v3.UserIntentInput) (*v3.UserIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateUser", arg0, arg1) + ret := m.ctrl.Call(m, "CreateUser", ctx, request) ret0, _ := ret[0].(*v3.UserIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateUser indicates an expected call of CreateUser. -func (mr *MockServiceMockRecorder) CreateUser(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateUser(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateUser", reflect.TypeOf((*MockService)(nil).CreateUser), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateUser", reflect.TypeOf((*MockService)(nil).CreateUser), ctx, request) } // CreateVM mocks base method. -func (m *MockService) CreateVM(arg0 context.Context, arg1 *v3.VMIntentInput) (*v3.VMIntentResponse, error) { +func (m *MockService) CreateVM(ctx context.Context, createRequest *v3.VMIntentInput) (*v3.VMIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateVM", arg0, arg1) + ret := m.ctrl.Call(m, "CreateVM", ctx, createRequest) ret0, _ := ret[0].(*v3.VMIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateVM indicates an expected call of CreateVM. -func (mr *MockServiceMockRecorder) CreateVM(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateVM(ctx, createRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVM", reflect.TypeOf((*MockService)(nil).CreateVM), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVM", reflect.TypeOf((*MockService)(nil).CreateVM), ctx, createRequest) } // CreateVolumeGroup mocks base method. -func (m *MockService) CreateVolumeGroup(arg0 context.Context, arg1 *v3.VolumeGroupInput) (*v3.VolumeGroupResponse, error) { +func (m *MockService) CreateVolumeGroup(ctx context.Context, request *v3.VolumeGroupInput) (*v3.VolumeGroupResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateVolumeGroup", arg0, arg1) + ret := m.ctrl.Call(m, "CreateVolumeGroup", ctx, request) ret0, _ := ret[0].(*v3.VolumeGroupResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // CreateVolumeGroup indicates an expected call of CreateVolumeGroup. -func (mr *MockServiceMockRecorder) CreateVolumeGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) CreateVolumeGroup(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVolumeGroup", reflect.TypeOf((*MockService)(nil).CreateVolumeGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateVolumeGroup", reflect.TypeOf((*MockService)(nil).CreateVolumeGroup), ctx, request) } // DeleteAccessControlPolicy mocks base method. -func (m *MockService) DeleteAccessControlPolicy(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteAccessControlPolicy(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteAccessControlPolicy", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteAccessControlPolicy", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteAccessControlPolicy indicates an expected call of DeleteAccessControlPolicy. -func (mr *MockServiceMockRecorder) DeleteAccessControlPolicy(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteAccessControlPolicy(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessControlPolicy", reflect.TypeOf((*MockService)(nil).DeleteAccessControlPolicy), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAccessControlPolicy", reflect.TypeOf((*MockService)(nil).DeleteAccessControlPolicy), ctx, uuid) } // DeleteAddressGroup mocks base method. -func (m *MockService) DeleteAddressGroup(arg0 context.Context, arg1 string) error { +func (m *MockService) DeleteAddressGroup(ctx context.Context, uuid string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteAddressGroup", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteAddressGroup", ctx, uuid) ret0, _ := ret[0].(error) return ret0 } // DeleteAddressGroup indicates an expected call of DeleteAddressGroup. -func (mr *MockServiceMockRecorder) DeleteAddressGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteAddressGroup(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAddressGroup", reflect.TypeOf((*MockService)(nil).DeleteAddressGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAddressGroup", reflect.TypeOf((*MockService)(nil).DeleteAddressGroup), ctx, uuid) } // DeleteCategoryKey mocks base method. -func (m *MockService) DeleteCategoryKey(arg0 context.Context, arg1 string) error { +func (m *MockService) DeleteCategoryKey(ctx context.Context, name string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteCategoryKey", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteCategoryKey", ctx, name) ret0, _ := ret[0].(error) return ret0 } // DeleteCategoryKey indicates an expected call of DeleteCategoryKey. -func (mr *MockServiceMockRecorder) DeleteCategoryKey(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteCategoryKey(ctx, name any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCategoryKey", reflect.TypeOf((*MockService)(nil).DeleteCategoryKey), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCategoryKey", reflect.TypeOf((*MockService)(nil).DeleteCategoryKey), ctx, name) } // DeleteCategoryValue mocks base method. -func (m *MockService) DeleteCategoryValue(arg0 context.Context, arg1, arg2 string) error { +func (m *MockService) DeleteCategoryValue(ctx context.Context, name, value string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteCategoryValue", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "DeleteCategoryValue", ctx, name, value) ret0, _ := ret[0].(error) return ret0 } // DeleteCategoryValue indicates an expected call of DeleteCategoryValue. -func (mr *MockServiceMockRecorder) DeleteCategoryValue(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteCategoryValue(ctx, name, value any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCategoryValue", reflect.TypeOf((*MockService)(nil).DeleteCategoryValue), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCategoryValue", reflect.TypeOf((*MockService)(nil).DeleteCategoryValue), ctx, name, value) } // DeleteImage mocks base method. -func (m *MockService) DeleteImage(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteImage(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteImage", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteImage", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteImage indicates an expected call of DeleteImage. -func (mr *MockServiceMockRecorder) DeleteImage(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteImage(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteImage", reflect.TypeOf((*MockService)(nil).DeleteImage), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteImage", reflect.TypeOf((*MockService)(nil).DeleteImage), ctx, uuid) } // DeleteNetworkSecurityRule mocks base method. -func (m *MockService) DeleteNetworkSecurityRule(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteNetworkSecurityRule(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteNetworkSecurityRule", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteNetworkSecurityRule", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteNetworkSecurityRule indicates an expected call of DeleteNetworkSecurityRule. -func (mr *MockServiceMockRecorder) DeleteNetworkSecurityRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteNetworkSecurityRule(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).DeleteNetworkSecurityRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).DeleteNetworkSecurityRule), ctx, uuid) } // DeleteProject mocks base method. -func (m *MockService) DeleteProject(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteProject(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteProject", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteProject", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteProject indicates an expected call of DeleteProject. -func (mr *MockServiceMockRecorder) DeleteProject(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteProject(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProject", reflect.TypeOf((*MockService)(nil).DeleteProject), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProject", reflect.TypeOf((*MockService)(nil).DeleteProject), ctx, uuid) } // DeleteProtectionRule mocks base method. -func (m *MockService) DeleteProtectionRule(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteProtectionRule(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteProtectionRule", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteProtectionRule", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteProtectionRule indicates an expected call of DeleteProtectionRule. -func (mr *MockServiceMockRecorder) DeleteProtectionRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteProtectionRule(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProtectionRule", reflect.TypeOf((*MockService)(nil).DeleteProtectionRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteProtectionRule", reflect.TypeOf((*MockService)(nil).DeleteProtectionRule), ctx, uuid) } // DeleteRecoveryPlan mocks base method. -func (m *MockService) DeleteRecoveryPlan(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteRecoveryPlan(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteRecoveryPlan", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteRecoveryPlan", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteRecoveryPlan indicates an expected call of DeleteRecoveryPlan. -func (mr *MockServiceMockRecorder) DeleteRecoveryPlan(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteRecoveryPlan(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRecoveryPlan", reflect.TypeOf((*MockService)(nil).DeleteRecoveryPlan), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRecoveryPlan", reflect.TypeOf((*MockService)(nil).DeleteRecoveryPlan), ctx, uuid) } // DeleteRecoveryPlanJob mocks base method. -func (m *MockService) DeleteRecoveryPlanJob(arg0 context.Context, arg1 string) error { +func (m *MockService) DeleteRecoveryPlanJob(ctx context.Context, uuid string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteRecoveryPlanJob", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteRecoveryPlanJob", ctx, uuid) ret0, _ := ret[0].(error) return ret0 } // DeleteRecoveryPlanJob indicates an expected call of DeleteRecoveryPlanJob. -func (mr *MockServiceMockRecorder) DeleteRecoveryPlanJob(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteRecoveryPlanJob(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRecoveryPlanJob", reflect.TypeOf((*MockService)(nil).DeleteRecoveryPlanJob), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRecoveryPlanJob", reflect.TypeOf((*MockService)(nil).DeleteRecoveryPlanJob), ctx, uuid) } // DeleteRole mocks base method. -func (m *MockService) DeleteRole(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteRole(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteRole", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteRole", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteRole indicates an expected call of DeleteRole. -func (mr *MockServiceMockRecorder) DeleteRole(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteRole(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRole", reflect.TypeOf((*MockService)(nil).DeleteRole), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteRole", reflect.TypeOf((*MockService)(nil).DeleteRole), ctx, uuid) } // DeleteServiceGroup mocks base method. -func (m *MockService) DeleteServiceGroup(arg0 context.Context, arg1 string) error { +func (m *MockService) DeleteServiceGroup(ctx context.Context, uuid string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteServiceGroup", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteServiceGroup", ctx, uuid) ret0, _ := ret[0].(error) return ret0 } // DeleteServiceGroup indicates an expected call of DeleteServiceGroup. -func (mr *MockServiceMockRecorder) DeleteServiceGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteServiceGroup(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteServiceGroup", reflect.TypeOf((*MockService)(nil).DeleteServiceGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteServiceGroup", reflect.TypeOf((*MockService)(nil).DeleteServiceGroup), ctx, uuid) } // DeleteSubnet mocks base method. -func (m *MockService) DeleteSubnet(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteSubnet(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteSubnet", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteSubnet", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteSubnet indicates an expected call of DeleteSubnet. -func (mr *MockServiceMockRecorder) DeleteSubnet(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteSubnet(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSubnet", reflect.TypeOf((*MockService)(nil).DeleteSubnet), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSubnet", reflect.TypeOf((*MockService)(nil).DeleteSubnet), ctx, uuid) } // DeleteUser mocks base method. -func (m *MockService) DeleteUser(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteUser(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteUser", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteUser", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteUser indicates an expected call of DeleteUser. -func (mr *MockServiceMockRecorder) DeleteUser(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteUser(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUser", reflect.TypeOf((*MockService)(nil).DeleteUser), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteUser", reflect.TypeOf((*MockService)(nil).DeleteUser), ctx, uuid) } // DeleteVM mocks base method. -func (m *MockService) DeleteVM(arg0 context.Context, arg1 string) (*v3.DeleteResponse, error) { +func (m *MockService) DeleteVM(ctx context.Context, uuid string) (*v3.DeleteResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteVM", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteVM", ctx, uuid) ret0, _ := ret[0].(*v3.DeleteResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // DeleteVM indicates an expected call of DeleteVM. -func (mr *MockServiceMockRecorder) DeleteVM(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteVM(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVM", reflect.TypeOf((*MockService)(nil).DeleteVM), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVM", reflect.TypeOf((*MockService)(nil).DeleteVM), ctx, uuid) } // DeleteVolumeGroup mocks base method. -func (m *MockService) DeleteVolumeGroup(arg0 context.Context, arg1 string) error { +func (m *MockService) DeleteVolumeGroup(ctx context.Context, uuid string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteVolumeGroup", arg0, arg1) + ret := m.ctrl.Call(m, "DeleteVolumeGroup", ctx, uuid) ret0, _ := ret[0].(error) return ret0 } // DeleteVolumeGroup indicates an expected call of DeleteVolumeGroup. -func (mr *MockServiceMockRecorder) DeleteVolumeGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) DeleteVolumeGroup(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVolumeGroup", reflect.TypeOf((*MockService)(nil).DeleteVolumeGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteVolumeGroup", reflect.TypeOf((*MockService)(nil).DeleteVolumeGroup), ctx, uuid) } // GetAccessControlPolicy mocks base method. -func (m *MockService) GetAccessControlPolicy(arg0 context.Context, arg1 string) (*v3.AccessControlPolicy, error) { +func (m *MockService) GetAccessControlPolicy(ctx context.Context, accessControlPolicyUUID string) (*v3.AccessControlPolicy, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetAccessControlPolicy", arg0, arg1) + ret := m.ctrl.Call(m, "GetAccessControlPolicy", ctx, accessControlPolicyUUID) ret0, _ := ret[0].(*v3.AccessControlPolicy) ret1, _ := ret[1].(error) return ret0, ret1 } // GetAccessControlPolicy indicates an expected call of GetAccessControlPolicy. -func (mr *MockServiceMockRecorder) GetAccessControlPolicy(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetAccessControlPolicy(ctx, accessControlPolicyUUID any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessControlPolicy", reflect.TypeOf((*MockService)(nil).GetAccessControlPolicy), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAccessControlPolicy", reflect.TypeOf((*MockService)(nil).GetAccessControlPolicy), ctx, accessControlPolicyUUID) } // GetAddressGroup mocks base method. -func (m *MockService) GetAddressGroup(arg0 context.Context, arg1 string) (*v3.AddressGroupResponse, error) { +func (m *MockService) GetAddressGroup(ctx context.Context, uuid string) (*v3.AddressGroupResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetAddressGroup", arg0, arg1) + ret := m.ctrl.Call(m, "GetAddressGroup", ctx, uuid) ret0, _ := ret[0].(*v3.AddressGroupResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetAddressGroup indicates an expected call of GetAddressGroup. -func (mr *MockServiceMockRecorder) GetAddressGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetAddressGroup(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAddressGroup", reflect.TypeOf((*MockService)(nil).GetAddressGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAddressGroup", reflect.TypeOf((*MockService)(nil).GetAddressGroup), ctx, uuid) } // GetAvailabilityZone mocks base method. -func (m *MockService) GetAvailabilityZone(arg0 context.Context, arg1 string) (*v3.AvailabilityZoneIntentResponse, error) { +func (m *MockService) GetAvailabilityZone(ctx context.Context, uuid string) (*v3.AvailabilityZoneIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetAvailabilityZone", arg0, arg1) + ret := m.ctrl.Call(m, "GetAvailabilityZone", ctx, uuid) ret0, _ := ret[0].(*v3.AvailabilityZoneIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetAvailabilityZone indicates an expected call of GetAvailabilityZone. -func (mr *MockServiceMockRecorder) GetAvailabilityZone(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetAvailabilityZone(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAvailabilityZone", reflect.TypeOf((*MockService)(nil).GetAvailabilityZone), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAvailabilityZone", reflect.TypeOf((*MockService)(nil).GetAvailabilityZone), ctx, uuid) } // GetCategoryKey mocks base method. -func (m *MockService) GetCategoryKey(arg0 context.Context, arg1 string) (*v3.CategoryKeyStatus, error) { +func (m *MockService) GetCategoryKey(ctx context.Context, name string) (*v3.CategoryKeyStatus, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetCategoryKey", arg0, arg1) + ret := m.ctrl.Call(m, "GetCategoryKey", ctx, name) ret0, _ := ret[0].(*v3.CategoryKeyStatus) ret1, _ := ret[1].(error) return ret0, ret1 } // GetCategoryKey indicates an expected call of GetCategoryKey. -func (mr *MockServiceMockRecorder) GetCategoryKey(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetCategoryKey(ctx, name any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCategoryKey", reflect.TypeOf((*MockService)(nil).GetCategoryKey), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCategoryKey", reflect.TypeOf((*MockService)(nil).GetCategoryKey), ctx, name) } // GetCategoryQuery mocks base method. -func (m *MockService) GetCategoryQuery(arg0 context.Context, arg1 *v3.CategoryQueryInput) (*v3.CategoryQueryResponse, error) { +func (m *MockService) GetCategoryQuery(ctx context.Context, query *v3.CategoryQueryInput) (*v3.CategoryQueryResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetCategoryQuery", arg0, arg1) + ret := m.ctrl.Call(m, "GetCategoryQuery", ctx, query) ret0, _ := ret[0].(*v3.CategoryQueryResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetCategoryQuery indicates an expected call of GetCategoryQuery. -func (mr *MockServiceMockRecorder) GetCategoryQuery(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetCategoryQuery(ctx, query any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCategoryQuery", reflect.TypeOf((*MockService)(nil).GetCategoryQuery), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCategoryQuery", reflect.TypeOf((*MockService)(nil).GetCategoryQuery), ctx, query) } // GetCategoryValue mocks base method. -func (m *MockService) GetCategoryValue(arg0 context.Context, arg1, arg2 string) (*v3.CategoryValueStatus, error) { +func (m *MockService) GetCategoryValue(ctx context.Context, name, value string) (*v3.CategoryValueStatus, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetCategoryValue", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "GetCategoryValue", ctx, name, value) ret0, _ := ret[0].(*v3.CategoryValueStatus) ret1, _ := ret[1].(error) return ret0, ret1 } // GetCategoryValue indicates an expected call of GetCategoryValue. -func (mr *MockServiceMockRecorder) GetCategoryValue(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetCategoryValue(ctx, name, value any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCategoryValue", reflect.TypeOf((*MockService)(nil).GetCategoryValue), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCategoryValue", reflect.TypeOf((*MockService)(nil).GetCategoryValue), ctx, name, value) } // GetCluster mocks base method. -func (m *MockService) GetCluster(arg0 context.Context, arg1 string) (*v3.ClusterIntentResponse, error) { +func (m *MockService) GetCluster(ctx context.Context, uuid string) (*v3.ClusterIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetCluster", arg0, arg1) + ret := m.ctrl.Call(m, "GetCluster", ctx, uuid) ret0, _ := ret[0].(*v3.ClusterIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetCluster indicates an expected call of GetCluster. -func (mr *MockServiceMockRecorder) GetCluster(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetCluster(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCluster", reflect.TypeOf((*MockService)(nil).GetCluster), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCluster", reflect.TypeOf((*MockService)(nil).GetCluster), ctx, uuid) } // GetCurrentLoggedInUser mocks base method. -func (m *MockService) GetCurrentLoggedInUser(arg0 context.Context) (*v3.UserIntentResponse, error) { +func (m *MockService) GetCurrentLoggedInUser(ctx context.Context) (*v3.UserIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetCurrentLoggedInUser", arg0) + ret := m.ctrl.Call(m, "GetCurrentLoggedInUser", ctx) ret0, _ := ret[0].(*v3.UserIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetCurrentLoggedInUser indicates an expected call of GetCurrentLoggedInUser. -func (mr *MockServiceMockRecorder) GetCurrentLoggedInUser(arg0 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetCurrentLoggedInUser(ctx any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCurrentLoggedInUser", reflect.TypeOf((*MockService)(nil).GetCurrentLoggedInUser), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCurrentLoggedInUser", reflect.TypeOf((*MockService)(nil).GetCurrentLoggedInUser), ctx) } // GetHost mocks base method. -func (m *MockService) GetHost(arg0 context.Context, arg1 string) (*v3.HostResponse, error) { +func (m *MockService) GetHost(ctx context.Context, taskUUID string) (*v3.HostResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetHost", arg0, arg1) + ret := m.ctrl.Call(m, "GetHost", ctx, taskUUID) ret0, _ := ret[0].(*v3.HostResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetHost indicates an expected call of GetHost. -func (mr *MockServiceMockRecorder) GetHost(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetHost(ctx, taskUUID any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHost", reflect.TypeOf((*MockService)(nil).GetHost), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHost", reflect.TypeOf((*MockService)(nil).GetHost), ctx, taskUUID) } // GetImage mocks base method. -func (m *MockService) GetImage(arg0 context.Context, arg1 string) (*v3.ImageIntentResponse, error) { +func (m *MockService) GetImage(ctx context.Context, uuid string) (*v3.ImageIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetImage", arg0, arg1) + ret := m.ctrl.Call(m, "GetImage", ctx, uuid) ret0, _ := ret[0].(*v3.ImageIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetImage indicates an expected call of GetImage. -func (mr *MockServiceMockRecorder) GetImage(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetImage(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetImage", reflect.TypeOf((*MockService)(nil).GetImage), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetImage", reflect.TypeOf((*MockService)(nil).GetImage), ctx, uuid) } // GetNetworkSecurityRule mocks base method. -func (m *MockService) GetNetworkSecurityRule(arg0 context.Context, arg1 string) (*v3.NetworkSecurityRuleIntentResponse, error) { +func (m *MockService) GetNetworkSecurityRule(ctx context.Context, uuid string) (*v3.NetworkSecurityRuleIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetNetworkSecurityRule", arg0, arg1) + ret := m.ctrl.Call(m, "GetNetworkSecurityRule", ctx, uuid) ret0, _ := ret[0].(*v3.NetworkSecurityRuleIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetNetworkSecurityRule indicates an expected call of GetNetworkSecurityRule. -func (mr *MockServiceMockRecorder) GetNetworkSecurityRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetNetworkSecurityRule(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).GetNetworkSecurityRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).GetNetworkSecurityRule), ctx, uuid) } // GetPermission mocks base method. -func (m *MockService) GetPermission(arg0 context.Context, arg1 string) (*v3.PermissionIntentResponse, error) { +func (m *MockService) GetPermission(ctx context.Context, permissionUUID string) (*v3.PermissionIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPermission", arg0, arg1) + ret := m.ctrl.Call(m, "GetPermission", ctx, permissionUUID) ret0, _ := ret[0].(*v3.PermissionIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetPermission indicates an expected call of GetPermission. -func (mr *MockServiceMockRecorder) GetPermission(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetPermission(ctx, permissionUUID any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPermission", reflect.TypeOf((*MockService)(nil).GetPermission), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPermission", reflect.TypeOf((*MockService)(nil).GetPermission), ctx, permissionUUID) } // GetPrismCentral mocks base method. -func (m *MockService) GetPrismCentral(arg0 context.Context) (*models.PrismCentral, error) { +func (m *MockService) GetPrismCentral(ctx context.Context) (*models.PrismCentral, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPrismCentral", arg0) + ret := m.ctrl.Call(m, "GetPrismCentral", ctx) ret0, _ := ret[0].(*models.PrismCentral) ret1, _ := ret[1].(error) return ret0, ret1 } // GetPrismCentral indicates an expected call of GetPrismCentral. -func (mr *MockServiceMockRecorder) GetPrismCentral(arg0 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetPrismCentral(ctx any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrismCentral", reflect.TypeOf((*MockService)(nil).GetPrismCentral), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPrismCentral", reflect.TypeOf((*MockService)(nil).GetPrismCentral), ctx) } // GetProject mocks base method. -func (m *MockService) GetProject(arg0 context.Context, arg1 string) (*v3.Project, error) { +func (m *MockService) GetProject(ctx context.Context, projectUUID string) (*v3.Project, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetProject", arg0, arg1) + ret := m.ctrl.Call(m, "GetProject", ctx, projectUUID) ret0, _ := ret[0].(*v3.Project) ret1, _ := ret[1].(error) return ret0, ret1 } // GetProject indicates an expected call of GetProject. -func (mr *MockServiceMockRecorder) GetProject(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetProject(ctx, projectUUID any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProject", reflect.TypeOf((*MockService)(nil).GetProject), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProject", reflect.TypeOf((*MockService)(nil).GetProject), ctx, projectUUID) } // GetProtectionRule mocks base method. -func (m *MockService) GetProtectionRule(arg0 context.Context, arg1 string) (*v3.ProtectionRuleResponse, error) { +func (m *MockService) GetProtectionRule(ctx context.Context, uuid string) (*v3.ProtectionRuleResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetProtectionRule", arg0, arg1) + ret := m.ctrl.Call(m, "GetProtectionRule", ctx, uuid) ret0, _ := ret[0].(*v3.ProtectionRuleResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetProtectionRule indicates an expected call of GetProtectionRule. -func (mr *MockServiceMockRecorder) GetProtectionRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetProtectionRule(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProtectionRule", reflect.TypeOf((*MockService)(nil).GetProtectionRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetProtectionRule", reflect.TypeOf((*MockService)(nil).GetProtectionRule), ctx, uuid) } // GetRecoveryPlan mocks base method. -func (m *MockService) GetRecoveryPlan(arg0 context.Context, arg1 string) (*v3.RecoveryPlanResponse, error) { +func (m *MockService) GetRecoveryPlan(ctx context.Context, uuid string) (*v3.RecoveryPlanResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetRecoveryPlan", arg0, arg1) + ret := m.ctrl.Call(m, "GetRecoveryPlan", ctx, uuid) ret0, _ := ret[0].(*v3.RecoveryPlanResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetRecoveryPlan indicates an expected call of GetRecoveryPlan. -func (mr *MockServiceMockRecorder) GetRecoveryPlan(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetRecoveryPlan(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecoveryPlan", reflect.TypeOf((*MockService)(nil).GetRecoveryPlan), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecoveryPlan", reflect.TypeOf((*MockService)(nil).GetRecoveryPlan), ctx, uuid) } // GetRecoveryPlanJob mocks base method. -func (m *MockService) GetRecoveryPlanJob(arg0 context.Context, arg1 string) (*v3.RecoveryPlanJobIntentResponse, error) { +func (m *MockService) GetRecoveryPlanJob(ctx context.Context, uuid string) (*v3.RecoveryPlanJobIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetRecoveryPlanJob", arg0, arg1) + ret := m.ctrl.Call(m, "GetRecoveryPlanJob", ctx, uuid) ret0, _ := ret[0].(*v3.RecoveryPlanJobIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetRecoveryPlanJob indicates an expected call of GetRecoveryPlanJob. -func (mr *MockServiceMockRecorder) GetRecoveryPlanJob(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetRecoveryPlanJob(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecoveryPlanJob", reflect.TypeOf((*MockService)(nil).GetRecoveryPlanJob), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecoveryPlanJob", reflect.TypeOf((*MockService)(nil).GetRecoveryPlanJob), ctx, uuid) } // GetRecoveryPlanJobStatus mocks base method. -func (m *MockService) GetRecoveryPlanJobStatus(arg0 context.Context, arg1, arg2 string) (*v3.RecoveryPlanJobExecutionStatus, error) { +func (m *MockService) GetRecoveryPlanJobStatus(ctx context.Context, uuid, status string) (*v3.RecoveryPlanJobExecutionStatus, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetRecoveryPlanJobStatus", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "GetRecoveryPlanJobStatus", ctx, uuid, status) ret0, _ := ret[0].(*v3.RecoveryPlanJobExecutionStatus) ret1, _ := ret[1].(error) return ret0, ret1 } // GetRecoveryPlanJobStatus indicates an expected call of GetRecoveryPlanJobStatus. -func (mr *MockServiceMockRecorder) GetRecoveryPlanJobStatus(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetRecoveryPlanJobStatus(ctx, uuid, status any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecoveryPlanJobStatus", reflect.TypeOf((*MockService)(nil).GetRecoveryPlanJobStatus), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecoveryPlanJobStatus", reflect.TypeOf((*MockService)(nil).GetRecoveryPlanJobStatus), ctx, uuid, status) } // GetRole mocks base method. -func (m *MockService) GetRole(arg0 context.Context, arg1 string) (*v3.Role, error) { +func (m *MockService) GetRole(ctx context.Context, uuid string) (*v3.Role, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetRole", arg0, arg1) + ret := m.ctrl.Call(m, "GetRole", ctx, uuid) ret0, _ := ret[0].(*v3.Role) ret1, _ := ret[1].(error) return ret0, ret1 } // GetRole indicates an expected call of GetRole. -func (mr *MockServiceMockRecorder) GetRole(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetRole(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRole", reflect.TypeOf((*MockService)(nil).GetRole), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRole", reflect.TypeOf((*MockService)(nil).GetRole), ctx, uuid) } // GetServiceGroup mocks base method. -func (m *MockService) GetServiceGroup(arg0 context.Context, arg1 string) (*v3.ServiceGroupResponse, error) { +func (m *MockService) GetServiceGroup(ctx context.Context, uuid string) (*v3.ServiceGroupResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetServiceGroup", arg0, arg1) + ret := m.ctrl.Call(m, "GetServiceGroup", ctx, uuid) ret0, _ := ret[0].(*v3.ServiceGroupResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetServiceGroup indicates an expected call of GetServiceGroup. -func (mr *MockServiceMockRecorder) GetServiceGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetServiceGroup(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetServiceGroup", reflect.TypeOf((*MockService)(nil).GetServiceGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetServiceGroup", reflect.TypeOf((*MockService)(nil).GetServiceGroup), ctx, uuid) } // GetSubnet mocks base method. -func (m *MockService) GetSubnet(arg0 context.Context, arg1 string) (*v3.SubnetIntentResponse, error) { +func (m *MockService) GetSubnet(ctx context.Context, uuid string) (*v3.SubnetIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetSubnet", arg0, arg1) + ret := m.ctrl.Call(m, "GetSubnet", ctx, uuid) ret0, _ := ret[0].(*v3.SubnetIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetSubnet indicates an expected call of GetSubnet. -func (mr *MockServiceMockRecorder) GetSubnet(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetSubnet(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubnet", reflect.TypeOf((*MockService)(nil).GetSubnet), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSubnet", reflect.TypeOf((*MockService)(nil).GetSubnet), ctx, uuid) } // GetTask mocks base method. -func (m *MockService) GetTask(arg0 context.Context, arg1 string) (*v3.TasksResponse, error) { +func (m *MockService) GetTask(ctx context.Context, taskUUID string) (*v3.TasksResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTask", arg0, arg1) + ret := m.ctrl.Call(m, "GetTask", ctx, taskUUID) ret0, _ := ret[0].(*v3.TasksResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetTask indicates an expected call of GetTask. -func (mr *MockServiceMockRecorder) GetTask(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetTask(ctx, taskUUID any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTask", reflect.TypeOf((*MockService)(nil).GetTask), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTask", reflect.TypeOf((*MockService)(nil).GetTask), ctx, taskUUID) } // GetUser mocks base method. -func (m *MockService) GetUser(arg0 context.Context, arg1 string) (*v3.UserIntentResponse, error) { +func (m *MockService) GetUser(ctx context.Context, userUUID string) (*v3.UserIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetUser", arg0, arg1) + ret := m.ctrl.Call(m, "GetUser", ctx, userUUID) ret0, _ := ret[0].(*v3.UserIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetUser indicates an expected call of GetUser. -func (mr *MockServiceMockRecorder) GetUser(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetUser(ctx, userUUID any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUser", reflect.TypeOf((*MockService)(nil).GetUser), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUser", reflect.TypeOf((*MockService)(nil).GetUser), ctx, userUUID) } // GetUserGroup mocks base method. -func (m *MockService) GetUserGroup(arg0 context.Context, arg1 string) (*v3.UserGroupIntentResponse, error) { +func (m *MockService) GetUserGroup(ctx context.Context, userUUID string) (*v3.UserGroupIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetUserGroup", arg0, arg1) + ret := m.ctrl.Call(m, "GetUserGroup", ctx, userUUID) ret0, _ := ret[0].(*v3.UserGroupIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetUserGroup indicates an expected call of GetUserGroup. -func (mr *MockServiceMockRecorder) GetUserGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetUserGroup(ctx, userUUID any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserGroup", reflect.TypeOf((*MockService)(nil).GetUserGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserGroup", reflect.TypeOf((*MockService)(nil).GetUserGroup), ctx, userUUID) } // GetVM mocks base method. -func (m *MockService) GetVM(arg0 context.Context, arg1 string) (*v3.VMIntentResponse, error) { +func (m *MockService) GetVM(ctx context.Context, uuid string) (*v3.VMIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetVM", arg0, arg1) + ret := m.ctrl.Call(m, "GetVM", ctx, uuid) ret0, _ := ret[0].(*v3.VMIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetVM indicates an expected call of GetVM. -func (mr *MockServiceMockRecorder) GetVM(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetVM(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVM", reflect.TypeOf((*MockService)(nil).GetVM), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVM", reflect.TypeOf((*MockService)(nil).GetVM), ctx, uuid) } // GetVolumeGroup mocks base method. -func (m *MockService) GetVolumeGroup(arg0 context.Context, arg1 string) (*v3.VolumeGroupResponse, error) { +func (m *MockService) GetVolumeGroup(ctx context.Context, uuid string) (*v3.VolumeGroupResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetVolumeGroup", arg0, arg1) + ret := m.ctrl.Call(m, "GetVolumeGroup", ctx, uuid) ret0, _ := ret[0].(*v3.VolumeGroupResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GetVolumeGroup indicates an expected call of GetVolumeGroup. -func (mr *MockServiceMockRecorder) GetVolumeGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GetVolumeGroup(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVolumeGroup", reflect.TypeOf((*MockService)(nil).GetVolumeGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetVolumeGroup", reflect.TypeOf((*MockService)(nil).GetVolumeGroup), ctx, uuid) } // GroupsGetEntities mocks base method. -func (m *MockService) GroupsGetEntities(arg0 context.Context, arg1 *v3.GroupsGetEntitiesRequest) (*v3.GroupsGetEntitiesResponse, error) { +func (m *MockService) GroupsGetEntities(ctx context.Context, request *v3.GroupsGetEntitiesRequest) (*v3.GroupsGetEntitiesResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GroupsGetEntities", arg0, arg1) + ret := m.ctrl.Call(m, "GroupsGetEntities", ctx, request) ret0, _ := ret[0].(*v3.GroupsGetEntitiesResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // GroupsGetEntities indicates an expected call of GroupsGetEntities. -func (mr *MockServiceMockRecorder) GroupsGetEntities(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) GroupsGetEntities(ctx, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GroupsGetEntities", reflect.TypeOf((*MockService)(nil).GroupsGetEntities), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GroupsGetEntities", reflect.TypeOf((*MockService)(nil).GroupsGetEntities), ctx, request) } // ListAccessControlPolicy mocks base method. -func (m *MockService) ListAccessControlPolicy(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.AccessControlPolicyListResponse, error) { +func (m *MockService) ListAccessControlPolicy(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.AccessControlPolicyListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAccessControlPolicy", arg0, arg1) + ret := m.ctrl.Call(m, "ListAccessControlPolicy", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.AccessControlPolicyListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAccessControlPolicy indicates an expected call of ListAccessControlPolicy. -func (mr *MockServiceMockRecorder) ListAccessControlPolicy(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAccessControlPolicy(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAccessControlPolicy", reflect.TypeOf((*MockService)(nil).ListAccessControlPolicy), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAccessControlPolicy", reflect.TypeOf((*MockService)(nil).ListAccessControlPolicy), ctx, getEntitiesRequest) } // ListAddressGroups mocks base method. -func (m *MockService) ListAddressGroups(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.AddressGroupListResponse, error) { +func (m *MockService) ListAddressGroups(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.AddressGroupListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAddressGroups", arg0, arg1) + ret := m.ctrl.Call(m, "ListAddressGroups", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.AddressGroupListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAddressGroups indicates an expected call of ListAddressGroups. -func (mr *MockServiceMockRecorder) ListAddressGroups(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAddressGroups(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAddressGroups", reflect.TypeOf((*MockService)(nil).ListAddressGroups), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAddressGroups", reflect.TypeOf((*MockService)(nil).ListAddressGroups), ctx, getEntitiesRequest) } // ListAllAccessControlPolicy mocks base method. -func (m *MockService) ListAllAccessControlPolicy(arg0 context.Context, arg1 string) (*v3.AccessControlPolicyListResponse, error) { +func (m *MockService) ListAllAccessControlPolicy(ctx context.Context, filter string) (*v3.AccessControlPolicyListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllAccessControlPolicy", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllAccessControlPolicy", ctx, filter) ret0, _ := ret[0].(*v3.AccessControlPolicyListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllAccessControlPolicy indicates an expected call of ListAllAccessControlPolicy. -func (mr *MockServiceMockRecorder) ListAllAccessControlPolicy(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllAccessControlPolicy(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllAccessControlPolicy", reflect.TypeOf((*MockService)(nil).ListAllAccessControlPolicy), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllAccessControlPolicy", reflect.TypeOf((*MockService)(nil).ListAllAccessControlPolicy), ctx, filter) } // ListAllAddressGroups mocks base method. -func (m *MockService) ListAllAddressGroups(arg0 context.Context, arg1 string) (*v3.AddressGroupListResponse, error) { +func (m *MockService) ListAllAddressGroups(ctx context.Context, filter string) (*v3.AddressGroupListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllAddressGroups", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllAddressGroups", ctx, filter) ret0, _ := ret[0].(*v3.AddressGroupListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllAddressGroups indicates an expected call of ListAllAddressGroups. -func (mr *MockServiceMockRecorder) ListAllAddressGroups(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllAddressGroups(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllAddressGroups", reflect.TypeOf((*MockService)(nil).ListAllAddressGroups), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllAddressGroups", reflect.TypeOf((*MockService)(nil).ListAllAddressGroups), ctx, filter) } // ListAllCategoryValues mocks base method. -func (m *MockService) ListAllCategoryValues(arg0 context.Context, arg1, arg2 string) (*v3.CategoryValueListResponse, error) { +func (m *MockService) ListAllCategoryValues(ctx context.Context, categoryName, filter string) (*v3.CategoryValueListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllCategoryValues", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "ListAllCategoryValues", ctx, categoryName, filter) ret0, _ := ret[0].(*v3.CategoryValueListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllCategoryValues indicates an expected call of ListAllCategoryValues. -func (mr *MockServiceMockRecorder) ListAllCategoryValues(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllCategoryValues(ctx, categoryName, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllCategoryValues", reflect.TypeOf((*MockService)(nil).ListAllCategoryValues), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllCategoryValues", reflect.TypeOf((*MockService)(nil).ListAllCategoryValues), ctx, categoryName, filter) } // ListAllCluster mocks base method. -func (m *MockService) ListAllCluster(arg0 context.Context, arg1 string) (*v3.ClusterListIntentResponse, error) { +func (m *MockService) ListAllCluster(ctx context.Context, filter string) (*v3.ClusterListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllCluster", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllCluster", ctx, filter) ret0, _ := ret[0].(*v3.ClusterListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllCluster indicates an expected call of ListAllCluster. -func (mr *MockServiceMockRecorder) ListAllCluster(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllCluster(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllCluster", reflect.TypeOf((*MockService)(nil).ListAllCluster), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllCluster", reflect.TypeOf((*MockService)(nil).ListAllCluster), ctx, filter) } // ListAllHost mocks base method. -func (m *MockService) ListAllHost(arg0 context.Context) (*v3.HostListResponse, error) { +func (m *MockService) ListAllHost(ctx context.Context) (*v3.HostListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllHost", arg0) + ret := m.ctrl.Call(m, "ListAllHost", ctx) ret0, _ := ret[0].(*v3.HostListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllHost indicates an expected call of ListAllHost. -func (mr *MockServiceMockRecorder) ListAllHost(arg0 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllHost(ctx any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllHost", reflect.TypeOf((*MockService)(nil).ListAllHost), arg0) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllHost", reflect.TypeOf((*MockService)(nil).ListAllHost), ctx) } // ListAllImage mocks base method. -func (m *MockService) ListAllImage(arg0 context.Context, arg1 string) (*v3.ImageListIntentResponse, error) { +func (m *MockService) ListAllImage(ctx context.Context, filter string) (*v3.ImageListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllImage", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllImage", ctx, filter) ret0, _ := ret[0].(*v3.ImageListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllImage indicates an expected call of ListAllImage. -func (mr *MockServiceMockRecorder) ListAllImage(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllImage(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllImage", reflect.TypeOf((*MockService)(nil).ListAllImage), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllImage", reflect.TypeOf((*MockService)(nil).ListAllImage), ctx, filter) } // ListAllNetworkSecurityRule mocks base method. -func (m *MockService) ListAllNetworkSecurityRule(arg0 context.Context, arg1 string) (*v3.NetworkSecurityRuleListIntentResponse, error) { +func (m *MockService) ListAllNetworkSecurityRule(ctx context.Context, filter string) (*v3.NetworkSecurityRuleListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllNetworkSecurityRule", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllNetworkSecurityRule", ctx, filter) ret0, _ := ret[0].(*v3.NetworkSecurityRuleListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllNetworkSecurityRule indicates an expected call of ListAllNetworkSecurityRule. -func (mr *MockServiceMockRecorder) ListAllNetworkSecurityRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllNetworkSecurityRule(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).ListAllNetworkSecurityRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).ListAllNetworkSecurityRule), ctx, filter) } // ListAllPermission mocks base method. -func (m *MockService) ListAllPermission(arg0 context.Context, arg1 string) (*v3.PermissionListResponse, error) { +func (m *MockService) ListAllPermission(ctx context.Context, filter string) (*v3.PermissionListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllPermission", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllPermission", ctx, filter) ret0, _ := ret[0].(*v3.PermissionListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllPermission indicates an expected call of ListAllPermission. -func (mr *MockServiceMockRecorder) ListAllPermission(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllPermission(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllPermission", reflect.TypeOf((*MockService)(nil).ListAllPermission), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllPermission", reflect.TypeOf((*MockService)(nil).ListAllPermission), ctx, filter) } // ListAllProject mocks base method. -func (m *MockService) ListAllProject(arg0 context.Context, arg1 string) (*v3.ProjectListResponse, error) { +func (m *MockService) ListAllProject(ctx context.Context, filter string) (*v3.ProjectListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllProject", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllProject", ctx, filter) ret0, _ := ret[0].(*v3.ProjectListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllProject indicates an expected call of ListAllProject. -func (mr *MockServiceMockRecorder) ListAllProject(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllProject(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllProject", reflect.TypeOf((*MockService)(nil).ListAllProject), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllProject", reflect.TypeOf((*MockService)(nil).ListAllProject), ctx, filter) } // ListAllProtectionRules mocks base method. -func (m *MockService) ListAllProtectionRules(arg0 context.Context, arg1 string) (*v3.ProtectionRulesListResponse, error) { +func (m *MockService) ListAllProtectionRules(ctx context.Context, filter string) (*v3.ProtectionRulesListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllProtectionRules", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllProtectionRules", ctx, filter) ret0, _ := ret[0].(*v3.ProtectionRulesListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllProtectionRules indicates an expected call of ListAllProtectionRules. -func (mr *MockServiceMockRecorder) ListAllProtectionRules(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllProtectionRules(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllProtectionRules", reflect.TypeOf((*MockService)(nil).ListAllProtectionRules), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllProtectionRules", reflect.TypeOf((*MockService)(nil).ListAllProtectionRules), ctx, filter) } // ListAllRecoveryPlans mocks base method. -func (m *MockService) ListAllRecoveryPlans(arg0 context.Context, arg1 string) (*v3.RecoveryPlanListResponse, error) { +func (m *MockService) ListAllRecoveryPlans(ctx context.Context, filter string) (*v3.RecoveryPlanListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllRecoveryPlans", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllRecoveryPlans", ctx, filter) ret0, _ := ret[0].(*v3.RecoveryPlanListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllRecoveryPlans indicates an expected call of ListAllRecoveryPlans. -func (mr *MockServiceMockRecorder) ListAllRecoveryPlans(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllRecoveryPlans(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllRecoveryPlans", reflect.TypeOf((*MockService)(nil).ListAllRecoveryPlans), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllRecoveryPlans", reflect.TypeOf((*MockService)(nil).ListAllRecoveryPlans), ctx, filter) } // ListAllRole mocks base method. -func (m *MockService) ListAllRole(arg0 context.Context, arg1 string) (*v3.RoleListResponse, error) { +func (m *MockService) ListAllRole(ctx context.Context, filter string) (*v3.RoleListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllRole", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllRole", ctx, filter) ret0, _ := ret[0].(*v3.RoleListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllRole indicates an expected call of ListAllRole. -func (mr *MockServiceMockRecorder) ListAllRole(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllRole(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllRole", reflect.TypeOf((*MockService)(nil).ListAllRole), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllRole", reflect.TypeOf((*MockService)(nil).ListAllRole), ctx, filter) } // ListAllServiceGroups mocks base method. -func (m *MockService) ListAllServiceGroups(arg0 context.Context, arg1 string) (*v3.ServiceGroupListResponse, error) { +func (m *MockService) ListAllServiceGroups(ctx context.Context, filter string) (*v3.ServiceGroupListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllServiceGroups", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllServiceGroups", ctx, filter) ret0, _ := ret[0].(*v3.ServiceGroupListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllServiceGroups indicates an expected call of ListAllServiceGroups. -func (mr *MockServiceMockRecorder) ListAllServiceGroups(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllServiceGroups(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllServiceGroups", reflect.TypeOf((*MockService)(nil).ListAllServiceGroups), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllServiceGroups", reflect.TypeOf((*MockService)(nil).ListAllServiceGroups), ctx, filter) } // ListAllSubnet mocks base method. -func (m *MockService) ListAllSubnet(arg0 context.Context, arg1 string, arg2 []*prismgoclient.AdditionalFilter) (*v3.SubnetListIntentResponse, error) { +func (m *MockService) ListAllSubnet(ctx context.Context, filter string, clientSideFilters []*prismgoclient.AdditionalFilter) (*v3.SubnetListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllSubnet", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "ListAllSubnet", ctx, filter, clientSideFilters) ret0, _ := ret[0].(*v3.SubnetListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllSubnet indicates an expected call of ListAllSubnet. -func (mr *MockServiceMockRecorder) ListAllSubnet(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllSubnet(ctx, filter, clientSideFilters any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllSubnet", reflect.TypeOf((*MockService)(nil).ListAllSubnet), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllSubnet", reflect.TypeOf((*MockService)(nil).ListAllSubnet), ctx, filter, clientSideFilters) } // ListAllUser mocks base method. -func (m *MockService) ListAllUser(arg0 context.Context, arg1 string) (*v3.UserListResponse, error) { +func (m *MockService) ListAllUser(ctx context.Context, filter string) (*v3.UserListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllUser", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllUser", ctx, filter) ret0, _ := ret[0].(*v3.UserListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllUser indicates an expected call of ListAllUser. -func (mr *MockServiceMockRecorder) ListAllUser(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllUser(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllUser", reflect.TypeOf((*MockService)(nil).ListAllUser), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllUser", reflect.TypeOf((*MockService)(nil).ListAllUser), ctx, filter) } // ListAllUserGroup mocks base method. -func (m *MockService) ListAllUserGroup(arg0 context.Context, arg1 string) (*v3.UserGroupListResponse, error) { +func (m *MockService) ListAllUserGroup(ctx context.Context, filter string) (*v3.UserGroupListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllUserGroup", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllUserGroup", ctx, filter) ret0, _ := ret[0].(*v3.UserGroupListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllUserGroup indicates an expected call of ListAllUserGroup. -func (mr *MockServiceMockRecorder) ListAllUserGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllUserGroup(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllUserGroup", reflect.TypeOf((*MockService)(nil).ListAllUserGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllUserGroup", reflect.TypeOf((*MockService)(nil).ListAllUserGroup), ctx, filter) } // ListAllVM mocks base method. -func (m *MockService) ListAllVM(arg0 context.Context, arg1 string) (*v3.VMListIntentResponse, error) { +func (m *MockService) ListAllVM(ctx context.Context, filter string) (*v3.VMListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAllVM", arg0, arg1) + ret := m.ctrl.Call(m, "ListAllVM", ctx, filter) ret0, _ := ret[0].(*v3.VMListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListAllVM indicates an expected call of ListAllVM. -func (mr *MockServiceMockRecorder) ListAllVM(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListAllVM(ctx, filter any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllVM", reflect.TypeOf((*MockService)(nil).ListAllVM), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAllVM", reflect.TypeOf((*MockService)(nil).ListAllVM), ctx, filter) } // ListCategories mocks base method. -func (m *MockService) ListCategories(arg0 context.Context, arg1 *v3.CategoryListMetadata) (*v3.CategoryKeyListResponse, error) { +func (m *MockService) ListCategories(ctx context.Context, getEntitiesRequest *v3.CategoryListMetadata) (*v3.CategoryKeyListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListCategories", arg0, arg1) + ret := m.ctrl.Call(m, "ListCategories", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.CategoryKeyListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListCategories indicates an expected call of ListCategories. -func (mr *MockServiceMockRecorder) ListCategories(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListCategories(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCategories", reflect.TypeOf((*MockService)(nil).ListCategories), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCategories", reflect.TypeOf((*MockService)(nil).ListCategories), ctx, getEntitiesRequest) } // ListCategoryValues mocks base method. -func (m *MockService) ListCategoryValues(arg0 context.Context, arg1 string, arg2 *v3.CategoryListMetadata) (*v3.CategoryValueListResponse, error) { +func (m *MockService) ListCategoryValues(ctx context.Context, name string, getEntitiesRequest *v3.CategoryListMetadata) (*v3.CategoryValueListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListCategoryValues", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "ListCategoryValues", ctx, name, getEntitiesRequest) ret0, _ := ret[0].(*v3.CategoryValueListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListCategoryValues indicates an expected call of ListCategoryValues. -func (mr *MockServiceMockRecorder) ListCategoryValues(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListCategoryValues(ctx, name, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCategoryValues", reflect.TypeOf((*MockService)(nil).ListCategoryValues), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCategoryValues", reflect.TypeOf((*MockService)(nil).ListCategoryValues), ctx, name, getEntitiesRequest) } // ListCluster mocks base method. -func (m *MockService) ListCluster(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.ClusterListIntentResponse, error) { +func (m *MockService) ListCluster(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.ClusterListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListCluster", arg0, arg1) + ret := m.ctrl.Call(m, "ListCluster", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.ClusterListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListCluster indicates an expected call of ListCluster. -func (mr *MockServiceMockRecorder) ListCluster(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListCluster(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCluster", reflect.TypeOf((*MockService)(nil).ListCluster), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListCluster", reflect.TypeOf((*MockService)(nil).ListCluster), ctx, getEntitiesRequest) } // ListHost mocks base method. -func (m *MockService) ListHost(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.HostListResponse, error) { +func (m *MockService) ListHost(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.HostListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListHost", arg0, arg1) + ret := m.ctrl.Call(m, "ListHost", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.HostListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListHost indicates an expected call of ListHost. -func (mr *MockServiceMockRecorder) ListHost(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListHost(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListHost", reflect.TypeOf((*MockService)(nil).ListHost), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListHost", reflect.TypeOf((*MockService)(nil).ListHost), ctx, getEntitiesRequest) } // ListImage mocks base method. -func (m *MockService) ListImage(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.ImageListIntentResponse, error) { +func (m *MockService) ListImage(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.ImageListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListImage", arg0, arg1) + ret := m.ctrl.Call(m, "ListImage", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.ImageListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListImage indicates an expected call of ListImage. -func (mr *MockServiceMockRecorder) ListImage(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListImage(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListImage", reflect.TypeOf((*MockService)(nil).ListImage), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListImage", reflect.TypeOf((*MockService)(nil).ListImage), ctx, getEntitiesRequest) } // ListNetworkSecurityRule mocks base method. -func (m *MockService) ListNetworkSecurityRule(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.NetworkSecurityRuleListIntentResponse, error) { +func (m *MockService) ListNetworkSecurityRule(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.NetworkSecurityRuleListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListNetworkSecurityRule", arg0, arg1) + ret := m.ctrl.Call(m, "ListNetworkSecurityRule", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.NetworkSecurityRuleListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListNetworkSecurityRule indicates an expected call of ListNetworkSecurityRule. -func (mr *MockServiceMockRecorder) ListNetworkSecurityRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListNetworkSecurityRule(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).ListNetworkSecurityRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).ListNetworkSecurityRule), ctx, getEntitiesRequest) } // ListPermission mocks base method. -func (m *MockService) ListPermission(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.PermissionListResponse, error) { +func (m *MockService) ListPermission(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.PermissionListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListPermission", arg0, arg1) + ret := m.ctrl.Call(m, "ListPermission", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.PermissionListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListPermission indicates an expected call of ListPermission. -func (mr *MockServiceMockRecorder) ListPermission(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListPermission(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPermission", reflect.TypeOf((*MockService)(nil).ListPermission), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPermission", reflect.TypeOf((*MockService)(nil).ListPermission), ctx, getEntitiesRequest) } // ListProject mocks base method. -func (m *MockService) ListProject(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.ProjectListResponse, error) { +func (m *MockService) ListProject(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.ProjectListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListProject", arg0, arg1) + ret := m.ctrl.Call(m, "ListProject", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.ProjectListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListProject indicates an expected call of ListProject. -func (mr *MockServiceMockRecorder) ListProject(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListProject(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProject", reflect.TypeOf((*MockService)(nil).ListProject), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProject", reflect.TypeOf((*MockService)(nil).ListProject), ctx, getEntitiesRequest) } // ListProtectionRules mocks base method. -func (m *MockService) ListProtectionRules(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.ProtectionRulesListResponse, error) { +func (m *MockService) ListProtectionRules(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.ProtectionRulesListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListProtectionRules", arg0, arg1) + ret := m.ctrl.Call(m, "ListProtectionRules", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.ProtectionRulesListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListProtectionRules indicates an expected call of ListProtectionRules. -func (mr *MockServiceMockRecorder) ListProtectionRules(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListProtectionRules(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProtectionRules", reflect.TypeOf((*MockService)(nil).ListProtectionRules), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListProtectionRules", reflect.TypeOf((*MockService)(nil).ListProtectionRules), ctx, getEntitiesRequest) } // ListRecoveryPlanJobs mocks base method. -func (m *MockService) ListRecoveryPlanJobs(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.RecoveryPlanJobListResponse, error) { +func (m *MockService) ListRecoveryPlanJobs(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.RecoveryPlanJobListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListRecoveryPlanJobs", arg0, arg1) + ret := m.ctrl.Call(m, "ListRecoveryPlanJobs", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.RecoveryPlanJobListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListRecoveryPlanJobs indicates an expected call of ListRecoveryPlanJobs. -func (mr *MockServiceMockRecorder) ListRecoveryPlanJobs(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListRecoveryPlanJobs(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRecoveryPlanJobs", reflect.TypeOf((*MockService)(nil).ListRecoveryPlanJobs), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRecoveryPlanJobs", reflect.TypeOf((*MockService)(nil).ListRecoveryPlanJobs), ctx, getEntitiesRequest) } // ListRecoveryPlans mocks base method. -func (m *MockService) ListRecoveryPlans(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.RecoveryPlanListResponse, error) { +func (m *MockService) ListRecoveryPlans(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.RecoveryPlanListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListRecoveryPlans", arg0, arg1) + ret := m.ctrl.Call(m, "ListRecoveryPlans", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.RecoveryPlanListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListRecoveryPlans indicates an expected call of ListRecoveryPlans. -func (mr *MockServiceMockRecorder) ListRecoveryPlans(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListRecoveryPlans(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRecoveryPlans", reflect.TypeOf((*MockService)(nil).ListRecoveryPlans), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRecoveryPlans", reflect.TypeOf((*MockService)(nil).ListRecoveryPlans), ctx, getEntitiesRequest) } // ListRole mocks base method. -func (m *MockService) ListRole(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.RoleListResponse, error) { +func (m *MockService) ListRole(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.RoleListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListRole", arg0, arg1) + ret := m.ctrl.Call(m, "ListRole", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.RoleListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListRole indicates an expected call of ListRole. -func (mr *MockServiceMockRecorder) ListRole(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListRole(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRole", reflect.TypeOf((*MockService)(nil).ListRole), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListRole", reflect.TypeOf((*MockService)(nil).ListRole), ctx, getEntitiesRequest) } // ListSubnet mocks base method. -func (m *MockService) ListSubnet(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.SubnetListIntentResponse, error) { +func (m *MockService) ListSubnet(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.SubnetListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListSubnet", arg0, arg1) + ret := m.ctrl.Call(m, "ListSubnet", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.SubnetListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListSubnet indicates an expected call of ListSubnet. -func (mr *MockServiceMockRecorder) ListSubnet(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListSubnet(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSubnet", reflect.TypeOf((*MockService)(nil).ListSubnet), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSubnet", reflect.TypeOf((*MockService)(nil).ListSubnet), ctx, getEntitiesRequest) } // ListUser mocks base method. -func (m *MockService) ListUser(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.UserListResponse, error) { +func (m *MockService) ListUser(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.UserListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListUser", arg0, arg1) + ret := m.ctrl.Call(m, "ListUser", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.UserListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListUser indicates an expected call of ListUser. -func (mr *MockServiceMockRecorder) ListUser(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListUser(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListUser", reflect.TypeOf((*MockService)(nil).ListUser), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListUser", reflect.TypeOf((*MockService)(nil).ListUser), ctx, getEntitiesRequest) } // ListUserGroup mocks base method. -func (m *MockService) ListUserGroup(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.UserGroupListResponse, error) { +func (m *MockService) ListUserGroup(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.UserGroupListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListUserGroup", arg0, arg1) + ret := m.ctrl.Call(m, "ListUserGroup", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.UserGroupListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListUserGroup indicates an expected call of ListUserGroup. -func (mr *MockServiceMockRecorder) ListUserGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListUserGroup(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListUserGroup", reflect.TypeOf((*MockService)(nil).ListUserGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListUserGroup", reflect.TypeOf((*MockService)(nil).ListUserGroup), ctx, getEntitiesRequest) } // ListVM mocks base method. -func (m *MockService) ListVM(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.VMListIntentResponse, error) { +func (m *MockService) ListVM(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.VMListIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListVM", arg0, arg1) + ret := m.ctrl.Call(m, "ListVM", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.VMListIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListVM indicates an expected call of ListVM. -func (mr *MockServiceMockRecorder) ListVM(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListVM(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVM", reflect.TypeOf((*MockService)(nil).ListVM), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVM", reflect.TypeOf((*MockService)(nil).ListVM), ctx, getEntitiesRequest) } // ListVolumeGroup mocks base method. -func (m *MockService) ListVolumeGroup(arg0 context.Context, arg1 *v3.DSMetadata) (*v3.VolumeGroupListResponse, error) { +func (m *MockService) ListVolumeGroup(ctx context.Context, getEntitiesRequest *v3.DSMetadata) (*v3.VolumeGroupListResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListVolumeGroup", arg0, arg1) + ret := m.ctrl.Call(m, "ListVolumeGroup", ctx, getEntitiesRequest) ret0, _ := ret[0].(*v3.VolumeGroupListResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ListVolumeGroup indicates an expected call of ListVolumeGroup. -func (mr *MockServiceMockRecorder) ListVolumeGroup(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ListVolumeGroup(ctx, getEntitiesRequest any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVolumeGroup", reflect.TypeOf((*MockService)(nil).ListVolumeGroup), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListVolumeGroup", reflect.TypeOf((*MockService)(nil).ListVolumeGroup), ctx, getEntitiesRequest) } // PerformRecoveryPlanJobAction mocks base method. -func (m *MockService) PerformRecoveryPlanJobAction(arg0 context.Context, arg1, arg2 string, arg3 *v3.RecoveryPlanJobActionRequest) (*v3.RecoveryPlanJobResponse, error) { +func (m *MockService) PerformRecoveryPlanJobAction(ctx context.Context, uuid, action string, request *v3.RecoveryPlanJobActionRequest) (*v3.RecoveryPlanJobResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "PerformRecoveryPlanJobAction", arg0, arg1, arg2, arg3) + ret := m.ctrl.Call(m, "PerformRecoveryPlanJobAction", ctx, uuid, action, request) ret0, _ := ret[0].(*v3.RecoveryPlanJobResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // PerformRecoveryPlanJobAction indicates an expected call of PerformRecoveryPlanJobAction. -func (mr *MockServiceMockRecorder) PerformRecoveryPlanJobAction(arg0, arg1, arg2, arg3 any) *gomock.Call { +func (mr *MockServiceMockRecorder) PerformRecoveryPlanJobAction(ctx, uuid, action, request any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PerformRecoveryPlanJobAction", reflect.TypeOf((*MockService)(nil).PerformRecoveryPlanJobAction), arg0, arg1, arg2, arg3) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PerformRecoveryPlanJobAction", reflect.TypeOf((*MockService)(nil).PerformRecoveryPlanJobAction), ctx, uuid, action, request) } // ProcessProtectionRule mocks base method. -func (m *MockService) ProcessProtectionRule(arg0 context.Context, arg1 string) error { +func (m *MockService) ProcessProtectionRule(ctx context.Context, uuid string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ProcessProtectionRule", arg0, arg1) + ret := m.ctrl.Call(m, "ProcessProtectionRule", ctx, uuid) ret0, _ := ret[0].(error) return ret0 } // ProcessProtectionRule indicates an expected call of ProcessProtectionRule. -func (mr *MockServiceMockRecorder) ProcessProtectionRule(arg0, arg1 any) *gomock.Call { +func (mr *MockServiceMockRecorder) ProcessProtectionRule(ctx, uuid any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProcessProtectionRule", reflect.TypeOf((*MockService)(nil).ProcessProtectionRule), arg0, arg1) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ProcessProtectionRule", reflect.TypeOf((*MockService)(nil).ProcessProtectionRule), ctx, uuid) } // UpdateAccessControlPolicy mocks base method. -func (m *MockService) UpdateAccessControlPolicy(arg0 context.Context, arg1 string, arg2 *v3.AccessControlPolicy) (*v3.AccessControlPolicy, error) { +func (m *MockService) UpdateAccessControlPolicy(ctx context.Context, uuid string, body *v3.AccessControlPolicy) (*v3.AccessControlPolicy, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateAccessControlPolicy", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateAccessControlPolicy", ctx, uuid, body) ret0, _ := ret[0].(*v3.AccessControlPolicy) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateAccessControlPolicy indicates an expected call of UpdateAccessControlPolicy. -func (mr *MockServiceMockRecorder) UpdateAccessControlPolicy(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateAccessControlPolicy(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessControlPolicy", reflect.TypeOf((*MockService)(nil).UpdateAccessControlPolicy), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAccessControlPolicy", reflect.TypeOf((*MockService)(nil).UpdateAccessControlPolicy), ctx, uuid, body) } // UpdateAddressGroup mocks base method. -func (m *MockService) UpdateAddressGroup(arg0 context.Context, arg1 string, arg2 *v3.AddressGroupInput) error { +func (m *MockService) UpdateAddressGroup(ctx context.Context, uuid string, body *v3.AddressGroupInput) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateAddressGroup", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateAddressGroup", ctx, uuid, body) ret0, _ := ret[0].(error) return ret0 } // UpdateAddressGroup indicates an expected call of UpdateAddressGroup. -func (mr *MockServiceMockRecorder) UpdateAddressGroup(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateAddressGroup(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAddressGroup", reflect.TypeOf((*MockService)(nil).UpdateAddressGroup), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAddressGroup", reflect.TypeOf((*MockService)(nil).UpdateAddressGroup), ctx, uuid, body) } // UpdateImage mocks base method. -func (m *MockService) UpdateImage(arg0 context.Context, arg1 string, arg2 *v3.ImageIntentInput) (*v3.ImageIntentResponse, error) { +func (m *MockService) UpdateImage(ctx context.Context, uuid string, body *v3.ImageIntentInput) (*v3.ImageIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateImage", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateImage", ctx, uuid, body) ret0, _ := ret[0].(*v3.ImageIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateImage indicates an expected call of UpdateImage. -func (mr *MockServiceMockRecorder) UpdateImage(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateImage(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateImage", reflect.TypeOf((*MockService)(nil).UpdateImage), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateImage", reflect.TypeOf((*MockService)(nil).UpdateImage), ctx, uuid, body) } // UpdateNetworkSecurityRule mocks base method. -func (m *MockService) UpdateNetworkSecurityRule(arg0 context.Context, arg1 string, arg2 *v3.NetworkSecurityRuleIntentInput) (*v3.NetworkSecurityRuleIntentResponse, error) { +func (m *MockService) UpdateNetworkSecurityRule(ctx context.Context, uuid string, body *v3.NetworkSecurityRuleIntentInput) (*v3.NetworkSecurityRuleIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateNetworkSecurityRule", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateNetworkSecurityRule", ctx, uuid, body) ret0, _ := ret[0].(*v3.NetworkSecurityRuleIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateNetworkSecurityRule indicates an expected call of UpdateNetworkSecurityRule. -func (mr *MockServiceMockRecorder) UpdateNetworkSecurityRule(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateNetworkSecurityRule(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).UpdateNetworkSecurityRule), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateNetworkSecurityRule", reflect.TypeOf((*MockService)(nil).UpdateNetworkSecurityRule), ctx, uuid, body) } // UpdateProject mocks base method. -func (m *MockService) UpdateProject(arg0 context.Context, arg1 string, arg2 *v3.Project) (*v3.Project, error) { +func (m *MockService) UpdateProject(ctx context.Context, uuid string, body *v3.Project) (*v3.Project, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateProject", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateProject", ctx, uuid, body) ret0, _ := ret[0].(*v3.Project) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateProject indicates an expected call of UpdateProject. -func (mr *MockServiceMockRecorder) UpdateProject(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateProject(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProject", reflect.TypeOf((*MockService)(nil).UpdateProject), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProject", reflect.TypeOf((*MockService)(nil).UpdateProject), ctx, uuid, body) } // UpdateProtectionRule mocks base method. -func (m *MockService) UpdateProtectionRule(arg0 context.Context, arg1 string, arg2 *v3.ProtectionRuleInput) (*v3.ProtectionRuleResponse, error) { +func (m *MockService) UpdateProtectionRule(ctx context.Context, uuid string, body *v3.ProtectionRuleInput) (*v3.ProtectionRuleResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateProtectionRule", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateProtectionRule", ctx, uuid, body) ret0, _ := ret[0].(*v3.ProtectionRuleResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateProtectionRule indicates an expected call of UpdateProtectionRule. -func (mr *MockServiceMockRecorder) UpdateProtectionRule(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateProtectionRule(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProtectionRule", reflect.TypeOf((*MockService)(nil).UpdateProtectionRule), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateProtectionRule", reflect.TypeOf((*MockService)(nil).UpdateProtectionRule), ctx, uuid, body) } // UpdateRecoveryPlan mocks base method. -func (m *MockService) UpdateRecoveryPlan(arg0 context.Context, arg1 string, arg2 *v3.RecoveryPlanInput) (*v3.RecoveryPlanResponse, error) { +func (m *MockService) UpdateRecoveryPlan(ctx context.Context, uuid string, body *v3.RecoveryPlanInput) (*v3.RecoveryPlanResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateRecoveryPlan", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateRecoveryPlan", ctx, uuid, body) ret0, _ := ret[0].(*v3.RecoveryPlanResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateRecoveryPlan indicates an expected call of UpdateRecoveryPlan. -func (mr *MockServiceMockRecorder) UpdateRecoveryPlan(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateRecoveryPlan(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRecoveryPlan", reflect.TypeOf((*MockService)(nil).UpdateRecoveryPlan), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRecoveryPlan", reflect.TypeOf((*MockService)(nil).UpdateRecoveryPlan), ctx, uuid, body) } // UpdateRole mocks base method. -func (m *MockService) UpdateRole(arg0 context.Context, arg1 string, arg2 *v3.Role) (*v3.Role, error) { +func (m *MockService) UpdateRole(ctx context.Context, uuid string, body *v3.Role) (*v3.Role, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateRole", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateRole", ctx, uuid, body) ret0, _ := ret[0].(*v3.Role) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateRole indicates an expected call of UpdateRole. -func (mr *MockServiceMockRecorder) UpdateRole(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateRole(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRole", reflect.TypeOf((*MockService)(nil).UpdateRole), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateRole", reflect.TypeOf((*MockService)(nil).UpdateRole), ctx, uuid, body) } // UpdateServiceGroup mocks base method. -func (m *MockService) UpdateServiceGroup(arg0 context.Context, arg1 string, arg2 *v3.ServiceGroupInput) error { +func (m *MockService) UpdateServiceGroup(ctx context.Context, uuid string, body *v3.ServiceGroupInput) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateServiceGroup", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateServiceGroup", ctx, uuid, body) ret0, _ := ret[0].(error) return ret0 } // UpdateServiceGroup indicates an expected call of UpdateServiceGroup. -func (mr *MockServiceMockRecorder) UpdateServiceGroup(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateServiceGroup(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateServiceGroup", reflect.TypeOf((*MockService)(nil).UpdateServiceGroup), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateServiceGroup", reflect.TypeOf((*MockService)(nil).UpdateServiceGroup), ctx, uuid, body) } // UpdateSubnet mocks base method. -func (m *MockService) UpdateSubnet(arg0 context.Context, arg1 string, arg2 *v3.SubnetIntentInput) (*v3.SubnetIntentResponse, error) { +func (m *MockService) UpdateSubnet(ctx context.Context, uuid string, body *v3.SubnetIntentInput) (*v3.SubnetIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateSubnet", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateSubnet", ctx, uuid, body) ret0, _ := ret[0].(*v3.SubnetIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateSubnet indicates an expected call of UpdateSubnet. -func (mr *MockServiceMockRecorder) UpdateSubnet(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateSubnet(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSubnet", reflect.TypeOf((*MockService)(nil).UpdateSubnet), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSubnet", reflect.TypeOf((*MockService)(nil).UpdateSubnet), ctx, uuid, body) } // UpdateUser mocks base method. -func (m *MockService) UpdateUser(arg0 context.Context, arg1 string, arg2 *v3.UserIntentInput) (*v3.UserIntentResponse, error) { +func (m *MockService) UpdateUser(ctx context.Context, uuid string, body *v3.UserIntentInput) (*v3.UserIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateUser", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateUser", ctx, uuid, body) ret0, _ := ret[0].(*v3.UserIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateUser indicates an expected call of UpdateUser. -func (mr *MockServiceMockRecorder) UpdateUser(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateUser(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateUser", reflect.TypeOf((*MockService)(nil).UpdateUser), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateUser", reflect.TypeOf((*MockService)(nil).UpdateUser), ctx, uuid, body) } // UpdateVM mocks base method. -func (m *MockService) UpdateVM(arg0 context.Context, arg1 string, arg2 *v3.VMIntentInput) (*v3.VMIntentResponse, error) { +func (m *MockService) UpdateVM(ctx context.Context, uuid string, body *v3.VMIntentInput) (*v3.VMIntentResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateVM", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateVM", ctx, uuid, body) ret0, _ := ret[0].(*v3.VMIntentResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateVM indicates an expected call of UpdateVM. -func (mr *MockServiceMockRecorder) UpdateVM(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateVM(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVM", reflect.TypeOf((*MockService)(nil).UpdateVM), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVM", reflect.TypeOf((*MockService)(nil).UpdateVM), ctx, uuid, body) } // UpdateVolumeGroup mocks base method. -func (m *MockService) UpdateVolumeGroup(arg0 context.Context, arg1 string, arg2 *v3.VolumeGroupInput) (*v3.VolumeGroupResponse, error) { +func (m *MockService) UpdateVolumeGroup(ctx context.Context, uuid string, body *v3.VolumeGroupInput) (*v3.VolumeGroupResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UpdateVolumeGroup", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UpdateVolumeGroup", ctx, uuid, body) ret0, _ := ret[0].(*v3.VolumeGroupResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // UpdateVolumeGroup indicates an expected call of UpdateVolumeGroup. -func (mr *MockServiceMockRecorder) UpdateVolumeGroup(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UpdateVolumeGroup(ctx, uuid, body any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVolumeGroup", reflect.TypeOf((*MockService)(nil).UpdateVolumeGroup), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateVolumeGroup", reflect.TypeOf((*MockService)(nil).UpdateVolumeGroup), ctx, uuid, body) } // UploadImage mocks base method. -func (m *MockService) UploadImage(arg0 context.Context, arg1, arg2 string) error { +func (m *MockService) UploadImage(ctx context.Context, uuid, filepath string) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "UploadImage", arg0, arg1, arg2) + ret := m.ctrl.Call(m, "UploadImage", ctx, uuid, filepath) ret0, _ := ret[0].(error) return ret0 } // UploadImage indicates an expected call of UploadImage. -func (mr *MockServiceMockRecorder) UploadImage(arg0, arg1, arg2 any) *gomock.Call { +func (mr *MockServiceMockRecorder) UploadImage(ctx, uuid, filepath any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UploadImage", reflect.TypeOf((*MockService)(nil).UploadImage), arg0, arg1, arg2) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UploadImage", reflect.TypeOf((*MockService)(nil).UploadImage), ctx, uuid, filepath) } diff --git a/pkg/context/context.go b/pkg/context/context.go index 60f2158621..c587c0b9e2 100644 --- a/pkg/context/context.go +++ b/pkg/context/context.go @@ -23,7 +23,7 @@ import ( "github.com/nutanix-cloud-native/prism-go-client/utils" prismclientv3 "github.com/nutanix-cloud-native/prism-go-client/v3" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/controllers/remote" ctrl "sigs.k8s.io/controller-runtime" ctlclient "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/pkg/context/context_test.go b/pkg/context/context_test.go index 553ff54e3a..7df3fdb83d 100644 --- a/pkg/context/context_test.go +++ b/pkg/context/context_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" "go.uber.org/mock/gomock" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" ctlclient "sigs.k8s.io/controller-runtime/pkg/client" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/templates/template_test.go b/templates/template_test.go index 1578ba3e8b..5d47334e49 100644 --- a/templates/template_test.go +++ b/templates/template_test.go @@ -21,9 +21,9 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/klog/v2/textlogger" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + controlplanev1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" clusterctllog "sigs.k8s.io/cluster-api/cmd/clusterctl/log" - controlplanev1 "sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1beta1" "sigs.k8s.io/cluster-api/test/framework/clusterctl" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" diff --git a/test/e2e/basic_uuid_test.go b/test/e2e/basic_uuid_test.go index afc3c3d360..43b8a5e596 100644 --- a/test/e2e/basic_uuid_test.go +++ b/test/e2e/basic_uuid_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix diff --git a/test/e2e/capx_quick_start_test.go b/test/e2e/capx_quick_start_test.go index 094b15a9cf..77b6d29f5d 100644 --- a/test/e2e/capx_quick_start_test.go +++ b/test/e2e/capx_quick_start_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/capx_regression_test.go b/test/e2e/capx_regression_test.go index 0862426383..d85db2d483 100644 --- a/test/e2e/capx_regression_test.go +++ b/test/e2e/capx_regression_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix @@ -28,7 +26,8 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + clusterv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/test/framework/clusterctl" "sigs.k8s.io/controller-runtime/pkg/client" @@ -62,7 +61,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress AfterEach(func() { bcpClient := bootstrapClusterProxy.GetClient() - myCluster := &clusterv1.Cluster{ + myCluster := &clusterv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: namespace.Name, @@ -127,7 +126,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: clusterv1beta1.Condition{ Type: infrav1.CredentialRefSecretOwnerSetCondition, Status: corev1.ConditionTrue, }, @@ -139,7 +138,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: clusterv1beta1.Condition{ Type: infrav1.PrismCentralClientCondition, Status: corev1.ConditionTrue, }, @@ -161,7 +160,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress Byf("Deleting cluster %s/%s", namespace.Name, clusterName) framework.DeleteCluster(ctx, framework.DeleteClusterInput{ Deleter: bootstrapClusterProxy.GetClient(), - Cluster: &clusterv1.Cluster{ + Cluster: &clusterv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: namespace.Name, @@ -173,7 +172,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress framework.WaitForClusterDeleted(ctx, framework.WaitForClusterDeletedInput{ ClusterProxy: bootstrapClusterProxy, ClusterctlConfigPath: clusterctlConfigPath, - Cluster: &clusterv1.Cluster{ + Cluster: &clusterv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: namespace.Name, @@ -199,7 +198,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress client.ObjectKey{ Name: clusterName, Namespace: namespace.Name, - }, &clusterv1.Cluster{}) + }, &clusterv1beta2.Cluster{}) Expect(err).To(HaveOccurred()) Expect(apierrors.IsNotFound(err)).To(BeTrue()) }) diff --git a/test/e2e/categories_test.go b/test/e2e/categories_test.go index dd9cf426db..d913bd246e 100644 --- a/test/e2e/categories_test.go +++ b/test/e2e/categories_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/test/e2e/cluster_topology.go b/test/e2e/cluster_topology.go index 82cf9fb517..ba241ed585 100644 --- a/test/e2e/cluster_topology.go +++ b/test/e2e/cluster_topology.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_basic_test.go b/test/e2e/cluster_topology_basic_test.go index c3160bc365..9e7c5f4ce8 100644 --- a/test/e2e/cluster_topology_basic_test.go +++ b/test/e2e/cluster_topology_basic_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When creating a cluster with topology with simple workflow", Label("clusterclass", "only-for-validation"), func() { diff --git a/test/e2e/cluster_topology_conformance_test.go b/test/e2e/cluster_topology_conformance_test.go index 8de37df369..9854237fff 100644 --- a/test/e2e/cluster_topology_conformance_test.go +++ b/test/e2e/cluster_topology_conformance_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When creating a cluster with topology and running kubetest/conformance", Label("clusterclass", "only-for-validation"), func() { diff --git a/test/e2e/cluster_topology_k8s_configs.go b/test/e2e/cluster_topology_k8s_configs.go index 43952c284d..ba7088a76b 100644 --- a/test/e2e/cluster_topology_k8s_configs.go +++ b/test/e2e/cluster_topology_k8s_configs.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_mega_scale_test.go b/test/e2e/cluster_topology_mega_scale_test.go index 1d92221724..3534b1d172 100644 --- a/test/e2e/cluster_topology_mega_scale_test.go +++ b/test/e2e/cluster_topology_mega_scale_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When creating a cluster with topology with mega scale workflow", Label("clusterclass", "only-for-validation"), func() { diff --git a/test/e2e/cluster_topology_scale_in_test.go b/test/e2e/cluster_topology_scale_in_test.go index 25fcceefe0..792ee59af3 100644 --- a/test/e2e/cluster_topology_scale_in_test.go +++ b/test/e2e/cluster_topology_scale_in_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When scaling in cluster with topology ", Label("clusterclass", "only-for-validation"), func() { diff --git a/test/e2e/cluster_topology_scale_out_test.go b/test/e2e/cluster_topology_scale_out_test.go index 586c58d2b6..c85a637390 100644 --- a/test/e2e/cluster_topology_scale_out_test.go +++ b/test/e2e/cluster_topology_scale_out_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When scaling out cluster with topology ", Label("clusterclass", "only-for-validation"), func() { diff --git a/test/e2e/cluster_topology_scale_up_down_test.go b/test/e2e/cluster_topology_scale_up_down_test.go index 2ea409ebe7..cba6cbace4 100644 --- a/test/e2e/cluster_topology_scale_up_down_test.go +++ b/test/e2e/cluster_topology_scale_up_down_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When scaling up/down cluster with topology ", Label("clusterclass", "only-for-validation"), func() { diff --git a/test/e2e/cluster_topology_upgrade_test.go b/test/e2e/cluster_topology_upgrade_test.go index ce5234fda6..8b66c4708d 100644 --- a/test/e2e/cluster_topology_upgrade_test.go +++ b/test/e2e/cluster_topology_upgrade_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When upgrading the k8s version of cluster with topology", Label("clusterclass", "only-for-validation"), func() { diff --git a/test/e2e/cluster_upgrade_test.go b/test/e2e/cluster_upgrade_test.go index 1e67fde921..6e76e8c81c 100644 --- a/test/e2e/cluster_upgrade_test.go +++ b/test/e2e/cluster_upgrade_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix, Inc Copyright 2021 The Kubernetes Authors. diff --git a/test/e2e/clusterclass_changes_test.go b/test/e2e/clusterclass_changes_test.go index 462b45d467..3db679c287 100644 --- a/test/e2e/clusterclass_changes_test.go +++ b/test/e2e/clusterclass_changes_test.go @@ -1,6 +1,3 @@ -//go:build e2e -// +build e2e - /* Copyright 2020 The Kubernetes Authors. @@ -38,7 +35,7 @@ var _ = Describe("When mutating ClusterClass fields", Label("clusterclass"), fun // ControlPlaneTemplate of the ClusterClass after the initial Cluster creation. // The test verifies that these fields are rolled out to the ControlPlane. ModifyControlPlaneFields: map[string]interface{}{ - "spec.machineTemplate.nodeDrainTimeout": "10s", + "spec.kubeadmConfigSpec.verbosity": int64(4), }, // ModifyMachineDeploymentBootstrapConfigTemplateFields are the fields which will be set on the // BootstrapConfigTemplate of all MachineDeploymentClasses of the ClusterClass after the initial Cluster creation. diff --git a/test/e2e/clusterctl_move_test.go b/test/e2e/clusterctl_move_test.go index 1751b6af47..466fe6d45c 100644 --- a/test/e2e/clusterctl_move_test.go +++ b/test/e2e/clusterctl_move_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2024 Nutanix diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index 722084d2ff..1949c86b4c 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2020 The Kubernetes Authors. @@ -31,8 +29,8 @@ import ( . "github.com/onsi/gomega" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" - bootstrapv1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1" + bootstrapv1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" yaml "sigs.k8s.io/cluster-api/cmd/clusterctl/client/yamlprocessor" capie2e "sigs.k8s.io/cluster-api/test/e2e" "sigs.k8s.io/cluster-api/test/framework" @@ -41,27 +39,20 @@ import ( "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/test/e2e/log" ) -var _ = Describe("clusterctl upgrade CAPX (v1.6.1 => current)", Label("clusterctl-upgrade"), func() { - // TODO: revert to KUBERNETES_VERSION after v1.7.0 is released and CAPX v1.7.0 is used as the infrastructure version - // for this test. this is a temporary workaround to use the KUBERNETES_VERSION_UPGRADE_FROM as the KUBERNETES_VERSION - // to ensure the tests pass as 1.6.1 does not work w/ 1.33 +var _ = Describe("clusterctl upgrade CAPX (v1.7.0 => current)", Label("clusterctl-upgrade"), func() { var ( kubernetesVersion string - kubernetesVersionUpgradeFrom string nutanixMachineTemplateImageName string - nutanixMachineTemplateImageUpgradeFrom string ) BeforeEach(func() { kubernetesVersion = e2eConfig.MustGetVariable("KUBERNETES_VERSION") - kubernetesVersionUpgradeFrom = e2eConfig.MustGetVariable("KUBERNETES_VERSION_UPGRADE_FROM") nutanixMachineTemplateImageName = e2eConfig.MustGetVariable("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME") - nutanixMachineTemplateImageUpgradeFrom = e2eConfig.MustGetVariable("NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_FROM") }) BeforeEach(func() { - os.Setenv("KUBERNETES_VERSION", kubernetesVersionUpgradeFrom) - os.Setenv("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME", nutanixMachineTemplateImageUpgradeFrom) + os.Setenv("KUBERNETES_VERSION", kubernetesVersion) + os.Setenv("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME", nutanixMachineTemplateImageName) }) AfterEach(func() { @@ -94,12 +85,12 @@ var _ = Describe("clusterctl upgrade CAPX (v1.6.1 => current)", Label("clusterct BootstrapClusterProxy: bootstrapClusterProxy, ArtifactFolder: artifactFolder, SkipCleanup: skipCleanup, - InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.3/clusterctl-{OS}-{ARCH}", - InitWithKubernetesVersion: kubernetesVersionUpgradeFrom, // TODO: revert to KUBERNETES_VERSION after v1.7.0 is released and CAPX v1.7.0 is used as the infrastructure version - InitWithCoreProvider: "cluster-api:v1.10.3", - InitWithBootstrapProviders: []string{"kubeadm:v1.10.3"}, - InitWithControlPlaneProviders: []string{"kubeadm:v1.10.3"}, - InitWithInfrastructureProviders: []string{"nutanix:v1.6.1"}, + InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.1/clusterctl-{OS}-{ARCH}", + InitWithKubernetesVersion: kubernetesVersion, + InitWithCoreProvider: "cluster-api:v1.11.1", + InitWithBootstrapProviders: []string{"kubeadm:v1.11.1"}, + InitWithControlPlaneProviders: []string{"kubeadm:v1.11.1"}, + InitWithInfrastructureProviders: []string{"nutanix:v1.7.0"}, PreWaitForCluster: preWaitForCluster, PostUpgrade: postUpgradeFunc, } @@ -115,7 +106,7 @@ func createPreWaitForClusterFunc(testInputFunc func() capie2e.ClusterctlUpgradeS By("Get latest version of CAPX provider") - latestVersionString := "v1.6.1" + latestVersionString := "v1.7.0" latestVersion, err := semver.ParseTolerant(latestVersionString) Expect(err).NotTo(HaveOccurred()) @@ -174,7 +165,7 @@ func createPostUpgradeFunc(testInputFunc func() capie2e.ClusterctlUpgradeSpecInp yamlProc := yaml.NewSimpleProcessor() - latestVersionString := "v1.6.1" + latestVersionString := "v1.7.0" latestVersion, err := semver.ParseTolerant(latestVersionString) Expect(err).NotTo(HaveOccurred()) diff --git a/test/e2e/common.go b/test/e2e/common.go index a0c2628ca6..1ed596d14d 100644 --- a/test/e2e/common.go +++ b/test/e2e/common.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2020 The Kubernetes Authors. @@ -28,7 +26,7 @@ import ( "github.com/onsi/gomega/types" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/util" ) diff --git a/test/e2e/config/nutanix.yaml b/test/e2e/config/nutanix.yaml index 9d6627ff92..b0d15a591e 100644 --- a/test/e2e/config/nutanix.yaml +++ b/test/e2e/config/nutanix.yaml @@ -13,20 +13,20 @@ images: loadBehavior: mustLoad # ## PLEASE KEEP THESE UP TO DATE WITH THE COMPONENTS # Cluster API v1beta1 Preloads - - name: registry.k8s.io/cluster-api/cluster-api-controller:v1.10.3 + - name: registry.k8s.io/cluster-api/cluster-api-controller:v1.11.1 loadBehavior: tryLoad - - name: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.10.3 + - name: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.11.1 loadBehavior: tryLoad - - name: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.10.3 + - name: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.11.1 loadBehavior: tryLoad providers: - name: cluster-api type: CoreProvider versions: - - name: v1.10.3 + - name: v1.11.1 # Use manifest from source files - value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.3/core-components.yaml" + value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.1/core-components.yaml" type: "url" contract: v1beta1 files: @@ -37,9 +37,9 @@ providers: - name: kubeadm type: BootstrapProvider versions: - - name: v1.10.3 + - name: v1.11.1 # Use manifest from source files - value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.3/bootstrap-components.yaml" + value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.1/bootstrap-components.yaml" type: "url" contract: "v1beta1" files: @@ -50,9 +50,9 @@ providers: - name: kubeadm type: ControlPlaneProvider versions: - - name: v1.10.3 + - name: v1.11.1 # Use manifest from source files - value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.3/control-plane-components.yaml" + value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.1/control-plane-components.yaml" type: "url" contract: v1beta1 files: @@ -107,7 +107,7 @@ variables: # allowing the same e2e config file to be re-used in different Prow jobs e.g. each one with a K8s version permutation. # The following Kubernetes versions should be the latest versions with already published kindest/node images. # This avoids building node images in the default case which improves the test duration significantly. - KUBERNETES_VERSION_MANAGEMENT: "v1.33.0" + KUBERNETES_VERSION_MANAGEMENT: "v1.34.0" IP_FAMILY: "IPv4" CLUSTERCTL_LOG_LEVEL: 10 CLUSTER_TOPOLOGY: "true" @@ -121,18 +121,18 @@ variables: IMAGE_LOOKUP_FORMAT: "\"{{.BaseOS}}-kube-v{{.K8sVersion}}.*\"" NUTANIX_INSECURE: true NUTANIX_ADDITIONAL_TRUST_BUNDLE: "" - KUBERNETES_VERSION: "v1.33.0" + KUBERNETES_VERSION: "v1.34.0" NUTANIX_SSH_AUTHORIZED_KEY: "" CONTROL_PLANE_ENDPOINT_IP: "" CONTROL_PLANE_ENDPOINT_IP_V124: "" CONTROL_PLANE_MACHINE_COUNT: 1 WORKER_MACHINE_COUNT: 1 NUTANIX_PRISM_ELEMENT_CLUSTER_NAME: "" - NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME: "rockylinux-9-kube-v1.33.0.qcow2" + NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME: "rockylinux-9-kube-v1.34.0.qcow2" CONTROL_PLANE_MACHINE_TEMPLATE_UPGRADE_TO: "cluster-upgrade-conformance" WORKERS_MACHINE_TEMPLATE_UPGRADE_TO: "cluster-upgrade-conformance" - NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_TO: "rockylinux-9-kube-v1.33.0.qcow2" - NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_FROM: "rockylinux-9-kube-v1.32.0.qcow2" + NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_TO: "rockylinux-9-kube-v1.34.0.qcow2" + NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_FROM: "rockylinux-9-kube-v1.33.0.qcow2" NUTANIX_SUBNET_NAME: "" # NOTE: 'NUTANIX_ADDITIONAL_SUBNET_NAME' is required for multi network interface e2e tests NUTANIX_ADDITIONAL_SUBNET_NAME: "" @@ -146,8 +146,8 @@ variables: EXP_CLUSTER_RESOURCE_SET: "true" EXP_CLUSTER_TOPOLOGY: "true" DOCKER_POD_CIDRS: "192.168.0.0/16" - KUBERNETES_VERSION_UPGRADE_TO: "v1.33.0" - KUBERNETES_VERSION_UPGRADE_FROM: "v1.32.0" + KUBERNETES_VERSION_UPGRADE_TO: "v1.34.0" + KUBERNETES_VERSION_UPGRADE_FROM: "v1.33.0" ETCD_VERSION_UPGRADE_TO: "3.5.16-0" COREDNS_VERSION_UPGRADE_TO: "v1.11.3" KUBETEST_CONFIGURATION: "./data/kubetest/conformance.yaml" @@ -172,8 +172,8 @@ variables: # NOTE: INIT_WITH_BINARY and INIT_WITH_KUBERNETES_VERSION are only used by the clusterctl upgrade test to initialize # the management cluster to be upgraded. # NOTE: We test the latest release with a previous contract. - INIT_WITH_BINARY: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.3/clusterctl-{OS}-{ARCH}" - INIT_WITH_KUBERNETES_VERSION: "v1.33.0" + INIT_WITH_BINARY: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.1/clusterctl-{OS}-{ARCH}" + INIT_WITH_KUBERNETES_VERSION: "v1.34.0" intervals: default/wait-controllers: ["3m", "10s"] diff --git a/test/e2e/csi_test.go b/test/e2e/csi_test.go index 5c92b86453..225b8cde5f 100644 --- a/test/e2e/csi_test.go +++ b/test/e2e/csi_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix diff --git a/test/e2e/data/shared/metadata.yaml b/test/e2e/data/shared/metadata.yaml index f2f6d8eb1a..96b40ee578 100644 --- a/test/e2e/data/shared/metadata.yaml +++ b/test/e2e/data/shared/metadata.yaml @@ -34,3 +34,6 @@ releaseSeries: - major: 1 minor: 10 contract: v1beta1 + - major: 1 + minor: 11 + contract: v1beta1 diff --git a/test/e2e/data_disks_test.go b/test/e2e/data_disks_test.go index e2c4ab8c6a..b09d994c59 100644 --- a/test/e2e/data_disks_test.go +++ b/test/e2e/data_disks_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2025 Nutanix diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go index c1d4bb0d51..93551a70bc 100644 --- a/test/e2e/e2e_suite_test.go +++ b/test/e2e/e2e_suite_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2020 The Kubernetes Authors. @@ -30,7 +28,7 @@ import ( storagev1 "k8s.io/api/storage/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/test/framework/bootstrap" "sigs.k8s.io/cluster-api/test/framework/clusterctl" diff --git a/test/e2e/failure_domains_migration_test.go b/test/e2e/failure_domains_migration_test.go index 10f0f13149..6eba055bd5 100644 --- a/test/e2e/failure_domains_migration_test.go +++ b/test/e2e/failure_domains_migration_test.go @@ -1,6 +1,3 @@ -//go:build e2e -// +build e2e - /* Copyright 2023 Nutanix @@ -28,8 +25,9 @@ import ( "github.com/onsi/gomega/gstruct" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" - controlplanev1 "sigs.k8s.io/cluster-api/controlplane/kubeadm/api/v1beta1" + controlplanev1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta2" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework/clusterctl" "sigs.k8s.io/controller-runtime/pkg/client" @@ -87,7 +85,7 @@ var _ = Describe("Migrating nutanix failure domains", Label("capx-feature-test", clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: capiv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.FailureDomainsValidatedCondition, Status: corev1.ConditionTrue, }, @@ -159,7 +157,7 @@ var _ = Describe("Migrating nutanix failure domains", Label("capx-feature-test", bootstrapClusterProxy, clusterName, namespace, - capiv1.Condition{ + capiv1beta1.Condition{ Type: infrav1.FailureDomainsValidatedCondition, Status: corev1.ConditionTrue, }, @@ -173,16 +171,16 @@ var _ = Describe("Migrating nutanix failure domains", Label("capx-feature-test", Expect(err).To(BeNil()) now := metav1.Now() kcpCopy := kcp.DeepCopy() - kcpCopy.Spec.RolloutAfter = &now + kcpCopy.Spec.Rollout.After = now err = bootstrapClient.Update(ctx, kcpCopy) Expect(err).To(BeNil()) waitForMachineUpgrade := e2eConfig.GetIntervals("", "wait-machine-upgrade") Eventually( - func() []capiv1.Condition { + func() []capiv1beta2.Condition { err := bootstrapClient.Get(ctx, client.ObjectKeyFromObject(kcp), kcp) Expect(err).To(BeNil()) - return kcp.Status.Conditions + return kcp.Status.Deprecated.V1Beta1.Conditions }, waitForMachineUpgrade..., ).Should( @@ -190,7 +188,7 @@ var _ = Describe("Migrating nutanix failure domains", Label("capx-feature-test", gstruct.MatchFields( gstruct.IgnoreExtras, gstruct.Fields{ - "Type": Equal(controlplanev1.MachinesSpecUpToDateCondition), + "Type": Equal(controlplanev1.MachinesSpecUpToDateV1Beta1Condition), "Status": Equal(corev1.ConditionTrue), }, ), diff --git a/test/e2e/failure_domains_test.go b/test/e2e/failure_domains_test.go index 434fc1748b..108494a07f 100644 --- a/test/e2e/failure_domains_test.go +++ b/test/e2e/failure_domains_test.go @@ -1,6 +1,3 @@ -//go:build e2e -// +build e2e - /* Copyright 2023 Nutanix @@ -25,7 +22,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/test/e2e/gpu_test.go b/test/e2e/gpu_test.go index 54cbd2de25..a8a37a478c 100644 --- a/test/e2e/gpu_test.go +++ b/test/e2e/gpu_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2023 Nutanix diff --git a/test/e2e/k8s_conformance_test.go b/test/e2e/k8s_conformance_test.go index 3f235720e8..b42c754e22 100644 --- a/test/e2e/k8s_conformance_test.go +++ b/test/e2e/k8s_conformance_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix, Inc Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/log/log.go b/test/e2e/log/log.go index 7b8a21263e..e5dadda216 100644 --- a/test/e2e/log/log.go +++ b/test/e2e/log/log.go @@ -1,6 +1,3 @@ -//go:build e2e -// +build e2e - /* Copyright 2022 Nutanix diff --git a/test/e2e/md_rollout_test.go b/test/e2e/md_rollout_test.go index 0eb108bce1..69cd7cf32f 100644 --- a/test/e2e/md_rollout_test.go +++ b/test/e2e/md_rollout_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/md_scale_test.go b/test/e2e/md_scale_test.go index 8c6d5a4e61..999c40892c 100644 --- a/test/e2e/md_scale_test.go +++ b/test/e2e/md_scale_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2021 The Kubernetes Authors. diff --git a/test/e2e/mhc_remediations_test.go b/test/e2e/mhc_remediations_test.go index 30113f8767..a123de18ab 100644 --- a/test/e2e/mhc_remediations_test.go +++ b/test/e2e/mhc_remediations_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/multi_nic_test.go b/test/e2e/multi_nic_test.go index 6c4f441c73..4a0267d9e5 100644 --- a/test/e2e/multi_nic_test.go +++ b/test/e2e/multi_nic_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client.go b/test/e2e/nutanix_client.go index d2dd76ae73..e46521de0a 100644 --- a/test/e2e/nutanix_client.go +++ b/test/e2e/nutanix_client.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client_test.go b/test/e2e/nutanix_client_test.go index bfdf69ed76..ac725d3108 100644 --- a/test/e2e/nutanix_client_test.go +++ b/test/e2e/nutanix_client_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix @@ -27,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/test/e2e/nutanix_failure_domain_move_test.go b/test/e2e/nutanix_failure_domain_move_test.go index 2dff95b327..95d9f06ede 100644 --- a/test/e2e/nutanix_failure_domain_move_test.go +++ b/test/e2e/nutanix_failure_domain_move_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2025 Nutanix diff --git a/test/e2e/projects_test.go b/test/e2e/projects_test.go index dbc23a6b94..5399154acb 100644 --- a/test/e2e/projects_test.go +++ b/test/e2e/projects_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix @@ -25,7 +23,7 @@ import ( . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" - clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/test/e2e/template_test.go b/test/e2e/template_test.go index 66f08ff8fd..74c26d959f 100644 --- a/test/e2e/template_test.go +++ b/test/e2e/template_test.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2025 Nutanix diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index f31d32114e..67a7b6524f 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -1,5 +1,3 @@ -//go:build e2e - /* Copyright 2022 Nutanix @@ -36,7 +34,8 @@ import ( "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/v1beta1" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/test/framework/bootstrap" "sigs.k8s.io/cluster-api/test/framework/clusterctl" @@ -133,12 +132,12 @@ type testHelperInterface interface { deployClusterAndWait(params deployClusterParams, clusterResources *clusterctl.ApplyClusterTemplateAndWaitResult) deleteSecret(params deleteSecretParams) deleteAllClustersAndWait(ctx context.Context, specName string, bootstrapClusterProxy framework.ClusterProxy, namespace *corev1.Namespace, intervalsGetter func(spec, key string) []interface{}) - deleteClusterAndWait(ctx context.Context, specName string, bootstrapClusterProxy framework.ClusterProxy, cluster *capiv1.Cluster, intervalsGetter func(spec, key string) []interface{}) + deleteClusterAndWait(ctx context.Context, specName string, bootstrapClusterProxy framework.ClusterProxy, cluster *capiv1beta2.Cluster, intervalsGetter func(spec, key string) []interface{}) findGPU(ctx context.Context, gpuName string) *prismGoClientV3.GPU generateNMTName(clusterName string) string generateNMTProviderID(clusterName string) string generateTestClusterName(specName string) string - getMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *capiv1.MachineList + getMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *capiv1beta1.MachineList getNutanixMachineForCluster(ctx context.Context, clusterName, namespace, machineName string, bootstrapClusterProxy framework.ClusterProxy) *infrav1.NutanixMachine getNutanixMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *infrav1.NutanixMachineList getNutanixClusterByName(ctx context.Context, input getNutanixClusterByNameInput) *infrav1.NutanixCluster @@ -371,7 +370,7 @@ func (t testHelper) createDefaultNutanixCluster(clusterName, namespace, controlP Namespace: namespace, }, Spec: infrav1.NutanixClusterSpec{ - ControlPlaneEndpoint: capiv1.APIEndpoint{ + ControlPlaneEndpoint: capiv1beta1.APIEndpoint{ Host: controlPlaneEndpointIP, Port: controlPlanePort, }, @@ -493,7 +492,7 @@ func (t testHelper) deleteAllClustersAndWait(ctx context.Context, specName strin }, intervalsGetter(specName, "wait-delete-cluster")...) } -func (t testHelper) deleteClusterAndWait(ctx context.Context, specName string, bootstrapClusterProxy framework.ClusterProxy, cluster *capiv1.Cluster, intervalsGetter func(spec, key string) []interface{}) { +func (t testHelper) deleteClusterAndWait(ctx context.Context, specName string, bootstrapClusterProxy framework.ClusterProxy, cluster *capiv1beta2.Cluster, intervalsGetter func(spec, key string) []interface{}) { framework.DeleteClusterAndWait(ctx, framework.DeleteClusterAndWaitInput{ ClusterProxy: bootstrapClusterProxy, ClusterctlConfigPath: clusterctlConfigPath, @@ -529,9 +528,9 @@ func (t testHelper) getNutanixClusterByName(ctx context.Context, input getNutani return cluster } -func (t testHelper) getMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *capiv1.MachineList { - machineList := &capiv1.MachineList{} - labels := map[string]string{capiv1.ClusterNameLabel: clusterName} +func (t testHelper) getMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *capiv1beta1.MachineList { + machineList := &capiv1beta1.MachineList{} + labels := map[string]string{capiv1beta1.ClusterNameLabel: clusterName} err := bootstrapClusterProxy.GetClient().List(ctx, machineList, client.InNamespace(namespace), client.MatchingLabels(labels)) Expect(err).ShouldNot(HaveOccurred()) return machineList @@ -551,7 +550,7 @@ func (t testHelper) getNutanixMachineForCluster(ctx context.Context, clusterName func (t testHelper) getNutanixMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *infrav1.NutanixMachineList { machineList := &infrav1.NutanixMachineList{} - labels := map[string]string{capiv1.ClusterNameLabel: clusterName} + labels := map[string]string{capiv1beta1.ClusterNameLabel: clusterName} err := bootstrapClusterProxy.GetClient().List(ctx, machineList, client.InNamespace(namespace), client.MatchingLabels(labels)) Expect(err).ShouldNot(HaveOccurred()) return machineList @@ -708,12 +707,12 @@ type verifyConditionParams struct { bootstrapClusterProxy framework.ClusterProxy clusterName string namespace *corev1.Namespace - expectedCondition capiv1.Condition + expectedCondition capiv1beta1.Condition } func (t testHelper) verifyConditionOnNutanixCluster(params verifyConditionParams) { Eventually( - func() []capiv1.Condition { + func() []capiv1beta1.Condition { cluster := t.getNutanixClusterByName(ctx, getNutanixClusterByNameInput{ Getter: params.bootstrapClusterProxy.GetClient(), Name: params.clusterName, From 173895a2c02b744288e264b486cee4a7ec41b235 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Wed, 1 Oct 2025 18:17:54 +0000 Subject: [PATCH 02/28] rev image registry --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 902e11da04..4e0a14ac5c 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ GOTOOL=$(GOCMD) tool EXPORT_RESULT?=false # for CI please set EXPORT_RESULT to true GIT_COMMIT_HASH=$(shell git rev-parse HEAD) -LOCAL_IMAGE_REGISTRY ?= harbor.eng.nutanix.com/atul-dev +LOCAL_IMAGE_REGISTRY ?= ko.local IMG_REPO=${LOCAL_IMAGE_REGISTRY}/cluster-api-provider-nutanix IMG_TAG=e2e-${GIT_COMMIT_HASH} MANAGER_IMAGE=${IMG_REPO}:${IMG_TAG} From f0476c70a06069a8ba12bc74cab600f7a2f302a5 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Thu, 2 Oct 2025 02:52:33 +0000 Subject: [PATCH 03/28] fix: lint --- api/v1beta1/conditions.go | 2 +- api/v1beta1/nutanixcluster_types.go | 2 +- api/v1beta1/nutanixfailuredomain_types.go | 2 +- api/v1beta1/nutanixmachine_types.go | 2 +- api/v1beta1/nutanixmachinetemplate_types.go | 2 +- api/v1beta1/suite_test.go | 2 +- controllers/helpers.go | 6 +++--- controllers/helpers_test.go | 6 +++--- controllers/nutanixcluster_controller.go | 8 +++----- controllers/nutanixcluster_controller_test.go | 9 ++------- controllers/nutanixfailuredomain_controller.go | 4 ++-- controllers/nutanixfailuredomain_controller_test.go | 4 ++-- controllers/nutanixmachine_controller.go | 6 +++--- controllers/nutanixmachine_controller_test.go | 1 - main.go | 4 ++-- pkg/context/context_test.go | 2 +- templates/template_test.go | 4 ++-- test/e2e/capx_regression_test.go | 2 +- test/e2e/categories_test.go | 2 +- test/e2e/clusterctl_upgrade_test.go | 8 ++++---- test/e2e/failure_domains_migration_test.go | 4 ++-- test/e2e/failure_domains_test.go | 2 +- test/e2e/nutanix_client_test.go | 2 +- test/e2e/projects_test.go | 2 +- test/e2e/test_helpers.go | 2 +- 25 files changed, 41 insertions(+), 49 deletions(-) diff --git a/api/v1beta1/conditions.go b/api/v1beta1/conditions.go index e576ff064b..ec176176fb 100644 --- a/api/v1beta1/conditions.go +++ b/api/v1beta1/conditions.go @@ -16,7 +16,7 @@ limitations under the License. package v1beta1 -import capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" +import capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package const ( DeletionFailed = "DeletionFailed" diff --git a/api/v1beta1/nutanixcluster_types.go b/api/v1beta1/nutanixcluster_types.go index 9bb60cc190..26ec2bfce5 100644 --- a/api/v1beta1/nutanixcluster_types.go +++ b/api/v1beta1/nutanixcluster_types.go @@ -23,7 +23,7 @@ import ( credentialTypes "github.com/nutanix-cloud-native/prism-go-client/environment/credentials" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ) const ( diff --git a/api/v1beta1/nutanixfailuredomain_types.go b/api/v1beta1/nutanixfailuredomain_types.go index 2a99c09971..c38db456f4 100644 --- a/api/v1beta1/nutanixfailuredomain_types.go +++ b/api/v1beta1/nutanixfailuredomain_types.go @@ -18,7 +18,7 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ) const ( diff --git a/api/v1beta1/nutanixmachine_types.go b/api/v1beta1/nutanixmachine_types.go index 7288cd075a..4cfa1ab6f6 100644 --- a/api/v1beta1/nutanixmachine_types.go +++ b/api/v1beta1/nutanixmachine_types.go @@ -20,7 +20,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ) // EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! diff --git a/api/v1beta1/nutanixmachinetemplate_types.go b/api/v1beta1/nutanixmachinetemplate_types.go index f3ea4beeb7..9bd6626151 100644 --- a/api/v1beta1/nutanixmachinetemplate_types.go +++ b/api/v1beta1/nutanixmachinetemplate_types.go @@ -18,7 +18,7 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ) // NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. diff --git a/api/v1beta1/suite_test.go b/api/v1beta1/suite_test.go index dd565d658a..7a596e058e 100644 --- a/api/v1beta1/suite_test.go +++ b/api/v1beta1/suite_test.go @@ -8,7 +8,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "k8s.io/client-go/kubernetes/scheme" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/envtest" logf "sigs.k8s.io/controller-runtime/pkg/log" diff --git a/controllers/helpers.go b/controllers/helpers.go index fcef3a2aca..53f4194e79 100644 --- a/controllers/helpers.go +++ b/controllers/helpers.go @@ -37,8 +37,8 @@ import ( "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package ctrl "sigs.k8s.io/controller-runtime" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" @@ -944,7 +944,7 @@ func GetGPUsForPE(ctx context.Context, client *prismclientv3.Client, peUUID stri } // GetLegacyFailureDomainFromNutanixCluster gets the failure domain with a given name from a NutanixCluster object. -func GetLegacyFailureDomainFromNutanixCluster(failureDomainName string, nutanixCluster *infrav1.NutanixCluster) *infrav1.NutanixFailureDomainConfig { //nolint:staticcheck // suppress complaining on Deprecated type +func GetLegacyFailureDomainFromNutanixCluster(failureDomainName string, nutanixCluster *infrav1.NutanixCluster) *infrav1.NutanixFailureDomainConfig { //nolint:staticcheck // suppress complaining on Deprecated package for _, fd := range nutanixCluster.Spec.FailureDomains { //nolint:staticcheck // suppress complaining on Deprecated field if fd.Name == failureDomainName { return &fd diff --git a/controllers/helpers_test.go b/controllers/helpers_test.go index 3e6ce9c2a5..76ea18dc16 100644 --- a/controllers/helpers_test.go +++ b/controllers/helpers_test.go @@ -85,7 +85,7 @@ func TestControllerHelpers(t *testing.T) { }) It("should return the correct failuredomain", func() { r := util.RandomString(10) - fd1 := infrav1.NutanixFailureDomainConfig{ //nolint:staticcheck // suppress complaining on Deprecated type + fd1 := infrav1.NutanixFailureDomainConfig{ //nolint:staticcheck // suppress complaining on Deprecated package Name: fd1Name, Cluster: infrav1.NutanixResourceIdentifier{ Type: infrav1.NutanixIdentifierName, @@ -99,7 +99,7 @@ func TestControllerHelpers(t *testing.T) { }, ControlPlane: true, } - fd2 := infrav1.NutanixFailureDomainConfig{ //nolint:staticcheck // suppress complaining on Deprecated type + fd2 := infrav1.NutanixFailureDomainConfig{ //nolint:staticcheck // suppress complaining on Deprecated package Name: fd2Name, Cluster: infrav1.NutanixResourceIdentifier{ Type: infrav1.NutanixIdentifierName, @@ -113,7 +113,7 @@ func TestControllerHelpers(t *testing.T) { }, ControlPlane: true, } - ntnxCluster.Spec.FailureDomains = []infrav1.NutanixFailureDomainConfig{ //nolint:staticcheck // suppress complaining on Deprecated type + ntnxCluster.Spec.FailureDomains = []infrav1.NutanixFailureDomainConfig{ //nolint:staticcheck // suppress complaining on Deprecated package fd1, fd2, } diff --git a/controllers/nutanixcluster_controller.go b/controllers/nutanixcluster_controller.go index e7d6ea7d25..e09ece1522 100644 --- a/controllers/nutanixcluster_controller.go +++ b/controllers/nutanixcluster_controller.go @@ -32,14 +32,12 @@ import ( kutilerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiutil "sigs.k8s.io/cluster-api/util" "sigs.k8s.io/cluster-api/util/annotations" - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" - v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" - - // v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util/predicates" ctrl "sigs.k8s.io/controller-runtime" diff --git a/controllers/nutanixcluster_controller_test.go b/controllers/nutanixcluster_controller_test.go index 2e073a3ed9..a65a11e3b6 100644 --- a/controllers/nutanixcluster_controller_test.go +++ b/controllers/nutanixcluster_controller_test.go @@ -36,7 +36,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" utilruntime "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util" ctrl "sigs.k8s.io/controller-runtime" ctlclient "sigs.k8s.io/controller-runtime/pkg/client" @@ -117,7 +117,6 @@ func TestNutanixClusterReconciler(t *testing.T) { }) g.Expect(err).NotTo(HaveOccurred()) g.Expect(result.RequeueAfter).To(BeZero()) - g.Expect(result.Requeue).To(BeFalse()) }) }) @@ -131,7 +130,6 @@ func TestNutanixClusterReconciler(t *testing.T) { }) g.Expect(err).NotTo(HaveOccurred()) g.Expect(result.RequeueAfter).To(BeZero()) - g.Expect(result.Requeue).To(BeFalse()) }) It("should not error and not requeue if no failure domains are configured and cluster is Ready", func() { g.Expect(k8sClient.Create(ctx, ntnxCluster)).To(Succeed()) @@ -142,10 +140,9 @@ func TestNutanixClusterReconciler(t *testing.T) { }) g.Expect(err).NotTo(HaveOccurred()) g.Expect(result.RequeueAfter).To(BeZero()) - g.Expect(result.Requeue).To(BeFalse()) }) It("should not error and not requeue if failure domains (deprecated) are configured and cluster is Ready", func() { - ntnxCluster.Spec.FailureDomains = []infrav1.NutanixFailureDomainConfig{{ //nolint:staticcheck // suppress complaining on Deprecated type + ntnxCluster.Spec.FailureDomains = []infrav1.NutanixFailureDomainConfig{{ //nolint:staticcheck // suppress complaining on Deprecated package Name: "fd-1", Cluster: infrav1.NutanixResourceIdentifier{ Type: infrav1.NutanixIdentifierName, @@ -167,7 +164,6 @@ func TestNutanixClusterReconciler(t *testing.T) { }) g.Expect(err).NotTo(HaveOccurred()) g.Expect(result.RequeueAfter).To(BeZero()) - g.Expect(result.Requeue).To(BeFalse()) }) It("should not error and not requeue if controlPlaneFailureDomains are configured and cluster is Ready", func() { ntnxCluster.Spec.ControlPlaneFailureDomains = []corev1.LocalObjectReference{fdRef} @@ -179,7 +175,6 @@ func TestNutanixClusterReconciler(t *testing.T) { }) g.Expect(err).NotTo(HaveOccurred()) g.Expect(result.RequeueAfter).To(BeZero()) - g.Expect(result.Requeue).To(BeFalse()) }) It("should not error if controlPlaneFailureDomains are configured with unique failure domain names", func() { fdRef1 := corev1.LocalObjectReference{Name: "test-1"} diff --git a/controllers/nutanixfailuredomain_controller.go b/controllers/nutanixfailuredomain_controller.go index bd8a88f679..41aea108c5 100644 --- a/controllers/nutanixfailuredomain_controller.go +++ b/controllers/nutanixfailuredomain_controller.go @@ -25,8 +25,8 @@ import ( kerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util/patch" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/controllers/nutanixfailuredomain_controller_test.go b/controllers/nutanixfailuredomain_controller_test.go index fddccc6cbe..689f67dc3b 100644 --- a/controllers/nutanixfailuredomain_controller_test.go +++ b/controllers/nutanixfailuredomain_controller_test.go @@ -29,9 +29,9 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/uuid" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util" - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" ) diff --git a/controllers/nutanixmachine_controller.go b/controllers/nutanixmachine_controller.go index 1053a6e7f8..a9ad90a107 100644 --- a/controllers/nutanixmachine_controller.go +++ b/controllers/nutanixmachine_controller.go @@ -35,12 +35,12 @@ import ( kerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiutil "sigs.k8s.io/cluster-api/util" "sigs.k8s.io/cluster-api/util/annotations" - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" - v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util/predicates" ctrl "sigs.k8s.io/controller-runtime" diff --git a/controllers/nutanixmachine_controller_test.go b/controllers/nutanixmachine_controller_test.go index f414ea98fb..bcb9d58f03 100644 --- a/controllers/nutanixmachine_controller_test.go +++ b/controllers/nutanixmachine_controller_test.go @@ -221,7 +221,6 @@ func TestNutanixMachineReconciler(t *testing.T) { }) g.Expect(err).NotTo(HaveOccurred()) g.Expect(result.RequeueAfter).To(BeZero()) - g.Expect(result.Requeue).To(BeFalse()) }) }) diff --git a/main.go b/main.go index b11145f7e4..4ea9611be1 100644 --- a/main.go +++ b/main.go @@ -38,9 +38,9 @@ import ( "k8s.io/client-go/rest" "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/workqueue" - bootstrapv1beta1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta1" + bootstrapv1beta1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package bootstrapv1beta2 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta2" - capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiflags "sigs.k8s.io/cluster-api/util/flags" ctrl "sigs.k8s.io/controller-runtime" diff --git a/pkg/context/context_test.go b/pkg/context/context_test.go index 7df3fdb83d..cde5b008a8 100644 --- a/pkg/context/context_test.go +++ b/pkg/context/context_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" "go.uber.org/mock/gomock" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ctlclient "sigs.k8s.io/controller-runtime/pkg/client" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/templates/template_test.go b/templates/template_test.go index 5d47334e49..ded9e10081 100644 --- a/templates/template_test.go +++ b/templates/template_test.go @@ -21,8 +21,8 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/klog/v2/textlogger" "k8s.io/utils/ptr" - controlplanev1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + controlplanev1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package clusterctllog "sigs.k8s.io/cluster-api/cmd/clusterctl/log" "sigs.k8s.io/cluster-api/test/framework/clusterctl" "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/test/e2e/capx_regression_test.go b/test/e2e/capx_regression_test.go index d85db2d483..365e406d9a 100644 --- a/test/e2e/capx_regression_test.go +++ b/test/e2e/capx_regression_test.go @@ -26,7 +26,7 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package clusterv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/test/framework/clusterctl" diff --git a/test/e2e/categories_test.go b/test/e2e/categories_test.go index d913bd246e..6dbbb1a0f0 100644 --- a/test/e2e/categories_test.go +++ b/test/e2e/categories_test.go @@ -23,7 +23,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index 1949c86b4c..8f26f38bf9 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -29,8 +29,8 @@ import ( . "github.com/onsi/gomega" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" - bootstrapv1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + bootstrapv1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package yaml "sigs.k8s.io/cluster-api/cmd/clusterctl/client/yamlprocessor" capie2e "sigs.k8s.io/cluster-api/test/e2e" "sigs.k8s.io/cluster-api/test/framework" @@ -41,8 +41,8 @@ import ( var _ = Describe("clusterctl upgrade CAPX (v1.7.0 => current)", Label("clusterctl-upgrade"), func() { var ( - kubernetesVersion string - nutanixMachineTemplateImageName string + kubernetesVersion string + nutanixMachineTemplateImageName string ) BeforeEach(func() { diff --git a/test/e2e/failure_domains_migration_test.go b/test/e2e/failure_domains_migration_test.go index 6eba055bd5..0ccd9065f2 100644 --- a/test/e2e/failure_domains_migration_test.go +++ b/test/e2e/failure_domains_migration_test.go @@ -26,7 +26,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" controlplanev1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta2" - capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework/clusterctl" "sigs.k8s.io/controller-runtime/pkg/client" @@ -180,7 +180,7 @@ var _ = Describe("Migrating nutanix failure domains", Label("capx-feature-test", func() []capiv1beta2.Condition { err := bootstrapClient.Get(ctx, client.ObjectKeyFromObject(kcp), kcp) Expect(err).To(BeNil()) - return kcp.Status.Deprecated.V1Beta1.Conditions + return kcp.Status.Deprecated.V1Beta1.Conditions //nolint:staticcheck // suppress complaining on Deprecated field }, waitForMachineUpgrade..., ).Should( diff --git a/test/e2e/failure_domains_test.go b/test/e2e/failure_domains_test.go index 108494a07f..e38c6068bc 100644 --- a/test/e2e/failure_domains_test.go +++ b/test/e2e/failure_domains_test.go @@ -22,7 +22,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/test/e2e/nutanix_client_test.go b/test/e2e/nutanix_client_test.go index ac725d3108..587278304a 100644 --- a/test/e2e/nutanix_client_test.go +++ b/test/e2e/nutanix_client_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/test/e2e/projects_test.go b/test/e2e/projects_test.go index 5399154acb..5004beef4e 100644 --- a/test/e2e/projects_test.go +++ b/test/e2e/projects_test.go @@ -23,7 +23,7 @@ import ( . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index 67a7b6524f..ab6a448f47 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -34,7 +34,7 @@ import ( "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/utils/ptr" - capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/test/framework/bootstrap" From 501c40c7ce5763ef536041f96285140fd272d94d Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Thu, 2 Oct 2025 02:53:15 +0000 Subject: [PATCH 04/28] fix: v1beta2 MachineList --- test/e2e/test_helpers.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index ab6a448f47..9392e5dd79 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -137,7 +137,7 @@ type testHelperInterface interface { generateNMTName(clusterName string) string generateNMTProviderID(clusterName string) string generateTestClusterName(specName string) string - getMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *capiv1beta1.MachineList + getMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *capiv1beta2.MachineList getNutanixMachineForCluster(ctx context.Context, clusterName, namespace, machineName string, bootstrapClusterProxy framework.ClusterProxy) *infrav1.NutanixMachine getNutanixMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *infrav1.NutanixMachineList getNutanixClusterByName(ctx context.Context, input getNutanixClusterByNameInput) *infrav1.NutanixCluster @@ -528,8 +528,8 @@ func (t testHelper) getNutanixClusterByName(ctx context.Context, input getNutani return cluster } -func (t testHelper) getMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *capiv1beta1.MachineList { - machineList := &capiv1beta1.MachineList{} +func (t testHelper) getMachinesForCluster(ctx context.Context, clusterName, namespace string, bootstrapClusterProxy framework.ClusterProxy) *capiv1beta2.MachineList { + machineList := &capiv1beta2.MachineList{} labels := map[string]string{capiv1beta1.ClusterNameLabel: clusterName} err := bootstrapClusterProxy.GetClient().List(ctx, machineList, client.InNamespace(namespace), client.MatchingLabels(labels)) Expect(err).ShouldNot(HaveOccurred()) @@ -562,7 +562,7 @@ func (t testHelper) getNutanixVMsForCluster(ctx context.Context, clusterName, na for _, m := range nutanixMachines.Items { machineProviderID := m.Spec.ProviderID Expect(machineProviderID).NotTo(BeNil()) - machineVmUUID := t.stripNutanixIDFromProviderID(*machineProviderID) + machineVmUUID := t.stripNutanixIDFromProviderID(machineProviderID) vm, err := t.nutanixClient.V3.GetVM(ctx, machineVmUUID) Expect(err).ShouldNot(HaveOccurred()) vms = append(vms, vm) @@ -647,7 +647,7 @@ func (t testHelper) verifyCategoriesNutanixMachines(ctx context.Context, cluster for _, m := range nutanixMachines.Items { machineProviderID := m.Spec.ProviderID g.Expect(machineProviderID).NotTo(BeNil()) - machineVmUUID := t.stripNutanixIDFromProviderID(*machineProviderID) + machineVmUUID := t.stripNutanixIDFromProviderID(machineProviderID) vm, err := t.nutanixClient.V3.GetVM(ctx, machineVmUUID) g.Expect(err).ShouldNot(HaveOccurred()) categoriesMappingMeta := vm.Metadata.CategoriesMapping @@ -686,7 +686,7 @@ func (t testHelper) verifyResourceConfigOnNutanixMachines(ctx context.Context, p for _, m := range nutanixMachines.Items { machineProviderID := m.Spec.ProviderID g.Expect(machineProviderID).NotTo(BeNil()) - machineVmUUID := t.stripNutanixIDFromProviderID(*machineProviderID) + machineVmUUID := t.stripNutanixIDFromProviderID(machineProviderID) vm, err := t.nutanixClient.V3.GetVM(ctx, machineVmUUID) g.Expect(err).ShouldNot(HaveOccurred()) vmMemorySizeInMib := *vm.Status.Resources.MemorySizeMib @@ -792,14 +792,14 @@ func (t testHelper) verifyLegacyFailureDomainsOnClusterMachines(ctx context.Cont nutanixMachines := t.getMachinesForCluster(ctx, params.clusterName, params.namespace.Name, params.bootstrapClusterProxy) for _, m := range nutanixMachines.Items { machineSpec := m.Spec - if *machineSpec.FailureDomain == fdName { + if machineSpec.FailureDomain == fdName { // failure domain had a match match = true // Search for failure domain fd := controllers.GetLegacyFailureDomainFromNutanixCluster(fdName, nutanixCluster) Expect(fd).ToNot(BeNil()) // Search for VM - machineVmUUID := t.stripNutanixIDFromProviderID(*machineSpec.ProviderID) + machineVmUUID := t.stripNutanixIDFromProviderID(machineSpec.ProviderID) vm, err := t.nutanixClient.V3.GetVM(ctx, machineVmUUID) Expect(err).ShouldNot(HaveOccurred()) Expect(vm).ToNot(BeNil()) @@ -830,7 +830,7 @@ func (t testHelper) verifyNewFailureDomainsOnClusterMachines(ctx context.Context nutanixMachines := t.getMachinesForCluster(ctx, params.clusterName, params.namespace.Name, params.bootstrapClusterProxy) for _, m := range nutanixMachines.Items { machineSpec := m.Spec - if *machineSpec.FailureDomain == fdName { + if machineSpec.FailureDomain == fdName { // failure domain had a match match = true @@ -842,7 +842,7 @@ func (t testHelper) verifyNewFailureDomainsOnClusterMachines(ctx context.Context Expect(err).ShouldNot(HaveOccurred()) Expect(fdObj).ToNot(BeNil()) // Search for VM - machineVmUUID := t.stripNutanixIDFromProviderID(*machineSpec.ProviderID) + machineVmUUID := t.stripNutanixIDFromProviderID(machineSpec.ProviderID) vm, err := t.nutanixClient.V3.GetVM(ctx, machineVmUUID) Expect(err).ShouldNot(HaveOccurred()) Expect(vm).ToNot(BeNil()) @@ -873,7 +873,9 @@ func (t testHelper) verifyFailureMessageOnClusterMachines(ctx context.Context, p nutanixMachines := t.getMachinesForCluster(ctx, params.clusterName, params.namespace.Name, params.bootstrapClusterProxy) for _, m := range nutanixMachines.Items { machineStatus := m.Status - if machineStatus.Phase == params.expectedPhase && machineStatus.FailureMessage != nil && strings.Contains(*machineStatus.FailureMessage, params.expectedFailureMessage) { //nolint:staticcheck // deprecated field needed for compatibility + if machineStatus.Phase == params.expectedPhase && + machineStatus.Deprecated.V1Beta1.FailureMessage != nil && //nolint:staticcheck // deprecated field needed for compatibility + strings.Contains(*machineStatus.Deprecated.V1Beta1.FailureMessage, params.expectedFailureMessage) { //nolint:staticcheck // deprecated field needed for compatibility return true } } From ebf1f8bf64ba52457c72189d7728f462046cabe5 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Thu, 2 Oct 2025 06:04:06 +0000 Subject: [PATCH 05/28] fix: feature tests: Failed phase removed --- test/e2e/categories_test.go | 1 - test/e2e/config/nutanix.yaml | 2 +- test/e2e/data_disks_test.go | 2 -- test/e2e/gpu_test.go | 2 -- test/e2e/projects_test.go | 1 - test/e2e/test_helpers.go | 5 +---- 6 files changed, 2 insertions(+), 11 deletions(-) diff --git a/test/e2e/categories_test.go b/test/e2e/categories_test.go index 6dbbb1a0f0..8bb08658eb 100644 --- a/test/e2e/categories_test.go +++ b/test/e2e/categories_test.go @@ -165,7 +165,6 @@ var _ = Describe("Nutanix categories", Label("nutanix-feature-test", "categories testHelper.verifyFailureMessageOnClusterMachines(ctx, verifyFailureMessageOnClusterMachinesParams{ clusterName: clusterName, namespace: namespace, - expectedPhase: "Failed", expectedFailureMessage: "not found in category", bootstrapClusterProxy: bootstrapClusterProxy, }) diff --git a/test/e2e/config/nutanix.yaml b/test/e2e/config/nutanix.yaml index b0d15a591e..cfa63a909a 100644 --- a/test/e2e/config/nutanix.yaml +++ b/test/e2e/config/nutanix.yaml @@ -182,7 +182,7 @@ intervals: default/wait-worker-nodes: ["10m", "10s"] default/wait-machine-pool-nodes: ["10m", "10s"] default/wait-delete-cluster: ["10m", "10s"] - default/wait-machine-upgrade: ["20m", "10s"] + default/wait-machine-upgrade: ["30m", "10s"] default/wait-machine-pool-upgrade: ["10m", "10s"] default/wait-nodes-ready: ["10m", "10s"] default/wait-machine-remediation: ["10m", "10s"] diff --git a/test/e2e/data_disks_test.go b/test/e2e/data_disks_test.go index b09d994c59..018675faff 100644 --- a/test/e2e/data_disks_test.go +++ b/test/e2e/data_disks_test.go @@ -154,7 +154,6 @@ var _ = Describe("Nutanix machine data disks", Label("nutanix-feature-test", "da testHelper.verifyFailureMessageOnClusterMachines(ctx, verifyFailureMessageOnClusterMachinesParams{ clusterName: clusterName, namespace: namespace, - expectedPhase: "Failed", expectedFailureMessage: "failed to find storage container 01010101-0101-0101-0101-0101010101", bootstrapClusterProxy: bootstrapClusterProxy, }) @@ -213,7 +212,6 @@ var _ = Describe("Nutanix machine data disks", Label("nutanix-feature-test", "da testHelper.verifyFailureMessageOnClusterMachines(ctx, verifyFailureMessageOnClusterMachinesParams{ clusterName: clusterName, namespace: namespace, - expectedPhase: "Failed", expectedFailureMessage: "Slot scsi.10 is occupied: 10", bootstrapClusterProxy: bootstrapClusterProxy, }) diff --git a/test/e2e/gpu_test.go b/test/e2e/gpu_test.go index a8a37a478c..74f9e75c6b 100644 --- a/test/e2e/gpu_test.go +++ b/test/e2e/gpu_test.go @@ -97,7 +97,6 @@ var _ = Describe("Nutanix Passthrough GPU", Label("nutanix-feature-test", "only- testHelper.verifyFailureMessageOnClusterMachines(ctx, verifyFailureMessageOnClusterMachinesParams{ clusterName: clusterName, namespace: namespace, - expectedPhase: "Failed", expectedFailureMessage: "no available GPU found", bootstrapClusterProxy: bootstrapClusterProxy, }) @@ -249,7 +248,6 @@ var _ = Describe("Nutanix Virtual GPU", Label("nutanix-feature-test", "only-for- testHelper.verifyFailureMessageOnClusterMachines(ctx, verifyFailureMessageOnClusterMachinesParams{ clusterName: clusterName, namespace: namespace, - expectedPhase: "Failed", expectedFailureMessage: "no available GPU found", bootstrapClusterProxy: bootstrapClusterProxy, }) diff --git a/test/e2e/projects_test.go b/test/e2e/projects_test.go index 5004beef4e..1e09c9e2e4 100644 --- a/test/e2e/projects_test.go +++ b/test/e2e/projects_test.go @@ -106,7 +106,6 @@ var _ = Describe("Nutanix projects", Label("nutanix-feature-test", "projects"), testHelper.verifyFailureMessageOnClusterMachines(ctx, verifyFailureMessageOnClusterMachinesParams{ clusterName: clusterName, namespace: namespace, - expectedPhase: "Failed", expectedFailureMessage: "failed to retrieve project", bootstrapClusterProxy: bootstrapClusterProxy, }) diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index 9392e5dd79..4862ed07b3 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -863,7 +863,6 @@ func (t testHelper) verifyNewFailureDomainsOnClusterMachines(ctx context.Context type verifyFailureMessageOnClusterMachinesParams struct { clusterName string namespace *corev1.Namespace - expectedPhase string expectedFailureMessage string bootstrapClusterProxy framework.ClusterProxy } @@ -873,9 +872,7 @@ func (t testHelper) verifyFailureMessageOnClusterMachines(ctx context.Context, p nutanixMachines := t.getMachinesForCluster(ctx, params.clusterName, params.namespace.Name, params.bootstrapClusterProxy) for _, m := range nutanixMachines.Items { machineStatus := m.Status - if machineStatus.Phase == params.expectedPhase && - machineStatus.Deprecated.V1Beta1.FailureMessage != nil && //nolint:staticcheck // deprecated field needed for compatibility - strings.Contains(*machineStatus.Deprecated.V1Beta1.FailureMessage, params.expectedFailureMessage) { //nolint:staticcheck // deprecated field needed for compatibility + if machineStatus.Deprecated.V1Beta1.FailureMessage != nil && strings.Contains(*machineStatus.Deprecated.V1Beta1.FailureMessage, params.expectedFailureMessage) { //nolint:staticcheck // deprecated field return true } } From 10cbb5b364cd49ea63c1d5ef5c8aa85290601519 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Thu, 2 Oct 2025 07:19:10 +0000 Subject: [PATCH 06/28] revert: build e2e --- test/e2e/basic_uuid_test.go | 2 ++ test/e2e/capx_quick_start_test.go | 2 ++ test/e2e/capx_regression_test.go | 2 ++ test/e2e/categories_test.go | 2 ++ test/e2e/cluster_topology.go | 2 ++ test/e2e/cluster_topology_basic_test.go | 2 ++ test/e2e/cluster_topology_conformance_test.go | 2 ++ test/e2e/cluster_topology_k8s_configs.go | 2 ++ test/e2e/cluster_topology_mega_scale_test.go | 2 ++ test/e2e/cluster_topology_scale_in_test.go | 2 ++ test/e2e/cluster_topology_scale_out_test.go | 2 ++ test/e2e/cluster_topology_scale_up_down_test.go | 2 ++ test/e2e/cluster_topology_upgrade_test.go | 2 ++ test/e2e/cluster_upgrade_test.go | 2 ++ test/e2e/clusterclass_changes_test.go | 3 +++ test/e2e/clusterctl_move_test.go | 2 ++ test/e2e/clusterctl_upgrade_test.go | 2 ++ test/e2e/common.go | 2 ++ test/e2e/csi_test.go | 2 ++ test/e2e/data_disks_test.go | 2 ++ test/e2e/e2e_suite_test.go | 2 ++ test/e2e/failure_domains_migration_test.go | 3 +++ test/e2e/failure_domains_test.go | 3 +++ test/e2e/gpu_test.go | 2 ++ test/e2e/k8s_conformance_test.go | 2 ++ test/e2e/log/log.go | 3 +++ test/e2e/md_rollout_test.go | 2 ++ test/e2e/md_scale_test.go | 2 ++ test/e2e/mhc_remediations_test.go | 2 ++ test/e2e/multi_nic_test.go | 2 ++ test/e2e/nutanix_client.go | 2 ++ test/e2e/nutanix_client_test.go | 2 ++ test/e2e/nutanix_failure_domain_move_test.go | 2 ++ test/e2e/projects_test.go | 2 ++ test/e2e/template_test.go | 2 ++ test/e2e/test_helpers.go | 2 ++ 36 files changed, 76 insertions(+) diff --git a/test/e2e/basic_uuid_test.go b/test/e2e/basic_uuid_test.go index 43b8a5e596..afc3c3d360 100644 --- a/test/e2e/basic_uuid_test.go +++ b/test/e2e/basic_uuid_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/capx_quick_start_test.go b/test/e2e/capx_quick_start_test.go index 77b6d29f5d..094b15a9cf 100644 --- a/test/e2e/capx_quick_start_test.go +++ b/test/e2e/capx_quick_start_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/capx_regression_test.go b/test/e2e/capx_regression_test.go index 365e406d9a..873fb3c924 100644 --- a/test/e2e/capx_regression_test.go +++ b/test/e2e/capx_regression_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/categories_test.go b/test/e2e/categories_test.go index 8bb08658eb..6ea243f0f0 100644 --- a/test/e2e/categories_test.go +++ b/test/e2e/categories_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/cluster_topology.go b/test/e2e/cluster_topology.go index ba241ed585..82cf9fb517 100644 --- a/test/e2e/cluster_topology.go +++ b/test/e2e/cluster_topology.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_basic_test.go b/test/e2e/cluster_topology_basic_test.go index 9e7c5f4ce8..907c6c9c98 100644 --- a/test/e2e/cluster_topology_basic_test.go +++ b/test/e2e/cluster_topology_basic_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_conformance_test.go b/test/e2e/cluster_topology_conformance_test.go index 9854237fff..3660b1871e 100644 --- a/test/e2e/cluster_topology_conformance_test.go +++ b/test/e2e/cluster_topology_conformance_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_k8s_configs.go b/test/e2e/cluster_topology_k8s_configs.go index ba7088a76b..43952c284d 100644 --- a/test/e2e/cluster_topology_k8s_configs.go +++ b/test/e2e/cluster_topology_k8s_configs.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_mega_scale_test.go b/test/e2e/cluster_topology_mega_scale_test.go index 3534b1d172..9e2cccf90b 100644 --- a/test/e2e/cluster_topology_mega_scale_test.go +++ b/test/e2e/cluster_topology_mega_scale_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_in_test.go b/test/e2e/cluster_topology_scale_in_test.go index 792ee59af3..cda32d548c 100644 --- a/test/e2e/cluster_topology_scale_in_test.go +++ b/test/e2e/cluster_topology_scale_in_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_out_test.go b/test/e2e/cluster_topology_scale_out_test.go index c85a637390..41a15c5689 100644 --- a/test/e2e/cluster_topology_scale_out_test.go +++ b/test/e2e/cluster_topology_scale_out_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_up_down_test.go b/test/e2e/cluster_topology_scale_up_down_test.go index cba6cbace4..751da5085a 100644 --- a/test/e2e/cluster_topology_scale_up_down_test.go +++ b/test/e2e/cluster_topology_scale_up_down_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_upgrade_test.go b/test/e2e/cluster_topology_upgrade_test.go index 8b66c4708d..b62e44ac32 100644 --- a/test/e2e/cluster_topology_upgrade_test.go +++ b/test/e2e/cluster_topology_upgrade_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_upgrade_test.go b/test/e2e/cluster_upgrade_test.go index 6e76e8c81c..1e67fde921 100644 --- a/test/e2e/cluster_upgrade_test.go +++ b/test/e2e/cluster_upgrade_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix, Inc Copyright 2021 The Kubernetes Authors. diff --git a/test/e2e/clusterclass_changes_test.go b/test/e2e/clusterclass_changes_test.go index 3db679c287..17015c8486 100644 --- a/test/e2e/clusterclass_changes_test.go +++ b/test/e2e/clusterclass_changes_test.go @@ -1,3 +1,6 @@ +//go:build e2e +// +build e2e + /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/clusterctl_move_test.go b/test/e2e/clusterctl_move_test.go index 466fe6d45c..1751b6af47 100644 --- a/test/e2e/clusterctl_move_test.go +++ b/test/e2e/clusterctl_move_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2024 Nutanix diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index 8f26f38bf9..8a0363e6d8 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/common.go b/test/e2e/common.go index 1ed596d14d..bf41101582 100644 --- a/test/e2e/common.go +++ b/test/e2e/common.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/csi_test.go b/test/e2e/csi_test.go index 225b8cde5f..5c92b86453 100644 --- a/test/e2e/csi_test.go +++ b/test/e2e/csi_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/data_disks_test.go b/test/e2e/data_disks_test.go index 018675faff..d6522571d8 100644 --- a/test/e2e/data_disks_test.go +++ b/test/e2e/data_disks_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2025 Nutanix diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go index 93551a70bc..89bac710dd 100644 --- a/test/e2e/e2e_suite_test.go +++ b/test/e2e/e2e_suite_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/failure_domains_migration_test.go b/test/e2e/failure_domains_migration_test.go index 0ccd9065f2..5daab04695 100644 --- a/test/e2e/failure_domains_migration_test.go +++ b/test/e2e/failure_domains_migration_test.go @@ -1,3 +1,6 @@ +//go:build e2e +// +build e2e + /* Copyright 2023 Nutanix diff --git a/test/e2e/failure_domains_test.go b/test/e2e/failure_domains_test.go index e38c6068bc..cb63eea298 100644 --- a/test/e2e/failure_domains_test.go +++ b/test/e2e/failure_domains_test.go @@ -1,3 +1,6 @@ +//go:build e2e +// +build e2e + /* Copyright 2023 Nutanix diff --git a/test/e2e/gpu_test.go b/test/e2e/gpu_test.go index 74f9e75c6b..3f60b4e6af 100644 --- a/test/e2e/gpu_test.go +++ b/test/e2e/gpu_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2023 Nutanix diff --git a/test/e2e/k8s_conformance_test.go b/test/e2e/k8s_conformance_test.go index b42c754e22..3f235720e8 100644 --- a/test/e2e/k8s_conformance_test.go +++ b/test/e2e/k8s_conformance_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix, Inc Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/log/log.go b/test/e2e/log/log.go index e5dadda216..7b8a21263e 100644 --- a/test/e2e/log/log.go +++ b/test/e2e/log/log.go @@ -1,3 +1,6 @@ +//go:build e2e +// +build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/md_rollout_test.go b/test/e2e/md_rollout_test.go index 69cd7cf32f..0eb108bce1 100644 --- a/test/e2e/md_rollout_test.go +++ b/test/e2e/md_rollout_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/md_scale_test.go b/test/e2e/md_scale_test.go index 999c40892c..8c6d5a4e61 100644 --- a/test/e2e/md_scale_test.go +++ b/test/e2e/md_scale_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2021 The Kubernetes Authors. diff --git a/test/e2e/mhc_remediations_test.go b/test/e2e/mhc_remediations_test.go index a123de18ab..30113f8767 100644 --- a/test/e2e/mhc_remediations_test.go +++ b/test/e2e/mhc_remediations_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/multi_nic_test.go b/test/e2e/multi_nic_test.go index 4a0267d9e5..6c4f441c73 100644 --- a/test/e2e/multi_nic_test.go +++ b/test/e2e/multi_nic_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client.go b/test/e2e/nutanix_client.go index e46521de0a..d2dd76ae73 100644 --- a/test/e2e/nutanix_client.go +++ b/test/e2e/nutanix_client.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client_test.go b/test/e2e/nutanix_client_test.go index 587278304a..33e7bac1c9 100644 --- a/test/e2e/nutanix_client_test.go +++ b/test/e2e/nutanix_client_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_failure_domain_move_test.go b/test/e2e/nutanix_failure_domain_move_test.go index 95d9f06ede..2dff95b327 100644 --- a/test/e2e/nutanix_failure_domain_move_test.go +++ b/test/e2e/nutanix_failure_domain_move_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2025 Nutanix diff --git a/test/e2e/projects_test.go b/test/e2e/projects_test.go index 1e09c9e2e4..4c58ea9703 100644 --- a/test/e2e/projects_test.go +++ b/test/e2e/projects_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix diff --git a/test/e2e/template_test.go b/test/e2e/template_test.go index 74c26d959f..66f08ff8fd 100644 --- a/test/e2e/template_test.go +++ b/test/e2e/template_test.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2025 Nutanix diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index 4862ed07b3..8ac2d95ede 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -1,3 +1,5 @@ +//go:build e2e + /* Copyright 2022 Nutanix From 32c9526f518a97f8c6e3d413e51bb90d0efc7718 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Fri, 3 Oct 2025 04:01:52 +0000 Subject: [PATCH 07/28] test data v1.7.0 --- Makefile | 6 ++-- test/e2e/clusterctl_upgrade_test.go | 32 ++++++++----------- test/e2e/common.go | 2 -- test/e2e/config/nutanix.yaml | 6 ++-- .../{v1.6.1 => v1.7.0}/base/cni-patch.yaml | 0 .../base/controlplane-vip.yaml | 0 .../{v1.6.1 => v1.7.0}/base/crs.yaml | 0 .../cluster-template/kustomization.yaml | 2 +- 8 files changed, 21 insertions(+), 27 deletions(-) rename test/e2e/data/infrastructure-nutanix/{v1.6.1 => v1.7.0}/base/cni-patch.yaml (100%) rename test/e2e/data/infrastructure-nutanix/{v1.6.1 => v1.7.0}/base/controlplane-vip.yaml (100%) rename test/e2e/data/infrastructure-nutanix/{v1.6.1 => v1.7.0}/base/crs.yaml (100%) rename test/e2e/data/infrastructure-nutanix/{v1.6.1 => v1.7.0}/cluster-template/kustomization.yaml (81%) diff --git a/Makefile b/Makefile index 4e0a14ac5c..0d9f21499c 100644 --- a/Makefile +++ b/Makefile @@ -257,10 +257,10 @@ undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/confi ##@ Templates .PHONY: cluster-e2e-templates -cluster-e2e-templates: cluster-e2e-templates-v1beta1 cluster-e2e-templates-v161 ## Generate cluster templates for all versions +cluster-e2e-templates: cluster-e2e-templates-v1beta1 cluster-e2e-templates-v170 ## Generate cluster templates for all versions -cluster-e2e-templates-v161: ## Generate cluster templates for CAPX v1.6.1 - kustomize build $(NUTANIX_E2E_TEMPLATES)/v1.6.1/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1.6.1/cluster-template.yaml +cluster-e2e-templates-v170: ## Generate cluster templates for CAPX v1.7.0 + kustomize build $(NUTANIX_E2E_TEMPLATES)/v1.7.0/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1.7.0/cluster-template.yaml cluster-e2e-templates-v1beta1: ## Generate cluster templates for v1beta1 kustomize build $(NUTANIX_E2E_TEMPLATES)/v1beta1/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1beta1/cluster-template.yaml diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index 8a0363e6d8..cde48e3be4 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -41,27 +41,23 @@ import ( "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/test/e2e/log" ) -var _ = Describe("clusterctl upgrade CAPX (v1.7.0 => current)", Label("clusterctl-upgrade"), func() { - var ( - kubernetesVersion string - nutanixMachineTemplateImageName string - ) - - BeforeEach(func() { - kubernetesVersion = e2eConfig.MustGetVariable("KUBERNETES_VERSION") - nutanixMachineTemplateImageName = e2eConfig.MustGetVariable("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME") - }) +var kubernetesVersion = getKubernetesVersion() - BeforeEach(func() { - os.Setenv("KUBERNETES_VERSION", kubernetesVersion) - os.Setenv("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME", nutanixMachineTemplateImageName) - }) +func getKubernetesVersion() string { + if e2eConfig != nil { + if result, ok := e2eConfig.Variables["KUBERNETES_VERSION"]; ok { + return result + } + } else { + if result, ok := os.LookupEnv("KUBERNETES_VERSION"); ok { + return result + } + } - AfterEach(func() { - os.Setenv("KUBERNETES_VERSION", kubernetesVersion) - os.Setenv("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME", nutanixMachineTemplateImageName) - }) + return "undefined" +} +var _ = Describe("clusterctl upgrade CAPX (v1.7.0 => current)", Label("clusterctl-upgrade"), func() { preWaitForCluster := createPreWaitForClusterFunc(func() capie2e.ClusterctlUpgradeSpecInput { return capie2e.ClusterctlUpgradeSpecInput{ E2EConfig: e2eConfig, diff --git a/test/e2e/common.go b/test/e2e/common.go index bf41101582..710abe4f55 100644 --- a/test/e2e/common.go +++ b/test/e2e/common.go @@ -39,8 +39,6 @@ const ( KubernetesVersion = "KUBERNETES_VERSION" CNIPath = "CNI" CNIResources = "CNI_RESOURCES" - KubernetesVersionUpgradeFrom = "KUBERNETES_VERSION_UPGRADE_FROM" - KubernetesVersionUpgradeTo = "KUBERNETES_VERSION_UPGRADE_TO" CPMachineTemplateUpgradeTo = "CONTROL_PLANE_MACHINE_TEMPLATE_UPGRADE_TO" WorkersMachineTemplateUpgradeTo = "WORKERS_MACHINE_TEMPLATE_UPGRADE_TO" EtcdVersionUpgradeTo = "ETCD_VERSION_UPGRADE_TO" diff --git a/test/e2e/config/nutanix.yaml b/test/e2e/config/nutanix.yaml index cfa63a909a..b664b904d3 100644 --- a/test/e2e/config/nutanix.yaml +++ b/test/e2e/config/nutanix.yaml @@ -63,13 +63,13 @@ providers: - name: nutanix type: InfrastructureProvider versions: - - name: v1.6.1 + - name: v1.7.0 type: url - value: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.6.1/infrastructure-components.yaml + value: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.7.0/infrastructure-components.yaml contract: v1beta1 files: - sourcePath: "../../../metadata.yaml" - - sourcePath: "../data/infrastructure-nutanix/v1.6.1/cluster-template.yaml" + - sourcePath: "../data/infrastructure-nutanix/v1.7.0/cluster-template.yaml" - sourcePath: "../data/infrastructure-nutanix/ccm-update.yaml" - name: ${LOCAL_PROVIDER_VERSION} type: kustomize diff --git a/test/e2e/data/infrastructure-nutanix/v1.6.1/base/cni-patch.yaml b/test/e2e/data/infrastructure-nutanix/v1.7.0/base/cni-patch.yaml similarity index 100% rename from test/e2e/data/infrastructure-nutanix/v1.6.1/base/cni-patch.yaml rename to test/e2e/data/infrastructure-nutanix/v1.7.0/base/cni-patch.yaml diff --git a/test/e2e/data/infrastructure-nutanix/v1.6.1/base/controlplane-vip.yaml b/test/e2e/data/infrastructure-nutanix/v1.7.0/base/controlplane-vip.yaml similarity index 100% rename from test/e2e/data/infrastructure-nutanix/v1.6.1/base/controlplane-vip.yaml rename to test/e2e/data/infrastructure-nutanix/v1.7.0/base/controlplane-vip.yaml diff --git a/test/e2e/data/infrastructure-nutanix/v1.6.1/base/crs.yaml b/test/e2e/data/infrastructure-nutanix/v1.7.0/base/crs.yaml similarity index 100% rename from test/e2e/data/infrastructure-nutanix/v1.6.1/base/crs.yaml rename to test/e2e/data/infrastructure-nutanix/v1.7.0/base/crs.yaml diff --git a/test/e2e/data/infrastructure-nutanix/v1.6.1/cluster-template/kustomization.yaml b/test/e2e/data/infrastructure-nutanix/v1.7.0/cluster-template/kustomization.yaml similarity index 81% rename from test/e2e/data/infrastructure-nutanix/v1.6.1/cluster-template/kustomization.yaml rename to test/e2e/data/infrastructure-nutanix/v1.7.0/cluster-template/kustomization.yaml index ac302fcb49..23aa7b016c 100644 --- a/test/e2e/data/infrastructure-nutanix/v1.6.1/cluster-template/kustomization.yaml +++ b/test/e2e/data/infrastructure-nutanix/v1.7.0/cluster-template/kustomization.yaml @@ -1,7 +1,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: -- https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.6.1/cluster-template.yaml +- https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.7.0/cluster-template.yaml - ../base/crs.yaml patches: - path: ../base/cni-patch.yaml From e3ecd2d1fc1499204e38dc6ac6b6dbdd4a89eec6 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Fri, 3 Oct 2025 04:43:53 +0000 Subject: [PATCH 08/28] rev --- test/e2e/clusterctl_upgrade_test.go | 32 ++++++++++++++++------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index cde48e3be4..ad4c394f5c 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -41,23 +41,27 @@ import ( "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/test/e2e/log" ) -var kubernetesVersion = getKubernetesVersion() +var _ = Describe("clusterctl upgrade CAPX (v1.7.0 => current)", Label("clusterctl-upgrade"), func() { + var ( + kubernetesVersion string + nutanixMachineTemplateImageName string + ) + + BeforeEach(func() { + kubernetesVersion = e2eConfig.MustGetVariable("KUBERNETES_VERSION") + nutanixMachineTemplateImageName = e2eConfig.MustGetVariable("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME") + }) -func getKubernetesVersion() string { - if e2eConfig != nil { - if result, ok := e2eConfig.Variables["KUBERNETES_VERSION"]; ok { - return result - } - } else { - if result, ok := os.LookupEnv("KUBERNETES_VERSION"); ok { - return result - } - } + BeforeEach(func() { + os.Setenv("KUBERNETES_VERSION", kubernetesVersion) + os.Setenv("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME", nutanixMachineTemplateImageName) + }) - return "undefined" -} + AfterEach(func() { + os.Setenv("KUBERNETES_VERSION", kubernetesVersion) + os.Setenv("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME", nutanixMachineTemplateImageName) + }) -var _ = Describe("clusterctl upgrade CAPX (v1.7.0 => current)", Label("clusterctl-upgrade"), func() { preWaitForCluster := createPreWaitForClusterFunc(func() capie2e.ClusterctlUpgradeSpecInput { return capie2e.ClusterctlUpgradeSpecInput{ E2EConfig: e2eConfig, From 2f673aac1d689960fe625d0673574a30d4d91d95 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Sat, 4 Oct 2025 05:42:37 +0000 Subject: [PATCH 09/28] fix: lint --- test/e2e/clusterctl_upgrade_test.go | 2 +- test/e2e/config/nutanix.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index ad4c394f5c..8a0363e6d8 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -43,7 +43,7 @@ import ( var _ = Describe("clusterctl upgrade CAPX (v1.7.0 => current)", Label("clusterctl-upgrade"), func() { var ( - kubernetesVersion string + kubernetesVersion string nutanixMachineTemplateImageName string ) diff --git a/test/e2e/config/nutanix.yaml b/test/e2e/config/nutanix.yaml index b664b904d3..68a5e41c20 100644 --- a/test/e2e/config/nutanix.yaml +++ b/test/e2e/config/nutanix.yaml @@ -148,8 +148,8 @@ variables: DOCKER_POD_CIDRS: "192.168.0.0/16" KUBERNETES_VERSION_UPGRADE_TO: "v1.34.0" KUBERNETES_VERSION_UPGRADE_FROM: "v1.33.0" - ETCD_VERSION_UPGRADE_TO: "3.5.16-0" - COREDNS_VERSION_UPGRADE_TO: "v1.11.3" + ETCD_VERSION_UPGRADE_TO: "3.6.4-0" + COREDNS_VERSION_UPGRADE_TO: "v1.12.1" KUBETEST_CONFIGURATION: "./data/kubetest/conformance.yaml" # NOTE: Following parameters are required for CSI flavor testing WEBHOOK_CA: "" From 442bc2ebe286604c99d63e1492a5682d8f016673 Mon Sep 17 00:00:00 2001 From: atulv7 Date: Tue, 7 Oct 2025 07:59:49 +0530 Subject: [PATCH 10/28] merge fix --- pkg/context/context.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/context/context.go b/pkg/context/context.go index 2f97436827..e3caedc75f 100644 --- a/pkg/context/context.go +++ b/pkg/context/context.go @@ -22,6 +22,7 @@ import ( "sync" prismclientv3 "github.com/nutanix-cloud-native/prism-go-client/v3" + "k8s.io/utils/ptr" capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/controllers/remote" ctrl "sigs.k8s.io/controller-runtime" From 12068ad95e518fcb12283019ddaea5e067f912ed Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Wed, 5 Nov 2025 07:18:01 +0000 Subject: [PATCH 11/28] fix: merge issues --- controllers/nutanixcluster_controller_test.go | 2 +- controllers/nutanixmachine_controller.go | 20 +- controllers/nutanixmachine_controller_test.go | 14 +- devbox.lock | 502 +++++++++--------- go.mod | 14 +- go.sum | 21 +- mocks/ctlclient/client_mock.go | 19 + 7 files changed, 305 insertions(+), 287 deletions(-) diff --git a/controllers/nutanixcluster_controller_test.go b/controllers/nutanixcluster_controller_test.go index 83c6c796c6..4e6bbb7eab 100644 --- a/controllers/nutanixcluster_controller_test.go +++ b/controllers/nutanixcluster_controller_test.go @@ -36,7 +36,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" utilruntime "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/util" ctrl "sigs.k8s.io/controller-runtime" ctlclient "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/controllers/nutanixmachine_controller.go b/controllers/nutanixmachine_controller.go index 42f009826f..205b5ce1a4 100644 --- a/controllers/nutanixmachine_controller.go +++ b/controllers/nutanixmachine_controller.go @@ -780,7 +780,7 @@ func (r *NutanixMachineReconciler) getOrCreateVM(rctx *nctx.MachineContext) (*vm // if VM exists if vmFound != nil { - log.Info(fmt.Sprintf("vm %s found with UUID %s", *vm.Spec.Name, rctx.NutanixMachine.Status.VmUUID)) + log.Info(fmt.Sprintf("vm %s found with UUID %s", *vmFound.Name, rctx.NutanixMachine.Status.VmUUID)) v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMProvisionedCondition) return vmFound, nil } @@ -1116,8 +1116,8 @@ func (r *NutanixMachineReconciler) patchMachine(rctx *nctx.MachineContext) error return nil } -func getIpsFromIpv4Info(config *vmmconfig.Ipv4Info) []capiv1.MachineAddress { - addresses := []capiv1.MachineAddress{} +func getIpsFromIpv4Info(config *vmmconfig.Ipv4Info) []capiv1beta1.MachineAddress { + addresses := []capiv1beta1.MachineAddress{} if config == nil { return addresses } @@ -1127,8 +1127,8 @@ func getIpsFromIpv4Info(config *vmmconfig.Ipv4Info) []capiv1.MachineAddress { continue } - addresses = append(addresses, capiv1.MachineAddress{ - Type: capiv1.MachineInternalIP, + addresses = append(addresses, capiv1beta1.MachineAddress{ + Type: capiv1beta1.MachineInternalIP, Address: *ip.Value, }) } @@ -1137,7 +1137,7 @@ func getIpsFromIpv4Info(config *vmmconfig.Ipv4Info) []capiv1.MachineAddress { } func (r *NutanixMachineReconciler) assignAddressesToMachine(rctx *nctx.MachineContext, vm *vmmconfig.Vm) error { - addresses := []capiv1.MachineAddress{} + addresses := []capiv1beta1.MachineAddress{} for _, nic := range vm.Nics { if nic.NetworkInfo == nil { continue @@ -1146,8 +1146,8 @@ func (r *NutanixMachineReconciler) assignAddressesToMachine(rctx *nctx.MachineCo ipv4Config := nic.NetworkInfo.Ipv4Config ipv4Info := nic.NetworkInfo.Ipv4Info if ipv4Config != nil && ipv4Config.IpAddress != nil && ipv4Config.IpAddress.Value != nil { - addresses = append(addresses, capiv1.MachineAddress{ - Type: capiv1.MachineInternalIP, + addresses = append(addresses, capiv1beta1.MachineAddress{ + Type: capiv1beta1.MachineInternalIP, Address: *ipv4Config.IpAddress.Value, }) } else { @@ -1159,8 +1159,8 @@ func (r *NutanixMachineReconciler) assignAddressesToMachine(rctx *nctx.MachineCo return fmt.Errorf("unable to determine network interfaces from VM: %s. Retrying", *vm.Name) } - addresses = append(addresses, capiv1.MachineAddress{ - Type: capiv1.MachineHostName, + addresses = append(addresses, capiv1beta1.MachineAddress{ + Type: capiv1beta1.MachineHostName, Address: *vm.Name, }) diff --git a/controllers/nutanixmachine_controller_test.go b/controllers/nutanixmachine_controller_test.go index 19b4dc25fd..463af98cec 100644 --- a/controllers/nutanixmachine_controller_test.go +++ b/controllers/nutanixmachine_controller_test.go @@ -1444,7 +1444,7 @@ func TestGetSystemDisk(t *testing.T) { Name: vmName, }, Spec: capiv1.MachineSpec{ - Version: &k8sVersion, + Version: k8sVersion, }, } @@ -1532,7 +1532,7 @@ func TestGetSystemDisk(t *testing.T) { Name: vmName, }, Spec: capiv1.MachineSpec{ - Version: &k8sVersion, + Version: k8sVersion, }, } @@ -1600,7 +1600,7 @@ func TestGetSystemDisk(t *testing.T) { Name: vmName, }, Spec: capiv1.MachineSpec{ - Version: &k8sVersion, + Version: k8sVersion, }, } @@ -1689,7 +1689,7 @@ func TestGetSystemDisk(t *testing.T) { Name: vmName, }, Spec: capiv1.MachineSpec{ - Version: &k8sVersion, + Version: k8sVersion, }, } @@ -1751,7 +1751,7 @@ func TestGetSystemDisk(t *testing.T) { Name: vmName, }, Spec: capiv1.MachineSpec{ - Version: &k8sVersion, + Version: k8sVersion, }, } @@ -1819,7 +1819,7 @@ func TestGetSystemDisk(t *testing.T) { Name: vmName, }, Spec: capiv1.MachineSpec{ - Version: &k8sVersion, + Version: k8sVersion, }, } @@ -2849,7 +2849,7 @@ func TestNutanixMachineReconciler_getOrCreateVM(t *testing.T) { Name: vmName, }, Spec: capiv1.MachineSpec{ - Version: ptr.To("v1.28.0"), + Version: "v1.28.0", }, } diff --git a/devbox.lock b/devbox.lock index 9b8c3214c1..0cfff2b21e 100644 --- a/devbox.lock +++ b/devbox.lock @@ -2,8 +2,8 @@ "lockfile_version": "1", "packages": { "bash@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#bash", + "last_modified": "2025-11-03T07:53:02Z", + "resolved": "github:NixOS/nixpkgs/7241bcbb4f099a66aafca120d37c65e8dda32717#bash", "source": "devbox-search", "version": "5.3p3", "systems": { @@ -11,243 +11,243 @@ "outputs": [ { "name": "out", - "path": "/nix/store/dgfikfjky3nq6gycpd08fyvmr7ww1j7j-bash-interactive-5.3p3", + "path": "/nix/store/ndyhaygmwxljqqssbcqz7ir0v5b7cjm9-bash-interactive-5.3p3", "default": true }, { "name": "man", - "path": "/nix/store/f3rz4yan99jnnwcpfw8117ayf37fzxgl-bash-interactive-5.3p3-man", + "path": "/nix/store/h97jp1hh8c7m4x4gnh2kamclvji532wr-bash-interactive-5.3p3-man", "default": true }, - { - "name": "info", - "path": "/nix/store/s3vj6bia2wkjkqn65q5j45clnb4lqf44-bash-interactive-5.3p3-info" - }, { "name": "dev", - "path": "/nix/store/dsb5q7l849wg89s2ziil9950416yjfvi-bash-interactive-5.3p3-dev" + "path": "/nix/store/npy7m215r52p265kcdllsi4gqckm8mqd-bash-interactive-5.3p3-dev" }, { "name": "doc", - "path": "/nix/store/18gckznydb41wm4nzjrpwz39vbraxwbj-bash-interactive-5.3p3-doc" + "path": "/nix/store/ax3k4xvj3a08d2x1x1xz3fn2b3a2ixzp-bash-interactive-5.3p3-doc" + }, + { + "name": "info", + "path": "/nix/store/nvld829w6qy46zqwfjw3xz74gyk9dmhr-bash-interactive-5.3p3-info" } ], - "store_path": "/nix/store/dgfikfjky3nq6gycpd08fyvmr7ww1j7j-bash-interactive-5.3p3" + "store_path": "/nix/store/ndyhaygmwxljqqssbcqz7ir0v5b7cjm9-bash-interactive-5.3p3" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/jh0jbxg80hwywl55zhdqpj0xwji7hw8x-bash-interactive-5.3p3", + "path": "/nix/store/j6myk517krh9dylg4scqmr4b0lv5fgli-bash-interactive-5.3p3", "default": true }, { "name": "man", - "path": "/nix/store/6n3f1g9ylq28a6wifncxw7lww30dn348-bash-interactive-5.3p3-man", + "path": "/nix/store/ml79q81iq3v9k4n0z5xl3i71kqvsdl83-bash-interactive-5.3p3-man", "default": true }, { "name": "debug", - "path": "/nix/store/0dd3c7krk1hg1dqvc8l9h0k2irn3rqwl-bash-interactive-5.3p3-debug" + "path": "/nix/store/lx4f0c3rhk9ddqn8pc745wd3ns9xkz0x-bash-interactive-5.3p3-debug" }, { "name": "dev", - "path": "/nix/store/j72m6znvgzc7v54i2kpxs6a84srgax6y-bash-interactive-5.3p3-dev" + "path": "/nix/store/j3fqzvq8s97x467h4m40d7xyw2vxh7rx-bash-interactive-5.3p3-dev" }, { "name": "doc", - "path": "/nix/store/vnms1jjmq8yds6966bzns4nqpg40ly7i-bash-interactive-5.3p3-doc" + "path": "/nix/store/h5zj9mg3i9cbwd47kd2bnjzmp7nm30c5-bash-interactive-5.3p3-doc" }, { "name": "info", - "path": "/nix/store/ld8k5rrbn8cs8m9frxd2sk6yrx178l6v-bash-interactive-5.3p3-info" + "path": "/nix/store/a1alhf6sswg3xlrmcaifh3rb9kfrm9cn-bash-interactive-5.3p3-info" } ], - "store_path": "/nix/store/jh0jbxg80hwywl55zhdqpj0xwji7hw8x-bash-interactive-5.3p3" + "store_path": "/nix/store/j6myk517krh9dylg4scqmr4b0lv5fgli-bash-interactive-5.3p3" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/8lpyf79mdh9vq3i42477rmc74mjr4b8c-bash-interactive-5.3p3", + "path": "/nix/store/5g662c8853mvznfk9644p73n3pl3x8a5-bash-interactive-5.3p3", "default": true }, { "name": "man", - "path": "/nix/store/g3l616iqkknd27fvjzn4rsdxbhz9ksyk-bash-interactive-5.3p3-man", + "path": "/nix/store/1ylqdjd92h8a2f95hdnilw8kcacvgjbi-bash-interactive-5.3p3-man", "default": true }, { "name": "dev", - "path": "/nix/store/v7l6hil46wbwi9x6fi479ax5vp9civkh-bash-interactive-5.3p3-dev" + "path": "/nix/store/wgfa9427zgi1jbwp1x1svpps9vqcjbiw-bash-interactive-5.3p3-dev" }, { "name": "doc", - "path": "/nix/store/r1bay9idw16whwwfr05z6fdw65d46cmd-bash-interactive-5.3p3-doc" + "path": "/nix/store/5vij240a0w4i4c175y4nidbvijqxqdg8-bash-interactive-5.3p3-doc" }, { "name": "info", - "path": "/nix/store/nvgmnfqr818rf1js8m9v3j60pm0y8wkg-bash-interactive-5.3p3-info" + "path": "/nix/store/6j6anlwy9kax25wbcy7yldsb3kbfsmgh-bash-interactive-5.3p3-info" } ], - "store_path": "/nix/store/8lpyf79mdh9vq3i42477rmc74mjr4b8c-bash-interactive-5.3p3" + "store_path": "/nix/store/5g662c8853mvznfk9644p73n3pl3x8a5-bash-interactive-5.3p3" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/ddx7976jyll30xjbasghv9jailswprcp-bash-interactive-5.3p3", + "path": "/nix/store/fdjz8wqw1yfh3pb58vrsswc30qwz42mx-bash-interactive-5.3p3", "default": true }, { "name": "man", - "path": "/nix/store/w6pbdiqjryl4ygfx5k4ijjcr5f6imv6i-bash-interactive-5.3p3-man", + "path": "/nix/store/09ah8i4b2k1vkj45v1v98n78i9hi4z99-bash-interactive-5.3p3-man", "default": true }, { - "name": "debug", - "path": "/nix/store/hrnsygzq63kyilf0z8b6yfgkn0p04jvc-bash-interactive-5.3p3-debug" + "name": "doc", + "path": "/nix/store/alj67amw4bvv42dx28s0fpjss337m8ab-bash-interactive-5.3p3-doc" }, { - "name": "dev", - "path": "/nix/store/7zwa3r9agcyzf21d0792fvhrsl6gajiy-bash-interactive-5.3p3-dev" + "name": "info", + "path": "/nix/store/9hp1ncpysw576wl1mvyqvwmqmfd6bva1-bash-interactive-5.3p3-info" }, { - "name": "doc", - "path": "/nix/store/fh56dwjf63hivz3vv132v1n822mlgsl3-bash-interactive-5.3p3-doc" + "name": "debug", + "path": "/nix/store/dlp4qsc3vn1d337d3i9icfv98vswiamm-bash-interactive-5.3p3-debug" }, { - "name": "info", - "path": "/nix/store/1qz8y4k79fypmjan5a21f7w8djv9qp58-bash-interactive-5.3p3-info" + "name": "dev", + "path": "/nix/store/559sikka688s7rjgajsssn50ggv0r1gc-bash-interactive-5.3p3-dev" } ], - "store_path": "/nix/store/ddx7976jyll30xjbasghv9jailswprcp-bash-interactive-5.3p3" + "store_path": "/nix/store/fdjz8wqw1yfh3pb58vrsswc30qwz42mx-bash-interactive-5.3p3" } } }, "clusterctl@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#clusterctl", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#clusterctl", "source": "devbox-search", - "version": "1.11.1", + "version": "1.11.2", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/00iyfkai9ya3banvaskivcrmy56k20qi-clusterctl-1.11.1", + "path": "/nix/store/92aa8q2g7jzk300zdbsq9gd3605a0qip-clusterctl-1.11.2", "default": true } ], - "store_path": "/nix/store/00iyfkai9ya3banvaskivcrmy56k20qi-clusterctl-1.11.1" + "store_path": "/nix/store/92aa8q2g7jzk300zdbsq9gd3605a0qip-clusterctl-1.11.2" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/984vp8sncwdsyh0j9c1k79iqbhvzjwwx-clusterctl-1.11.1", + "path": "/nix/store/ks173dwbi2py6hsx2frjld8yqg65wsnf-clusterctl-1.11.2", "default": true } ], - "store_path": "/nix/store/984vp8sncwdsyh0j9c1k79iqbhvzjwwx-clusterctl-1.11.1" + "store_path": "/nix/store/ks173dwbi2py6hsx2frjld8yqg65wsnf-clusterctl-1.11.2" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/brrx4zdjwqk9dif4cq6dvnpv24lkbd8p-clusterctl-1.11.1", + "path": "/nix/store/y8py2q12pmwla88r3w82jwidzjlzxxz8-clusterctl-1.11.2", "default": true } ], - "store_path": "/nix/store/brrx4zdjwqk9dif4cq6dvnpv24lkbd8p-clusterctl-1.11.1" + "store_path": "/nix/store/y8py2q12pmwla88r3w82jwidzjlzxxz8-clusterctl-1.11.2" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/fzrjqvjzfbgmfg6980h6psshkprbywlk-clusterctl-1.11.1", + "path": "/nix/store/4sdg2c6qfa8h5dr7rncx7ygn015rnhi5-clusterctl-1.11.2", "default": true } ], - "store_path": "/nix/store/fzrjqvjzfbgmfg6980h6psshkprbywlk-clusterctl-1.11.1" + "store_path": "/nix/store/4sdg2c6qfa8h5dr7rncx7ygn015rnhi5-clusterctl-1.11.2" } } }, "coreutils@latest": { - "last_modified": "2025-09-21T09:21:16Z", - "resolved": "github:NixOS/nixpkgs/a1f79a1770d05af18111fbbe2a3ab2c42c0f6cd0#coreutils", + "last_modified": "2025-11-03T07:53:02Z", + "resolved": "github:NixOS/nixpkgs/7241bcbb4f099a66aafca120d37c65e8dda32717#coreutils", "source": "devbox-search", - "version": "9.7", + "version": "9.8", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/wbs75n9ffs3ac1pmn4fc7wqs0m9r1z3c-coreutils-9.7", + "path": "/nix/store/xpxisjpwldh5f8y8xniizja9fxvbsqln-coreutils-9.8", "default": true }, { "name": "info", - "path": "/nix/store/6jlign71w02019282ibcb3yshnc5k0zp-coreutils-9.7-info" + "path": "/nix/store/hwhpjxflkbf3r1z836ipapcfz6n7h6wi-coreutils-9.8-info" } ], - "store_path": "/nix/store/wbs75n9ffs3ac1pmn4fc7wqs0m9r1z3c-coreutils-9.7" + "store_path": "/nix/store/xpxisjpwldh5f8y8xniizja9fxvbsqln-coreutils-9.8" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/ics2w6dwhh4lvmv74d7axf4xc8b153wa-coreutils-9.7", + "path": "/nix/store/kmssz33v44ms58zc9v2gv2x019rh4s6h-coreutils-9.8", "default": true }, { "name": "debug", - "path": "/nix/store/pcaxksk3kwxpvh2jcq62d7zci9had7y0-coreutils-9.7-debug" + "path": "/nix/store/8mxdv3zkfd2bfhljny13rsxhn5j6psy5-coreutils-9.8-debug" }, { "name": "info", - "path": "/nix/store/krbf7q4winm2mji16fhz06wca585910d-coreutils-9.7-info" + "path": "/nix/store/24hcz4v2685kj2yfvd5mwnxd7f5iy3n7-coreutils-9.8-info" } ], - "store_path": "/nix/store/ics2w6dwhh4lvmv74d7axf4xc8b153wa-coreutils-9.7" + "store_path": "/nix/store/kmssz33v44ms58zc9v2gv2x019rh4s6h-coreutils-9.8" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/y7g1zx86rxgwyd88h0xiag8604v94x7f-coreutils-9.7", + "path": "/nix/store/js4wzwhm6wv09mxv7lb2zrb25x4ai89g-coreutils-9.8", "default": true }, { "name": "info", - "path": "/nix/store/jzpp0k3dnskvvkd3knnisxzy9v1apacv-coreutils-9.7-info" + "path": "/nix/store/ad47w3v8846x80kz9sbva6z24z48sx1g-coreutils-9.8-info" } ], - "store_path": "/nix/store/y7g1zx86rxgwyd88h0xiag8604v94x7f-coreutils-9.7" + "store_path": "/nix/store/js4wzwhm6wv09mxv7lb2zrb25x4ai89g-coreutils-9.8" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/8ksax0a2mxglr5hlkj2dzl556jx7xqn5-coreutils-9.7", + "path": "/nix/store/xs8scz9w9jp4hpqycx3n3bah5y07ymgj-coreutils-9.8", "default": true }, { "name": "info", - "path": "/nix/store/0jcd383z6gslc471f17hmx0z4a0a7ach-coreutils-9.7-info" + "path": "/nix/store/skcdvhfcdq8wghkiw44j4jalzqi6y56g-coreutils-9.8-info" }, { "name": "debug", - "path": "/nix/store/fskcsdp5ya23myfdps6qc5y2sx6b4jw8-coreutils-9.7-debug" + "path": "/nix/store/ypxgf9nwy3494f25isg2hpgwf506iy7p-coreutils-9.8-debug" } ], - "store_path": "/nix/store/8ksax0a2mxglr5hlkj2dzl556jx7xqn5-coreutils-9.7" + "store_path": "/nix/store/xs8scz9w9jp4hpqycx3n3bah5y07ymgj-coreutils-9.8" } } }, "envsubst@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#envsubst", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#envsubst", "source": "devbox-search", "version": "1.4.3", "systems": { @@ -255,47 +255,47 @@ "outputs": [ { "name": "out", - "path": "/nix/store/x53srg494w0kay6nnj9k1055c8fn3fr9-envsubst-1.4.3", + "path": "/nix/store/gcqi8v95h00rjd84vyh94k8zhin29y6l-envsubst-1.4.3", "default": true } ], - "store_path": "/nix/store/x53srg494w0kay6nnj9k1055c8fn3fr9-envsubst-1.4.3" + "store_path": "/nix/store/gcqi8v95h00rjd84vyh94k8zhin29y6l-envsubst-1.4.3" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/w1dmjl98hzlvq3s590r1gn25yj40ackd-envsubst-1.4.3", + "path": "/nix/store/3s1fcvrfqbg52p3525niq3qslbhzm652-envsubst-1.4.3", "default": true } ], - "store_path": "/nix/store/w1dmjl98hzlvq3s590r1gn25yj40ackd-envsubst-1.4.3" + "store_path": "/nix/store/3s1fcvrfqbg52p3525niq3qslbhzm652-envsubst-1.4.3" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/2a448r35kar7kfnbnkjv6frrb78kwmh6-envsubst-1.4.3", + "path": "/nix/store/8vq4x32pfbwdchrqypf0l0wwvqnkscz6-envsubst-1.4.3", "default": true } ], - "store_path": "/nix/store/2a448r35kar7kfnbnkjv6frrb78kwmh6-envsubst-1.4.3" + "store_path": "/nix/store/8vq4x32pfbwdchrqypf0l0wwvqnkscz6-envsubst-1.4.3" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/icwnmz6p9sviq44ngw3aw7f42qgsavsf-envsubst-1.4.3", + "path": "/nix/store/9smclqyd2rhxd3r8v86rwl4hmz357j7z-envsubst-1.4.3", "default": true } ], - "store_path": "/nix/store/icwnmz6p9sviq44ngw3aw7f42qgsavsf-envsubst-1.4.3" + "store_path": "/nix/store/9smclqyd2rhxd3r8v86rwl4hmz357j7z-envsubst-1.4.3" } } }, "fping@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#fping", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#fping", "source": "devbox-search", "version": "5.4", "systems": { @@ -303,99 +303,99 @@ "outputs": [ { "name": "out", - "path": "/nix/store/9nr2icdr2wy6yvib7jihyr7vsxhsaw80-fping-5.4", + "path": "/nix/store/7w03b0zsi2l8w2mx98whry26g239dc5v-fping-5.4", "default": true } ], - "store_path": "/nix/store/9nr2icdr2wy6yvib7jihyr7vsxhsaw80-fping-5.4" + "store_path": "/nix/store/7w03b0zsi2l8w2mx98whry26g239dc5v-fping-5.4" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/p1cyy4y6qaa0fpv1fmbr2k24z1lklvdi-fping-5.4", + "path": "/nix/store/d9hj0ldmgzkw4mqj8f1frh0vnvysqa35-fping-5.4", "default": true } ], - "store_path": "/nix/store/p1cyy4y6qaa0fpv1fmbr2k24z1lklvdi-fping-5.4" + "store_path": "/nix/store/d9hj0ldmgzkw4mqj8f1frh0vnvysqa35-fping-5.4" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/lqr8dkrfm3pci4c3c4pzk3zlixssfl6g-fping-5.4", + "path": "/nix/store/v9g5x0ayh2kk33gxz775fvkrzrsspqhj-fping-5.4", "default": true } ], - "store_path": "/nix/store/lqr8dkrfm3pci4c3c4pzk3zlixssfl6g-fping-5.4" + "store_path": "/nix/store/v9g5x0ayh2kk33gxz775fvkrzrsspqhj-fping-5.4" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/2m3kndppri7yny6l0yqbpdbxln976hy5-fping-5.4", + "path": "/nix/store/yk4rm8hqib62s8zn1r4dwkqz0y181g1l-fping-5.4", "default": true } ], - "store_path": "/nix/store/2m3kndppri7yny6l0yqbpdbxln976hy5-fping-5.4" + "store_path": "/nix/store/yk4rm8hqib62s8zn1r4dwkqz0y181g1l-fping-5.4" } } }, "ginkgo@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#ginkgo", + "last_modified": "2025-10-30T18:40:41Z", + "resolved": "github:NixOS/nixpkgs/45ebaee5d90bab997812235564af4cf5107bde89#ginkgo", "source": "devbox-search", - "version": "2.25.3", + "version": "2.27.2", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/7clcaqks7lbl5fjcanw6972c3hgiqj11-ginkgo-2.25.3", + "path": "/nix/store/ppl5jkv7ssmz9p00npf0lrs442yb22m4-ginkgo-2.27.2", "default": true } ], - "store_path": "/nix/store/7clcaqks7lbl5fjcanw6972c3hgiqj11-ginkgo-2.25.3" + "store_path": "/nix/store/ppl5jkv7ssmz9p00npf0lrs442yb22m4-ginkgo-2.27.2" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/3dryrkdcgin5861a6krmwz8c0dsjvnmp-ginkgo-2.25.3", + "path": "/nix/store/pdxcj312ybm80s7iv5x4ckyi6zg06fc1-ginkgo-2.27.2", "default": true } ], - "store_path": "/nix/store/3dryrkdcgin5861a6krmwz8c0dsjvnmp-ginkgo-2.25.3" + "store_path": "/nix/store/pdxcj312ybm80s7iv5x4ckyi6zg06fc1-ginkgo-2.27.2" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/kgb8jr73wgczcmhiyqdn3prdgp9zwmn8-ginkgo-2.25.3", + "path": "/nix/store/vn78a333k7w277r1mcrvaqjkvkpa9m1c-ginkgo-2.27.2", "default": true } ], - "store_path": "/nix/store/kgb8jr73wgczcmhiyqdn3prdgp9zwmn8-ginkgo-2.25.3" + "store_path": "/nix/store/vn78a333k7w277r1mcrvaqjkvkpa9m1c-ginkgo-2.27.2" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/hkybq08mc4l02l671z7yv4rwa00h1id1-ginkgo-2.25.3", + "path": "/nix/store/vzaakmqsrxik9zmrgwkqbdzp216z011z-ginkgo-2.27.2", "default": true } ], - "store_path": "/nix/store/hkybq08mc4l02l671z7yv4rwa00h1id1-ginkgo-2.25.3" + "store_path": "/nix/store/vzaakmqsrxik9zmrgwkqbdzp216z011z-ginkgo-2.27.2" } } }, "github:NixOS/nixpkgs/nixpkgs-unstable": { - "last_modified": "2025-09-28T14:42:27Z", - "resolved": "github:NixOS/nixpkgs/647e5c14cbd5067f44ac86b74f014962df460840?lastModified=1759070547&narHash=sha256-JVZl8NaVRYb0%2B381nl7LvPE%2BA774%2FdRpif01FKLrYFQ%3D" + "last_modified": "2025-11-03T07:53:02Z", + "resolved": "github:NixOS/nixpkgs/7241bcbb4f099a66aafca120d37c65e8dda32717?lastModified=1762156382&narHash=sha256-Yg7Ag7ov5%2B36jEFC1DaZh%2F12SEXo6OO3%2F8rqADRxiqs%3D" }, "gnumake@latest": { - "last_modified": "2025-09-21T00:54:27Z", - "resolved": "github:NixOS/nixpkgs/51c8f9cfaae8306d135095bcdb3df9027f95542d#gnumake", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#gnumake", "source": "devbox-search", "version": "4.4.1", "systems": { @@ -403,187 +403,187 @@ "outputs": [ { "name": "out", - "path": "/nix/store/sjxx5p05vzq7xam62h21cyzkbyb1amvd-gnumake-4.4.1", + "path": "/nix/store/zr6nvq9ama3y1nhjpdhrgacrk9hg0p7m-gnumake-4.4.1", "default": true }, { "name": "man", - "path": "/nix/store/a4aay80xgirjm8hk1rd142qcd1kkfps8-gnumake-4.4.1-man", + "path": "/nix/store/68mjxlv0jd70galxjx88978j220qvy2w-gnumake-4.4.1-man", "default": true }, { "name": "info", - "path": "/nix/store/cwx5agxi3ig3gmbk4c4dn7df2krzlddy-gnumake-4.4.1-info" + "path": "/nix/store/gs4yxm5a7d3nprhki0nhvgkyf1qmwg6k-gnumake-4.4.1-info" } ], - "store_path": "/nix/store/sjxx5p05vzq7xam62h21cyzkbyb1amvd-gnumake-4.4.1" + "store_path": "/nix/store/zr6nvq9ama3y1nhjpdhrgacrk9hg0p7m-gnumake-4.4.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/9cns3585v908dwbf5nfqqjghv955ndrq-gnumake-4.4.1", + "path": "/nix/store/qah1z8qz3jl5104x8wj00x9qqlxzd5n2-gnumake-4.4.1", "default": true }, { "name": "man", - "path": "/nix/store/0a4l47b9sqc28ssi5hsq21ivs2hmbzcp-gnumake-4.4.1-man", + "path": "/nix/store/dlpphdrnlizli5xfpyrc2h21yf47n2aw-gnumake-4.4.1-man", "default": true }, { "name": "debug", - "path": "/nix/store/j8lcp5zjdq0l0ipvji7s13vdc53nzcki-gnumake-4.4.1-debug" + "path": "/nix/store/gkgyv58r897z65fcl54ih23iip2d552z-gnumake-4.4.1-debug" }, { "name": "info", - "path": "/nix/store/8922q241lh4qbxd2g7jxsnjnkfmgap3z-gnumake-4.4.1-info" + "path": "/nix/store/vnx2hz71ac4x62a1rr39ak2dmwybdd5r-gnumake-4.4.1-info" } ], - "store_path": "/nix/store/9cns3585v908dwbf5nfqqjghv955ndrq-gnumake-4.4.1" + "store_path": "/nix/store/qah1z8qz3jl5104x8wj00x9qqlxzd5n2-gnumake-4.4.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/fy063r4nqi1w79bklqhiv7ny0xwdqjp3-gnumake-4.4.1", + "path": "/nix/store/y0fzfgy59x3kwhh535cvrn9r7i5wd9xq-gnumake-4.4.1", "default": true }, { "name": "man", - "path": "/nix/store/g7nffhgbmv3r01199lhp0qz741kvnlvf-gnumake-4.4.1-man", + "path": "/nix/store/lizzz78df6p2q84vxn0fq90z3ls4hvpd-gnumake-4.4.1-man", "default": true }, { "name": "info", - "path": "/nix/store/451pi5y9s89na99pxv6jjvqa44r08dha-gnumake-4.4.1-info" + "path": "/nix/store/yyq62s4yh31wx97g7r6f9lif178w47ng-gnumake-4.4.1-info" } ], - "store_path": "/nix/store/fy063r4nqi1w79bklqhiv7ny0xwdqjp3-gnumake-4.4.1" + "store_path": "/nix/store/y0fzfgy59x3kwhh535cvrn9r7i5wd9xq-gnumake-4.4.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/ahxj2q2mrl9z2k77ahqsl9j4zxq1wf84-gnumake-4.4.1", + "path": "/nix/store/frwvl0f18pk66clb8gqlby33wldx84aq-gnumake-4.4.1", "default": true }, { "name": "man", - "path": "/nix/store/ha44mgbdcrzgah0dnjd28ax4hrdkc4mm-gnumake-4.4.1-man", + "path": "/nix/store/k1m93yfl4p51nnciskn2pbxqm2sv0mxm-gnumake-4.4.1-man", "default": true }, { "name": "debug", - "path": "/nix/store/7vrxj6zy7y4a83d2q9585sxmcnkfs9ml-gnumake-4.4.1-debug" + "path": "/nix/store/10jld6gf62ldl1da3126487g4gxs35v2-gnumake-4.4.1-debug" }, { "name": "info", - "path": "/nix/store/m0ijkc5j3wdawh302pns9b45v9n6nq64-gnumake-4.4.1-info" + "path": "/nix/store/b51jfnxlardqir240px0wnfp64gzxfkl-gnumake-4.4.1-info" } ], - "store_path": "/nix/store/ahxj2q2mrl9z2k77ahqsl9j4zxq1wf84-gnumake-4.4.1" + "store_path": "/nix/store/frwvl0f18pk66clb8gqlby33wldx84aq-gnumake-4.4.1" } } }, "go@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#go", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#go", "source": "devbox-search", - "version": "1.25.0", + "version": "1.25.2", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/cr196bvbbai01r0w11p1inkzkdrqdx6y-go-1.25.0", + "path": "/nix/store/nkhf1yv637cp91y79zap7jxmm98v8pvj-go-1.25.2", "default": true } ], - "store_path": "/nix/store/cr196bvbbai01r0w11p1inkzkdrqdx6y-go-1.25.0" + "store_path": "/nix/store/nkhf1yv637cp91y79zap7jxmm98v8pvj-go-1.25.2" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/yhcdwwikp86p2cpq0qr7di91ji63460s-go-1.25.0", + "path": "/nix/store/p1d8jb1k4db3aiqwyp8b1kw4mja3qygx-go-1.25.2", "default": true } ], - "store_path": "/nix/store/yhcdwwikp86p2cpq0qr7di91ji63460s-go-1.25.0" + "store_path": "/nix/store/p1d8jb1k4db3aiqwyp8b1kw4mja3qygx-go-1.25.2" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/hz7dfw13v8iff4vf6vbnqnlnd7wh7j5x-go-1.25.0", + "path": "/nix/store/xvwacgkf3x446qq3mdsh3v13f8935wa3-go-1.25.2", "default": true } ], - "store_path": "/nix/store/hz7dfw13v8iff4vf6vbnqnlnd7wh7j5x-go-1.25.0" + "store_path": "/nix/store/xvwacgkf3x446qq3mdsh3v13f8935wa3-go-1.25.2" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/3fd683jfggglpshxprz9mi5sz8wd3c9p-go-1.25.0", + "path": "/nix/store/k1kn1c59ss7nq6agdppzq3krwmi3xqy4-go-1.25.2", "default": true } ], - "store_path": "/nix/store/3fd683jfggglpshxprz9mi5sz8wd3c9p-go-1.25.0" + "store_path": "/nix/store/k1kn1c59ss7nq6agdppzq3krwmi3xqy4-go-1.25.2" } } }, "golangci-lint@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#golangci-lint", + "last_modified": "2025-10-30T18:40:41Z", + "resolved": "github:NixOS/nixpkgs/45ebaee5d90bab997812235564af4cf5107bde89#golangci-lint", "source": "devbox-search", - "version": "2.4.0", + "version": "2.6.0", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/2iiw320mwgw7flh47zbz6l62fakrb3dx-golangci-lint-2.4.0", + "path": "/nix/store/3d9s59vm4hjgavsnfkd18p5krry20fgv-golangci-lint-2.6.0", "default": true } ], - "store_path": "/nix/store/2iiw320mwgw7flh47zbz6l62fakrb3dx-golangci-lint-2.4.0" + "store_path": "/nix/store/3d9s59vm4hjgavsnfkd18p5krry20fgv-golangci-lint-2.6.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/hwr3wdhqnlcay07xpgv2wm1mx7k5nkhf-golangci-lint-2.4.0", + "path": "/nix/store/2yk0xhvyvx5f2x41wnlx5n9hijvb2xyv-golangci-lint-2.6.0", "default": true } ], - "store_path": "/nix/store/hwr3wdhqnlcay07xpgv2wm1mx7k5nkhf-golangci-lint-2.4.0" + "store_path": "/nix/store/2yk0xhvyvx5f2x41wnlx5n9hijvb2xyv-golangci-lint-2.6.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/skcc363l41rm6hjyrhzlfbk3rrwci2lb-golangci-lint-2.4.0", + "path": "/nix/store/573khksn3wshypg14xx9i3fy0xn2iwzj-golangci-lint-2.6.0", "default": true } ], - "store_path": "/nix/store/skcc363l41rm6hjyrhzlfbk3rrwci2lb-golangci-lint-2.4.0" + "store_path": "/nix/store/573khksn3wshypg14xx9i3fy0xn2iwzj-golangci-lint-2.6.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/dlz6z4dih7rd6q9dnigvz49npfmv8m52-golangci-lint-2.4.0", + "path": "/nix/store/gqgzprwh1lpfkvwcyb7z2zn2higx445w-golangci-lint-2.6.0", "default": true } ], - "store_path": "/nix/store/dlz6z4dih7rd6q9dnigvz49npfmv8m52-golangci-lint-2.4.0" + "store_path": "/nix/store/gqgzprwh1lpfkvwcyb7z2zn2higx445w-golangci-lint-2.6.0" } } }, "gotestsum@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#gotestsum", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#gotestsum", "source": "devbox-search", "version": "1.13.0", "systems": { @@ -591,47 +591,47 @@ "outputs": [ { "name": "out", - "path": "/nix/store/2zn5wpiid1wnllfizp5ggrn2d6q80999-gotestsum-1.13.0", + "path": "/nix/store/gy2lw44hwwr8ynwawc1aapjbgky9b18v-gotestsum-1.13.0", "default": true } ], - "store_path": "/nix/store/2zn5wpiid1wnllfizp5ggrn2d6q80999-gotestsum-1.13.0" + "store_path": "/nix/store/gy2lw44hwwr8ynwawc1aapjbgky9b18v-gotestsum-1.13.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/vmpxx927knfjg0wznyzhzal3gmfwgz3d-gotestsum-1.13.0", + "path": "/nix/store/g4ymm7bj0gn4d2wlr3p6fss294fd60a5-gotestsum-1.13.0", "default": true } ], - "store_path": "/nix/store/vmpxx927knfjg0wznyzhzal3gmfwgz3d-gotestsum-1.13.0" + "store_path": "/nix/store/g4ymm7bj0gn4d2wlr3p6fss294fd60a5-gotestsum-1.13.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/72jjqwzfp1cj98g6920bizbszj99j89x-gotestsum-1.13.0", + "path": "/nix/store/lravs922blpvy7z7zphhwa9ckrnp9a52-gotestsum-1.13.0", "default": true } ], - "store_path": "/nix/store/72jjqwzfp1cj98g6920bizbszj99j89x-gotestsum-1.13.0" + "store_path": "/nix/store/lravs922blpvy7z7zphhwa9ckrnp9a52-gotestsum-1.13.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/ax0ca74aywswi150dsyhkaj0bg9gfrqy-gotestsum-1.13.0", + "path": "/nix/store/f2blr825z2jw3rsmk47p3jyf1zi8lc8f-gotestsum-1.13.0", "default": true } ], - "store_path": "/nix/store/ax0ca74aywswi150dsyhkaj0bg9gfrqy-gotestsum-1.13.0" + "store_path": "/nix/store/f2blr825z2jw3rsmk47p3jyf1zi8lc8f-gotestsum-1.13.0" } } }, "kind@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kind", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#kind", "source": "devbox-search", "version": "0.30.0", "systems": { @@ -639,47 +639,47 @@ "outputs": [ { "name": "out", - "path": "/nix/store/f1zv1knf82xycmg383rgmyp83h61hnin-kind-0.30.0", + "path": "/nix/store/0jqqgl8vg7ppk70zgagfbv7maydcz2r4-kind-0.30.0", "default": true } ], - "store_path": "/nix/store/f1zv1knf82xycmg383rgmyp83h61hnin-kind-0.30.0" + "store_path": "/nix/store/0jqqgl8vg7ppk70zgagfbv7maydcz2r4-kind-0.30.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/y6nb7p504s22yc5crh6mxqnxcvl2wbah-kind-0.30.0", + "path": "/nix/store/4fh21i34gifqz12d2kbk2r14xyh4m885-kind-0.30.0", "default": true } ], - "store_path": "/nix/store/y6nb7p504s22yc5crh6mxqnxcvl2wbah-kind-0.30.0" + "store_path": "/nix/store/4fh21i34gifqz12d2kbk2r14xyh4m885-kind-0.30.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/1hi5hxjdklrmjrvi9j142h1aakr458ia-kind-0.30.0", + "path": "/nix/store/ip0ba3b4dgp7b6bivdshf1x668hh72cc-kind-0.30.0", "default": true } ], - "store_path": "/nix/store/1hi5hxjdklrmjrvi9j142h1aakr458ia-kind-0.30.0" + "store_path": "/nix/store/ip0ba3b4dgp7b6bivdshf1x668hh72cc-kind-0.30.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/myld9sswhrl252bjrr60nl2ls9338vf3-kind-0.30.0", + "path": "/nix/store/wrznv97xc63ijk541f95zyzn09s6qlzy-kind-0.30.0", "default": true } ], - "store_path": "/nix/store/myld9sswhrl252bjrr60nl2ls9338vf3-kind-0.30.0" + "store_path": "/nix/store/wrznv97xc63ijk541f95zyzn09s6qlzy-kind-0.30.0" } } }, "ko@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#ko", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#ko", "source": "devbox-search", "version": "0.18.0", "systems": { @@ -687,131 +687,131 @@ "outputs": [ { "name": "out", - "path": "/nix/store/5ih92i62zphph34zvf92fg5hmb8lc1nd-ko-0.18.0", + "path": "/nix/store/z00prwfva8w74qj54x2286849h0n1594-ko-0.18.0", "default": true } ], - "store_path": "/nix/store/5ih92i62zphph34zvf92fg5hmb8lc1nd-ko-0.18.0" + "store_path": "/nix/store/z00prwfva8w74qj54x2286849h0n1594-ko-0.18.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/4vgqqsprrdskv54yx21ghvn1b9xhz3jk-ko-0.18.0", + "path": "/nix/store/40f0nymzr1i0gdavdc47clsg5gj0q2m6-ko-0.18.0", "default": true } ], - "store_path": "/nix/store/4vgqqsprrdskv54yx21ghvn1b9xhz3jk-ko-0.18.0" + "store_path": "/nix/store/40f0nymzr1i0gdavdc47clsg5gj0q2m6-ko-0.18.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/phnihji8z3d0mhy4d588iaikpr5wkf1z-ko-0.18.0", + "path": "/nix/store/xlad0bvypm8x668l8a3k5bb93aihdvic-ko-0.18.0", "default": true } ], - "store_path": "/nix/store/phnihji8z3d0mhy4d588iaikpr5wkf1z-ko-0.18.0" + "store_path": "/nix/store/xlad0bvypm8x668l8a3k5bb93aihdvic-ko-0.18.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/xim7l8qplv2grkdywi3hdzs72wbkl5z4-ko-0.18.0", + "path": "/nix/store/5c7xbdz4xybzjz17x5gjxi9k028aqgj4-ko-0.18.0", "default": true } ], - "store_path": "/nix/store/xim7l8qplv2grkdywi3hdzs72wbkl5z4-ko-0.18.0" + "store_path": "/nix/store/5c7xbdz4xybzjz17x5gjxi9k028aqgj4-ko-0.18.0" } } }, "kubectl@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kubectl", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#kubectl", "source": "devbox-search", - "version": "1.33.4", + "version": "1.34.1", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/l9qa55xhnsif5bd8jc558pl2kraiwisx-kubectl-1.33.4", + "path": "/nix/store/pv5lknr9a985cdmxy0zqg0vk0562w1js-kubectl-1.34.1", "default": true }, { "name": "man", - "path": "/nix/store/1ax04d2wdfp63df3gbjdsq523ql895yc-kubectl-1.33.4-man", + "path": "/nix/store/5xfa19i31d4vhvbjihf6inqbp410fsp5-kubectl-1.34.1-man", "default": true }, { "name": "convert", - "path": "/nix/store/p7xb87g2vz00n97fhaaqwr9jdvcp5647-kubectl-1.33.4-convert" + "path": "/nix/store/ciffxa4czjlmjzmq4yq21l8zkjvadxsq-kubectl-1.34.1-convert" } ], - "store_path": "/nix/store/l9qa55xhnsif5bd8jc558pl2kraiwisx-kubectl-1.33.4" + "store_path": "/nix/store/pv5lknr9a985cdmxy0zqg0vk0562w1js-kubectl-1.34.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/a95sq4yvhbrh4njn49glnp2xmbd3k3q1-kubectl-1.33.4", + "path": "/nix/store/8xfnh8k465mm5q2cnh83hqk3h4p9i9n2-kubectl-1.34.1", "default": true }, { "name": "man", - "path": "/nix/store/5jnghhpmiympxr759s1pqbksg3gld6d8-kubectl-1.33.4-man", + "path": "/nix/store/0s8wk88y5rnvnbgsy77x3ak02fnsq01i-kubectl-1.34.1-man", "default": true }, { "name": "convert", - "path": "/nix/store/5sxzhci6fxn8jv3x9xkab1jdb43ynpzr-kubectl-1.33.4-convert" + "path": "/nix/store/hhdzbn767znxinwswfqab0d0bg2jpwln-kubectl-1.34.1-convert" } ], - "store_path": "/nix/store/a95sq4yvhbrh4njn49glnp2xmbd3k3q1-kubectl-1.33.4" + "store_path": "/nix/store/8xfnh8k465mm5q2cnh83hqk3h4p9i9n2-kubectl-1.34.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/417lxr3l5cy3m86iywhhrkbkx2j9y1xk-kubectl-1.33.4", + "path": "/nix/store/80mql1xb9i7l5pb9cs5kmmgxhp351lv1-kubectl-1.34.1", "default": true }, { "name": "man", - "path": "/nix/store/q5gf3an5cmfzyl2wqw21ll01yfmjxm0j-kubectl-1.33.4-man", + "path": "/nix/store/qf79cl59w1kga58030s9a9nvk2b3m1qc-kubectl-1.34.1-man", "default": true }, { "name": "convert", - "path": "/nix/store/2kfp817d37kbsrjh48f8l26hmf12b97z-kubectl-1.33.4-convert" + "path": "/nix/store/0msa3w7f7bazgfpa2icmz7fkvcdrn4d7-kubectl-1.34.1-convert" } ], - "store_path": "/nix/store/417lxr3l5cy3m86iywhhrkbkx2j9y1xk-kubectl-1.33.4" + "store_path": "/nix/store/80mql1xb9i7l5pb9cs5kmmgxhp351lv1-kubectl-1.34.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/abp5rhv8vnij5k08m5id75vdq4nnkqqq-kubectl-1.33.4", + "path": "/nix/store/hkdsjac8x7pvq0lmazmg7qs6y8k6kayh-kubectl-1.34.1", "default": true }, { "name": "man", - "path": "/nix/store/75afy3w5985pck1f7bvwwq7gzawf9i9c-kubectl-1.33.4-man", + "path": "/nix/store/g5wlm6mrnf1pgjqapfb5r8zkh37rizgf-kubectl-1.34.1-man", "default": true }, { "name": "convert", - "path": "/nix/store/1yhls3wrancjn52md7552kyalbh7dd5b-kubectl-1.33.4-convert" + "path": "/nix/store/aq74byw89ckq4hiw85gl2cq4c8h99wqi-kubectl-1.34.1-convert" } ], - "store_path": "/nix/store/abp5rhv8vnij5k08m5id75vdq4nnkqqq-kubectl-1.33.4" + "store_path": "/nix/store/hkdsjac8x7pvq0lmazmg7qs6y8k6kayh-kubectl-1.34.1" } } }, "kubernetes-code-generator@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kubernetes-code-generator", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#kubernetes-code-generator", "source": "devbox-search", "version": "0.25.4", "systems": { @@ -819,47 +819,47 @@ "outputs": [ { "name": "out", - "path": "/nix/store/708kfklzg28xngrv1kgvcs6knc9h37la-code-generator-0.25.4", + "path": "/nix/store/7a239zka8991hwxh5xxi8p6ij26ca3gx-code-generator-0.25.4", "default": true } ], - "store_path": "/nix/store/708kfklzg28xngrv1kgvcs6knc9h37la-code-generator-0.25.4" + "store_path": "/nix/store/7a239zka8991hwxh5xxi8p6ij26ca3gx-code-generator-0.25.4" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/qapnpn3nb4v6r609q8fcsairflpy89ll-code-generator-0.25.4", + "path": "/nix/store/wlwqil41nq1vws6qszq08idqnwm45pd2-code-generator-0.25.4", "default": true } ], - "store_path": "/nix/store/qapnpn3nb4v6r609q8fcsairflpy89ll-code-generator-0.25.4" + "store_path": "/nix/store/wlwqil41nq1vws6qszq08idqnwm45pd2-code-generator-0.25.4" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/xpygmjd6m1vfk63hh7xdd5x6ihpx5ngy-code-generator-0.25.4", + "path": "/nix/store/p7fah8bhgaflv93f9avbfi256hkgdpi1-code-generator-0.25.4", "default": true } ], - "store_path": "/nix/store/xpygmjd6m1vfk63hh7xdd5x6ihpx5ngy-code-generator-0.25.4" + "store_path": "/nix/store/p7fah8bhgaflv93f9avbfi256hkgdpi1-code-generator-0.25.4" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/4v1zcdg1gsh5hzhq0bisvj0z2fd7168v-code-generator-0.25.4", + "path": "/nix/store/mxwy7p2vr4ayr2abfljb09jlz673ddl1-code-generator-0.25.4", "default": true } ], - "store_path": "/nix/store/4v1zcdg1gsh5hzhq0bisvj0z2fd7168v-code-generator-0.25.4" + "store_path": "/nix/store/mxwy7p2vr4ayr2abfljb09jlz673ddl1-code-generator-0.25.4" } } }, "kubernetes-controller-tools@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kubernetes-controller-tools", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#kubernetes-controller-tools", "source": "devbox-search", "version": "0.19.0", "systems": { @@ -867,47 +867,47 @@ "outputs": [ { "name": "out", - "path": "/nix/store/14b8iz2sjl8pi5221qngxkp7zm9cfcs6-controller-tools-0.19.0", + "path": "/nix/store/ak8gk2yw96kj04x6lh87mm9c0ibk6ncx-controller-tools-0.19.0", "default": true } ], - "store_path": "/nix/store/14b8iz2sjl8pi5221qngxkp7zm9cfcs6-controller-tools-0.19.0" + "store_path": "/nix/store/ak8gk2yw96kj04x6lh87mm9c0ibk6ncx-controller-tools-0.19.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/4ddff0298zwybmfmaia48vx38nsmy5l8-controller-tools-0.19.0", + "path": "/nix/store/jr3cf6164z715k6w26ar0dhqzipfw0c7-controller-tools-0.19.0", "default": true } ], - "store_path": "/nix/store/4ddff0298zwybmfmaia48vx38nsmy5l8-controller-tools-0.19.0" + "store_path": "/nix/store/jr3cf6164z715k6w26ar0dhqzipfw0c7-controller-tools-0.19.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/cbqmdz5j9xkwlarcn49zyaigk0fqrz9j-controller-tools-0.19.0", + "path": "/nix/store/h3ic6mkfa6pibc3qfp6g82b688ngbc11-controller-tools-0.19.0", "default": true } ], - "store_path": "/nix/store/cbqmdz5j9xkwlarcn49zyaigk0fqrz9j-controller-tools-0.19.0" + "store_path": "/nix/store/h3ic6mkfa6pibc3qfp6g82b688ngbc11-controller-tools-0.19.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/9gx9sm2dm12caaw5943s1yfqh6g5nvbc-controller-tools-0.19.0", + "path": "/nix/store/7ka9pd54byidc9191nlcfsa8nydyipa9-controller-tools-0.19.0", "default": true } ], - "store_path": "/nix/store/9gx9sm2dm12caaw5943s1yfqh6g5nvbc-controller-tools-0.19.0" + "store_path": "/nix/store/7ka9pd54byidc9191nlcfsa8nydyipa9-controller-tools-0.19.0" } } }, "kubernetes-helm@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kubernetes-helm", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#kubernetes-helm", "source": "devbox-search", "version": "3.19.0", "systems": { @@ -915,47 +915,47 @@ "outputs": [ { "name": "out", - "path": "/nix/store/8irl5599sb6a89qqa9y3mb8j4d2h2vm2-kubernetes-helm-3.19.0", + "path": "/nix/store/bacpi311s0g9s86lfx2jd1p2wf3ddp9z-kubernetes-helm-3.19.0", "default": true } ], - "store_path": "/nix/store/8irl5599sb6a89qqa9y3mb8j4d2h2vm2-kubernetes-helm-3.19.0" + "store_path": "/nix/store/bacpi311s0g9s86lfx2jd1p2wf3ddp9z-kubernetes-helm-3.19.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/xqrwcjbk1mkp72y9gdqk0h770s7jfqwy-kubernetes-helm-3.19.0", + "path": "/nix/store/nla16isv3jp1lp7m12hf80g1wsc2vqdb-kubernetes-helm-3.19.0", "default": true } ], - "store_path": "/nix/store/xqrwcjbk1mkp72y9gdqk0h770s7jfqwy-kubernetes-helm-3.19.0" + "store_path": "/nix/store/nla16isv3jp1lp7m12hf80g1wsc2vqdb-kubernetes-helm-3.19.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/5k9n5ifg8j39wqgidmihxcw3jn03hr6x-kubernetes-helm-3.19.0", + "path": "/nix/store/5crm4xm7pji6zh01gy1a6wk2r76mcn8d-kubernetes-helm-3.19.0", "default": true } ], - "store_path": "/nix/store/5k9n5ifg8j39wqgidmihxcw3jn03hr6x-kubernetes-helm-3.19.0" + "store_path": "/nix/store/5crm4xm7pji6zh01gy1a6wk2r76mcn8d-kubernetes-helm-3.19.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/xhdxsw1rkwpj4j1c020r9bii97n9d624-kubernetes-helm-3.19.0", + "path": "/nix/store/q0cxby7givhaah1xkr6v76xn9q99jy85-kubernetes-helm-3.19.0", "default": true } ], - "store_path": "/nix/store/xhdxsw1rkwpj4j1c020r9bii97n9d624-kubernetes-helm-3.19.0" + "store_path": "/nix/store/q0cxby7givhaah1xkr6v76xn9q99jy85-kubernetes-helm-3.19.0" } } }, "kustomize@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#kustomize", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#kustomize", "source": "devbox-search", "version": "5.7.1", "systems": { @@ -963,47 +963,47 @@ "outputs": [ { "name": "out", - "path": "/nix/store/5pgyq35qpyfrn6mf3ggplyaj7q5ffyc5-kustomize-5.7.1", + "path": "/nix/store/jvl8sm5fdaxq9qmvvnnwdjgapnflxc6z-kustomize-5.7.1", "default": true } ], - "store_path": "/nix/store/5pgyq35qpyfrn6mf3ggplyaj7q5ffyc5-kustomize-5.7.1" + "store_path": "/nix/store/jvl8sm5fdaxq9qmvvnnwdjgapnflxc6z-kustomize-5.7.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/7dyf7f45vbk17yyqi2ixm0q9vr3wxnhj-kustomize-5.7.1", + "path": "/nix/store/yavzhdcg0wzl50gmv8fch00kihjc55rf-kustomize-5.7.1", "default": true } ], - "store_path": "/nix/store/7dyf7f45vbk17yyqi2ixm0q9vr3wxnhj-kustomize-5.7.1" + "store_path": "/nix/store/yavzhdcg0wzl50gmv8fch00kihjc55rf-kustomize-5.7.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/10z0szlvplmgbs5621shaqni7lnn66qy-kustomize-5.7.1", + "path": "/nix/store/zv2q7j235adv16p3bizywn5z3vdsnasv-kustomize-5.7.1", "default": true } ], - "store_path": "/nix/store/10z0szlvplmgbs5621shaqni7lnn66qy-kustomize-5.7.1" + "store_path": "/nix/store/zv2q7j235adv16p3bizywn5z3vdsnasv-kustomize-5.7.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/0rxls8l3yfxrm3d1iax9yhq9l4x23zzh-kustomize-5.7.1", + "path": "/nix/store/c24nyixhy98p4as6fc9282g873lmlv8v-kustomize-5.7.1", "default": true } ], - "store_path": "/nix/store/0rxls8l3yfxrm3d1iax9yhq9l4x23zzh-kustomize-5.7.1" + "store_path": "/nix/store/c24nyixhy98p4as6fc9282g873lmlv8v-kustomize-5.7.1" } } }, "mockgen@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#mockgen", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#mockgen", "source": "devbox-search", "version": "0.6.0", "systems": { @@ -1011,47 +1011,47 @@ "outputs": [ { "name": "out", - "path": "/nix/store/r522cmzfdvswnbgmm9637ic9yy4xg0gn-mockgen-0.6.0", + "path": "/nix/store/30nbxnwr94dg1a3p6qa384flig7jn682-mockgen-0.6.0", "default": true } ], - "store_path": "/nix/store/r522cmzfdvswnbgmm9637ic9yy4xg0gn-mockgen-0.6.0" + "store_path": "/nix/store/30nbxnwr94dg1a3p6qa384flig7jn682-mockgen-0.6.0" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/8f4r73bswayv93kxcq0f76rpf24qajsd-mockgen-0.6.0", + "path": "/nix/store/qzx7rhkz9kc2cj00jsddfr6zhhbfklxv-mockgen-0.6.0", "default": true } ], - "store_path": "/nix/store/8f4r73bswayv93kxcq0f76rpf24qajsd-mockgen-0.6.0" + "store_path": "/nix/store/qzx7rhkz9kc2cj00jsddfr6zhhbfklxv-mockgen-0.6.0" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/c17vj62wfwr0kak9jwryz9k5dxr3w5r2-mockgen-0.6.0", + "path": "/nix/store/cd2809ncmc26py16790scx15ccdnwz80-mockgen-0.6.0", "default": true } ], - "store_path": "/nix/store/c17vj62wfwr0kak9jwryz9k5dxr3w5r2-mockgen-0.6.0" + "store_path": "/nix/store/cd2809ncmc26py16790scx15ccdnwz80-mockgen-0.6.0" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/0phqllnxvr1rq19g55dyfdsshhrzp5a4-mockgen-0.6.0", + "path": "/nix/store/i77kzq07ll4p7406s8g6bglin8nr34l4-mockgen-0.6.0", "default": true } ], - "store_path": "/nix/store/0phqllnxvr1rq19g55dyfdsshhrzp5a4-mockgen-0.6.0" + "store_path": "/nix/store/i77kzq07ll4p7406s8g6bglin8nr34l4-mockgen-0.6.0" } } }, "yamllint@latest": { - "last_modified": "2025-09-18T16:33:27Z", - "resolved": "github:NixOS/nixpkgs/f4b140d5b253f5e2a1ff4e5506edbf8267724bde#yamllint", + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#yamllint", "source": "devbox-search", "version": "1.37.1", "systems": { @@ -1059,57 +1059,57 @@ "outputs": [ { "name": "out", - "path": "/nix/store/1ajlhkwnvxnirqacd95ccvcp4n4a2l6d-python3.13-yamllint-1.37.1", + "path": "/nix/store/2nlfbp5bi1xyvgn1bvzavxmzdid9h46q-python3.13-yamllint-1.37.1", "default": true }, { "name": "dist", - "path": "/nix/store/nc9v27cadla3hzarrypl7xqv714aj851-python3.13-yamllint-1.37.1-dist" + "path": "/nix/store/h83yb6wnzbilpzaigrwp3aiavscwkdb6-python3.13-yamllint-1.37.1-dist" } ], - "store_path": "/nix/store/1ajlhkwnvxnirqacd95ccvcp4n4a2l6d-python3.13-yamllint-1.37.1" + "store_path": "/nix/store/2nlfbp5bi1xyvgn1bvzavxmzdid9h46q-python3.13-yamllint-1.37.1" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/wdn4zyww6gv95lhz0jvcfrf0an4vfbjf-python3.13-yamllint-1.37.1", + "path": "/nix/store/7v9ivrg5d8rxrdaqjwqvn37bsysng8vb-python3.13-yamllint-1.37.1", "default": true }, { "name": "dist", - "path": "/nix/store/llpps8kklgvx2m7xa8vnbfhcdrkirii7-python3.13-yamllint-1.37.1-dist" + "path": "/nix/store/fx325kif9i4l5a57ian244k9pqrkannr-python3.13-yamllint-1.37.1-dist" } ], - "store_path": "/nix/store/wdn4zyww6gv95lhz0jvcfrf0an4vfbjf-python3.13-yamllint-1.37.1" + "store_path": "/nix/store/7v9ivrg5d8rxrdaqjwqvn37bsysng8vb-python3.13-yamllint-1.37.1" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/6yfzxvgkr2v043462sm2h6g2pjkm506n-python3.13-yamllint-1.37.1", + "path": "/nix/store/6fa9skx7c6gsahjp6w94x3hv303gsrbx-python3.13-yamllint-1.37.1", "default": true }, { "name": "dist", - "path": "/nix/store/hjh468yvb9nrw6jhizirvrjym8ngq35q-python3.13-yamllint-1.37.1-dist" + "path": "/nix/store/6p2z3fqiarscxry99b3lph5kkplnxsrg-python3.13-yamllint-1.37.1-dist" } ], - "store_path": "/nix/store/6yfzxvgkr2v043462sm2h6g2pjkm506n-python3.13-yamllint-1.37.1" + "store_path": "/nix/store/6fa9skx7c6gsahjp6w94x3hv303gsrbx-python3.13-yamllint-1.37.1" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/0v7zz7l98yw23xwk2j4fkccbj36dpjml-python3.13-yamllint-1.37.1", + "path": "/nix/store/ivl3jbcdnykvq4mmkbz9i7gpw5b86k67-python3.13-yamllint-1.37.1", "default": true }, { "name": "dist", - "path": "/nix/store/wpnf4f2x6qjkkk31s0505qiima771vxw-python3.13-yamllint-1.37.1-dist" + "path": "/nix/store/rl4bv7wrmd9y343r08r9j3p6359zzah8-python3.13-yamllint-1.37.1-dist" } ], - "store_path": "/nix/store/0v7zz7l98yw23xwk2j4fkccbj36dpjml-python3.13-yamllint-1.37.1" + "store_path": "/nix/store/ivl3jbcdnykvq4mmkbz9i7gpw5b86k67-python3.13-yamllint-1.37.1" } } } diff --git a/go.mod b/go.mod index 4ae7eb396d..74018e0f75 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/stretchr/testify v1.10.0 go.uber.org/mock v0.6.0 go.uber.org/zap v1.27.0 - golang.org/x/crypto v0.40.0 // indirect; CVE fixes for https://avd.aquasec.com/nvd/cve-2025-22869 + golang.org/x/crypto v0.41.0 // indirect; CVE fixes for https://avd.aquasec.com/nvd/cve-2025-22869 golang.org/x/time v0.9.0 k8s.io/api v0.34.1 k8s.io/apiextensions-apiserver v0.34.1 @@ -99,7 +99,7 @@ require ( github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect - github.com/hashicorp/go-retryablehttp v0.7.1 // indirect + github.com/hashicorp/go-retryablehttp v0.7.7 // indirect github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -155,13 +155,13 @@ require ( go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect - golang.org/x/net v0.42.0 // indirect + golang.org/x/net v0.43.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/sync v0.16.0 // indirect - golang.org/x/sys v0.34.0 // indirect - golang.org/x/term v0.33.0 // indirect - golang.org/x/text v0.27.0 // indirect - golang.org/x/tools v0.34.0 // indirect + golang.org/x/sys v0.35.0 // indirect + golang.org/x/term v0.34.0 // indirect + golang.org/x/text v0.28.0 // indirect + golang.org/x/tools v0.36.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect diff --git a/go.sum b/go.sum index c66eb468b1..a8239afb6c 100644 --- a/go.sum +++ b/go.sum @@ -196,7 +196,6 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92Bcuy github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= @@ -416,8 +415,8 @@ go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= -golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= @@ -463,20 +462,20 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= -golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= -golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= +golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= +golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= 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= @@ -490,8 +489,8 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= -golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +golang.org/x/tools v0.36.0 h1:kWS0uv/zsvHEle1LbV5LE8QujrxB3wfQyxHfhOk0Qkg= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= 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= diff --git a/mocks/ctlclient/client_mock.go b/mocks/ctlclient/client_mock.go index 5e1c38172e..28d77dc2c3 100644 --- a/mocks/ctlclient/client_mock.go +++ b/mocks/ctlclient/client_mock.go @@ -44,6 +44,25 @@ func (m *MockClient) EXPECT() *MockClientMockRecorder { return m.recorder } +// Apply mocks base method. +func (m *MockClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...client.ApplyOption) error { + m.ctrl.T.Helper() + varargs := []any{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Apply", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Apply indicates an expected call of Apply. +func (mr *MockClientMockRecorder) Apply(ctx, obj any, opts ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockClient)(nil).Apply), varargs...) +} + // Create mocks base method. func (m *MockClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error { m.ctrl.T.Helper() From b60125da5c52fd8a67ffc53bad3485916f22ea65 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Wed, 5 Nov 2025 07:24:42 +0000 Subject: [PATCH 12/28] fix: merge issues --- test/e2e/test_helpers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index 82717e0f8e..71be35adf5 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -137,7 +137,7 @@ type testHelperInterface interface { deployClusterAndWait(params deployClusterParams, clusterResources *clusterctl.ApplyClusterTemplateAndWaitResult) deleteSecret(params deleteSecretParams) deleteAllClustersAndWait(ctx context.Context, specName string, bootstrapClusterProxy framework.ClusterProxy, namespace *corev1.Namespace, intervalsGetter func(spec, key string) []interface{}) - deleteClusterAndWait(ctx context.Context, specName string, bootstrapClusterProxy framework.ClusterProxy, cluster *capiv1.Cluster, intervalsGetter func(spec, key string) []interface{}) + deleteClusterAndWait(ctx context.Context, specName string, bootstrapClusterProxy framework.ClusterProxy, cluster *capiv1beta2.Cluster, intervalsGetter func(spec, key string) []interface{}) findGPU(ctx context.Context, gpuName string) *vmmconfig.Gpu generateNMTName(clusterName string) string generateNMTProviderID(clusterName string) string From 518ef1d7ba2a776bce69ef212186f9a59b71f8b9 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Wed, 5 Nov 2025 07:29:33 +0000 Subject: [PATCH 13/28] fix: lint --- test/e2e/clusterclass_changes_test.go | 1 - test/e2e/failure_domains_migration_test.go | 1 - test/e2e/failure_domains_test.go | 1 - test/e2e/log/log.go | 1 - 4 files changed, 4 deletions(-) diff --git a/test/e2e/clusterclass_changes_test.go b/test/e2e/clusterclass_changes_test.go index 17015c8486..3215e3f8b3 100644 --- a/test/e2e/clusterclass_changes_test.go +++ b/test/e2e/clusterclass_changes_test.go @@ -1,5 +1,4 @@ //go:build e2e -// +build e2e /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/failure_domains_migration_test.go b/test/e2e/failure_domains_migration_test.go index 5daab04695..b49f61fbcc 100644 --- a/test/e2e/failure_domains_migration_test.go +++ b/test/e2e/failure_domains_migration_test.go @@ -1,5 +1,4 @@ //go:build e2e -// +build e2e /* Copyright 2023 Nutanix diff --git a/test/e2e/failure_domains_test.go b/test/e2e/failure_domains_test.go index cb63eea298..faf77aec51 100644 --- a/test/e2e/failure_domains_test.go +++ b/test/e2e/failure_domains_test.go @@ -1,5 +1,4 @@ //go:build e2e -// +build e2e /* Copyright 2023 Nutanix diff --git a/test/e2e/log/log.go b/test/e2e/log/log.go index 7b8a21263e..64fdd653fa 100644 --- a/test/e2e/log/log.go +++ b/test/e2e/log/log.go @@ -1,5 +1,4 @@ //go:build e2e -// +build e2e /* Copyright 2022 Nutanix From 07e731dd9ffce9942fec026be7696010283548c3 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Mon, 17 Nov 2025 06:05:48 +0000 Subject: [PATCH 14/28] fix: added getter and setter for v1beta2 conditions --- api/v1beta1/nutanixcluster_types.go | 32 +++++++ api/v1beta1/nutanixfailuredomain_types.go | 32 +++++++ api/v1beta1/nutanixmachine_types.go | 32 +++++++ api/v1beta1/zz_generated.deepcopy.go | 82 +++++++++++++++++ ...ture.cluster.x-k8s.io_nutanixclusters.yaml | 69 ++++++++++++++ ...luster.x-k8s.io_nutanixfailuredomains.yaml | 69 ++++++++++++++ ...ture.cluster.x-k8s.io_nutanixmachines.yaml | 69 ++++++++++++++ controllers/helpers.go | 38 +++++++- controllers/nutanixcluster_controller.go | 68 +++++++++++++- .../nutanixfailuredomain_controller.go | 21 ++++- .../nutanixfailuredomain_controller_test.go | 10 +- controllers/nutanixmachine_controller.go | 91 ++++++++++++++++++- go.mod | 29 +++--- go.sum | 88 +++++++++++------- 14 files changed, 671 insertions(+), 59 deletions(-) diff --git a/api/v1beta1/nutanixcluster_types.go b/api/v1beta1/nutanixcluster_types.go index 26ec2bfce5..83579a553c 100644 --- a/api/v1beta1/nutanixcluster_types.go +++ b/api/v1beta1/nutanixcluster_types.go @@ -103,6 +103,22 @@ type NutanixClusterStatus struct { // Will be set in case of failure of Cluster instance // +optional FailureMessage *string `json:"failureMessage,omitempty"` + + // v1beta2 groups all the fields that will be added or modified in NutanixCluster's status with the V1Beta2 version. + // +optional + V1Beta2 *NutanixClusterV1Beta2Status `json:"v1beta2,omitempty"` +} + +// NutanixClusterV1Beta2Status groups all the fields that will be added or modified in NutanixClusterStatus with the V1Beta2 version. +// See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context. +type NutanixClusterV1Beta2Status struct { + // conditions represents the observations of a NutanixCluster's current state. + // Known condition types are Ready, FailureDomainsReady, VCenterAvailable, ClusterModulesReady and Paused. + // +optional + // +listType=map + // +listMapKey=type + // +kubebuilder:validation:MaxItems=32 + Conditions []metav1.Condition `json:"conditions,omitempty"` } // +kubebuilder:object:root=true @@ -165,6 +181,22 @@ func (ncl *NutanixCluster) SetConditions(conditions capiv1beta1.Conditions) { ncl.Status.Conditions = conditions } +// GetV1Beta2Conditions returns the set of v1beta2 conditions for this object. +func (ncl *NutanixCluster) GetV1Beta2Conditions() []metav1.Condition { + if ncl.Status.V1Beta2 == nil { + return nil + } + return ncl.Status.V1Beta2.Conditions +} + +// SetV1Beta2Conditions sets the v1beta2 conditions on this object. +func (ncl *NutanixCluster) SetV1Beta2Conditions(conditions []metav1.Condition) { + if ncl.Status.V1Beta2 == nil { + ncl.Status.V1Beta2 = &NutanixClusterV1Beta2Status{} + } + ncl.Status.V1Beta2.Conditions = conditions +} + func (ncl *NutanixCluster) GetPrismCentralCredentialRef() (*credentialTypes.NutanixCredentialReference, error) { prismCentralInfo := ncl.Spec.PrismCentral if prismCentralInfo == nil { diff --git a/api/v1beta1/nutanixfailuredomain_types.go b/api/v1beta1/nutanixfailuredomain_types.go index c38db456f4..0ddcf051bc 100644 --- a/api/v1beta1/nutanixfailuredomain_types.go +++ b/api/v1beta1/nutanixfailuredomain_types.go @@ -52,6 +52,22 @@ type NutanixFailureDomainStatus struct { // conditions represent the latest states of the failure domain. // +optional Conditions []capiv1.Condition `json:"conditions,omitempty"` + + // v1beta2 groups all the fields that will be added or modified in NutanixCluster's status with the V1Beta2 version. + // +optional + V1Beta2 *NutanixFailureDomainV1Beta2Status `json:"v1beta2,omitempty"` +} + +// NutanixFailureDomainV1Beta2Status groups all the fields that will be added or modified in NutanixClusterStatus with the V1Beta2 version. +// See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context. +type NutanixFailureDomainV1Beta2Status struct { + // conditions represents the observations of a NutanixFailureDomain's current state. + // Known condition types are Ready, FailureDomainsReady, VCenterAvailable, ClusterModulesReady and Paused. + // +optional + // +listType=map + // +listMapKey=type + // +kubebuilder:validation:MaxItems=32 + Conditions []metav1.Condition `json:"conditions,omitempty"` } // +kubebuilder:object:root=true @@ -79,6 +95,22 @@ func (nfd *NutanixFailureDomain) SetConditions(conditions capiv1.Conditions) { nfd.Status.Conditions = conditions } +// GetV1Beta2Conditions returns the set of conditions for this object. +func (ncl *NutanixFailureDomain) GetV1Beta2Conditions() []metav1.Condition { + if ncl.Status.V1Beta2 == nil { + return nil + } + return ncl.Status.V1Beta2.Conditions +} + +// SetV1Beta2Conditions sets the v1beta2 conditions on this object. +func (ncl *NutanixFailureDomain) SetV1Beta2Conditions(conditions []metav1.Condition) { + if ncl.Status.V1Beta2 == nil { + ncl.Status.V1Beta2 = &NutanixFailureDomainV1Beta2Status{} + } + ncl.Status.V1Beta2.Conditions = conditions +} + // +kubebuilder:object:root=true // NutanixFailureDomainList contains a list of NutanixFailureDomain diff --git a/api/v1beta1/nutanixmachine_types.go b/api/v1beta1/nutanixmachine_types.go index 4cfa1ab6f6..8631db82bf 100644 --- a/api/v1beta1/nutanixmachine_types.go +++ b/api/v1beta1/nutanixmachine_types.go @@ -281,6 +281,22 @@ type NutanixMachineStatus struct { // failureDomain is the name of the failure domain where this Machine has been placed in. // +optional FailureDomain *string `json:"failureDomain,omitempty"` + + // v1beta2 groups all the fields that will be added or modified in NutanixMachine's status with the V1Beta2 version. + // +optional + V1Beta2 *NutanixMachineV1Beta2Status `json:"v1beta2,omitempty"` +} + +// NutanixMachineV1Beta2Status groups all the fields that will be added or modified in NutanixClusterStatus with the V1Beta2 version. +// See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context. +type NutanixMachineV1Beta2Status struct { + // conditions represents the observations of a NutanixMachine's current state. + // Known condition types are Ready, FailureDomainsReady, VCenterAvailable, ClusterModulesReady and Paused. + // +optional + // +listType=map + // +listMapKey=type + // +kubebuilder:validation:MaxItems=32 + Conditions []metav1.Condition `json:"conditions,omitempty"` } // +kubebuilder:object:root=true @@ -310,6 +326,22 @@ func (nm *NutanixMachine) SetConditions(conditions capiv1.Conditions) { nm.Status.Conditions = conditions } +// GetV1Beta2Conditions returns the set of conditions for this object. +func (ncl *NutanixMachine) GetV1Beta2Conditions() []metav1.Condition { + if ncl.Status.V1Beta2 == nil { + return nil + } + return ncl.Status.V1Beta2.Conditions +} + +// SetV1Beta2Conditions sets the v1beta2 conditions on this object. +func (ncl *NutanixMachine) SetV1Beta2Conditions(conditions []metav1.Condition) { + if ncl.Status.V1Beta2 == nil { + ncl.Status.V1Beta2 = &NutanixMachineV1Beta2Status{} + } + ncl.Status.V1Beta2.Conditions = conditions +} + //+kubebuilder:object:root=true // NutanixMachineList contains a list of NutanixMachine diff --git a/api/v1beta1/zz_generated.deepcopy.go b/api/v1beta1/zz_generated.deepcopy.go index b7f7166314..0ed73957ad 100644 --- a/api/v1beta1/zz_generated.deepcopy.go +++ b/api/v1beta1/zz_generated.deepcopy.go @@ -23,6 +23,7 @@ package v1beta1 import ( "github.com/nutanix-cloud-native/prism-go-client/environment/credentials" "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" corev1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" ) @@ -161,6 +162,11 @@ func (in *NutanixClusterStatus) DeepCopyInto(out *NutanixClusterStatus) { *out = new(string) **out = **in } + if in.V1Beta2 != nil { + in, out := &in.V1Beta2, &out.V1Beta2 + *out = new(NutanixClusterV1Beta2Status) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterStatus. @@ -263,6 +269,28 @@ func (in *NutanixClusterTemplateSpec) DeepCopy() *NutanixClusterTemplateSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NutanixClusterV1Beta2Status) DeepCopyInto(out *NutanixClusterV1Beta2Status) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]metav1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterV1Beta2Status. +func (in *NutanixClusterV1Beta2Status) DeepCopy() *NutanixClusterV1Beta2Status { + if in == nil { + return nil + } + out := new(NutanixClusterV1Beta2Status) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NutanixFailureDomain) DeepCopyInto(out *NutanixFailureDomain) { *out = *in @@ -378,6 +406,11 @@ func (in *NutanixFailureDomainStatus) DeepCopyInto(out *NutanixFailureDomainStat (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.V1Beta2 != nil { + in, out := &in.V1Beta2, &out.V1Beta2 + *out = new(NutanixFailureDomainV1Beta2Status) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixFailureDomainStatus. @@ -390,6 +423,28 @@ func (in *NutanixFailureDomainStatus) DeepCopy() *NutanixFailureDomainStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NutanixFailureDomainV1Beta2Status) DeepCopyInto(out *NutanixFailureDomainV1Beta2Status) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]metav1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixFailureDomainV1Beta2Status. +func (in *NutanixFailureDomainV1Beta2Status) DeepCopy() *NutanixFailureDomainV1Beta2Status { + if in == nil { + return nil + } + out := new(NutanixFailureDomainV1Beta2Status) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NutanixGPU) DeepCopyInto(out *NutanixGPU) { *out = *in @@ -593,6 +648,11 @@ func (in *NutanixMachineStatus) DeepCopyInto(out *NutanixMachineStatus) { *out = new(string) **out = **in } + if in.V1Beta2 != nil { + in, out := &in.V1Beta2, &out.V1Beta2 + *out = new(NutanixMachineV1Beta2Status) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineStatus. @@ -696,6 +756,28 @@ func (in *NutanixMachineTemplateSpec) DeepCopy() *NutanixMachineTemplateSpec { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NutanixMachineV1Beta2Status) DeepCopyInto(out *NutanixMachineV1Beta2Status) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]metav1.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineV1Beta2Status. +func (in *NutanixMachineV1Beta2Status) DeepCopy() *NutanixMachineV1Beta2Status { + if in == nil { + return nil + } + out := new(NutanixMachineV1Beta2Status) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *NutanixMachineVMDisk) DeepCopyInto(out *NutanixMachineVMDisk) { *out = *in diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclusters.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclusters.yaml index a29904490d..b1f677096e 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclusters.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixclusters.yaml @@ -370,6 +370,75 @@ spec: type: string ready: type: boolean + v1beta2: + description: v1beta2 groups all the fields that will be added or modified + in NutanixCluster's status with the V1Beta2 version. + properties: + conditions: + description: |- + conditions represents the observations of a NutanixCluster's current state. + Known condition types are Ready, FailureDomainsReady, VCenterAvailable, ClusterModulesReady and Paused. + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 32 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object type: object type: object served: true diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixfailuredomains.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixfailuredomains.yaml index ea463cd8fd..b023446389 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixfailuredomains.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixfailuredomains.yaml @@ -185,6 +185,75 @@ spec: - type type: object type: array + v1beta2: + description: v1beta2 groups all the fields that will be added or modified + in NutanixCluster's status with the V1Beta2 version. + properties: + conditions: + description: |- + conditions represents the observations of a NutanixFailureDomain's current state. + Known condition types are Ready, FailureDomainsReady, VCenterAvailable, ClusterModulesReady and Paused. + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 32 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object type: object type: object served: true diff --git a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachines.yaml b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachines.yaml index 93d2bc1427..6210a8ee0f 100644 --- a/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachines.yaml +++ b/config/crd/bases/infrastructure.cluster.x-k8s.io_nutanixmachines.yaml @@ -638,6 +638,75 @@ spec: ready: description: Ready is true when the provider resource is ready. type: boolean + v1beta2: + description: v1beta2 groups all the fields that will be added or modified + in NutanixMachine's status with the V1Beta2 version. + properties: + conditions: + description: |- + conditions represents the observations of a NutanixMachine's current state. + Known condition types are Ready, FailureDomainsReady, VCenterAvailable, ClusterModulesReady and Paused. + items: + description: Condition contains details for one aspect of the + current state of this API Resource. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, + Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + maxItems: 32 + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + type: object vmUUID: description: The Nutanix VM's UUID type: string diff --git a/controllers/helpers.go b/controllers/helpers.go index 117ba37603..c4a49511f9 100644 --- a/controllers/helpers.go +++ b/controllers/helpers.go @@ -39,10 +39,12 @@ import ( imageModels "github.com/nutanix/ntnx-api-golang-clients/vmm-go-client/v4/models/vmm/v4/content" volumesconfig "github.com/nutanix/ntnx-api-golang-clients/volumes-go-client/v4/models/volumes/v4/config" "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" //nolint:staticcheck // suppress complaining on Deprecated package ctrl "sigs.k8s.io/controller-runtime" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" @@ -1026,6 +1028,12 @@ func getPrismCentralClientForCluster(ctx context.Context, cluster *infrav1.Nutan if err != nil { log.Error(err, fmt.Sprintf("error occurred while getting management endpoint for cluster %q", cluster.GetNamespacedName())) v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(cluster, metav1.Condition{ + Type: string(infrav1.PrismCentralClientCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.PrismCentralClientInitializationFailed, + Message: err.Error(), + }) return nil, err } @@ -1037,10 +1045,20 @@ func getPrismCentralClientForCluster(ctx context.Context, cluster *infrav1.Nutan if err != nil { log.Error(err, "error occurred while getting nutanix prism v3 Client from cache") v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(cluster, metav1.Condition{ + Type: string(infrav1.PrismCentralClientCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.PrismCentralClientInitializationFailed, + Message: err.Error(), + }) return nil, fmt.Errorf("nutanix prism v3 Client error: %w", err) } v1beta1conditions.MarkTrue(cluster, infrav1.PrismCentralClientCondition) + v1beta2conditions.Set(cluster, metav1.Condition{ + Type: string(infrav1.PrismCentralClientCondition), + Status: metav1.ConditionTrue, + }) return v3Client, nil } @@ -1052,6 +1070,12 @@ func getPrismCentralConvergedV4ClientForCluster(ctx context.Context, cluster *in if err != nil { log.Error(err, fmt.Sprintf("error occurred while getting management endpoint for cluster %q", cluster.GetNamespacedName())) v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(cluster, metav1.Condition{ + Type: string(infrav1.PrismCentralV4ClientCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.PrismCentralV4ClientInitializationFailed, + Message: err.Error(), + }) return nil, err } @@ -1062,10 +1086,20 @@ func getPrismCentralConvergedV4ClientForCluster(ctx context.Context, cluster *in if err != nil { log.Error(err, "error occurred while getting nutanix prism v4 client from cache") v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(cluster, metav1.Condition{ + Type: string(infrav1.PrismCentralV4ClientCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.PrismCentralV4ClientInitializationFailed, + Message: err.Error(), + }) return nil, fmt.Errorf("nutanix prism v4 client error: %w", err) } v1beta1conditions.MarkTrue(cluster, infrav1.PrismCentralV4ClientCondition) + v1beta2conditions.Set(cluster, metav1.Condition{ + Type: string(infrav1.PrismCentralV4ClientCondition), + Status: metav1.ConditionTrue, + }) return client, nil } diff --git a/controllers/nutanixcluster_controller.go b/controllers/nutanixcluster_controller.go index 7eea24d98f..7f9fffc0c4 100644 --- a/controllers/nutanixcluster_controller.go +++ b/controllers/nutanixcluster_controller.go @@ -36,8 +36,9 @@ import ( capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiutil "sigs.k8s.io/cluster-api/util" "sigs.k8s.io/cluster-api/util/annotations" - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package - v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util/predicates" ctrl "sigs.k8s.io/controller-runtime" @@ -215,9 +216,19 @@ func (r *NutanixClusterReconciler) Reconcile(ctx context.Context, req ctrl.Reque if err := r.reconcileCredentialRef(ctx, cluster); err != nil { log.Error(err, fmt.Sprintf("error occurred while reconciling credential ref for cluster %s", capiCluster.Name)) v1beta1conditions.MarkFalse(cluster, infrav1.CredentialRefSecretOwnerSetCondition, infrav1.CredentialRefSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(cluster, metav1.Condition{ + Type: string(infrav1.CredentialRefSecretOwnerSetCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.CredentialRefSecretOwnerSetFailed, + Message: err.Error(), + }) return reconcile.Result{}, err } v1beta1conditions.MarkTrue(cluster, infrav1.CredentialRefSecretOwnerSetCondition) + v1beta2conditions.Set(cluster, metav1.Condition{ + Type: string(infrav1.CredentialRefSecretOwnerSetCondition), + Status: metav1.ConditionTrue, + }) if err := r.reconcileTrustBundleRef(ctx, cluster); err != nil { log.Error(err, fmt.Sprintf("error occurred while reconciling trust bundle ref for cluster %s", capiCluster.Name)) @@ -348,7 +359,12 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon if len(rctx.NutanixCluster.Spec.ControlPlaneFailureDomains) == 0 && len(rctx.NutanixCluster.Spec.FailureDomains) == 0 { //nolint:staticcheck // suppress complaining on Deprecated field log.Info("No failure domains configured for cluster.") v1beta1conditions.MarkTrue(rctx.NutanixCluster, infrav1.NoFailureDomainsConfiguredCondition) + v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ + Type: string(infrav1.NoFailureDomainsConfiguredCondition), + Status: metav1.ConditionTrue, + }) v1beta1conditions.Delete(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition) + v1beta2conditions.Delete(rctx.NutanixCluster, string(infrav1.FailureDomainsValidatedCondition)) // Reset the failure domains for nutanixcluster status rctx.NutanixCluster.Status.FailureDomains = failureDomains @@ -357,6 +373,7 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon // Clear NoFailureDomainsConfiguredCondition condition v1beta1conditions.Delete(rctx.NutanixCluster, infrav1.NoFailureDomainsConfiguredCondition) + v1beta2conditions.Delete(rctx.NutanixCluster, string(infrav1.NoFailureDomainsConfiguredCondition)) validationErrs := []error{} for _, fdRef := range rctx.NutanixCluster.Spec.ControlPlaneFailureDomains { @@ -393,10 +410,20 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon if len(validationErrs) != 0 { v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition, infrav1.FailureDomainsMisconfiguredReason, clusterv1beta1.ConditionSeverityWarning, "%s", errors.Join(validationErrs...).Error()) + v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ + Type: string(infrav1.FailureDomainsValidatedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.FailureDomainsMisconfiguredReason, + Message: errors.Join(validationErrs...).Error(), + }) return nil } v1beta1conditions.MarkTrue(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition) + v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ + Type: string(infrav1.FailureDomainsValidatedCondition), + Status: metav1.ConditionTrue, + }) return nil } @@ -425,9 +452,19 @@ func (r *NutanixClusterReconciler) reconcileCategories(rctx *nctx.ClusterContext _, err := GetOrCreateCategories(rctx.Context, rctx.ConvergedClient, defaultCategories) if err != nil { v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.ClusterCategoryCreationFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ + Type: string(infrav1.ClusterCategoryCreatedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.ClusterCategoryCreationFailed, + Message: err.Error(), + }) return err } v1beta1conditions.MarkTrue(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition) + v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ + Type: string(infrav1.ClusterCategoryCreatedCondition), + Status: metav1.ConditionTrue, + }) return nil } @@ -441,12 +478,23 @@ func (r *NutanixClusterReconciler) reconcileCategoriesDelete(rctx *nctx.ClusterC err := DeleteCategories(rctx.Context, rctx.ConvergedClient, defaultCategories, obsoleteCategories) if err != nil { v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.DeletionFailed, clusterv1beta1.ConditionSeverityWarning, "%s", err.Error()) + v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ + Type: string(infrav1.ClusterCategoryCreatedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.DeletionFailed, + Message: err.Error(), + }) return err } } else { log.V(1).Info(fmt.Sprintf("skipping category deletion since they were not created for cluster %s", rctx.Cluster.Name)) } v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, capiv1.DeletingReason, clusterv1beta1.ConditionSeverityInfo, "") + v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ + Type: string(infrav1.ClusterCategoryCreatedCondition), + Status: metav1.ConditionFalse, + Reason: capiv1.DeletingReason, + }) return nil } @@ -510,6 +558,12 @@ func (r *NutanixClusterReconciler) reconcileTrustBundleRef(ctx context.Context, if err := r.Client.Get(ctx, configMapKey, configMap); err != nil { log.Error(err, "error occurred while fetching trust bundle configmap", "nutanixCluster", nutanixCluster.Name) v1beta1conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(nutanixCluster, metav1.Condition{ + Type: string(infrav1.TrustBundleSecretOwnerSetCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.TrustBundleSecretOwnerSetFailed, + Message: err.Error(), + }) return err } @@ -535,10 +589,20 @@ func (r *NutanixClusterReconciler) reconcileTrustBundleRef(ctx context.Context, if err := r.Client.Update(ctx, configMap); err != nil { log.Error(err, "error occurred while updating trust bundle configmap", "nutanixCluster", nutanixCluster) v1beta1conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(nutanixCluster, metav1.Condition{ + Type: string(infrav1.TrustBundleSecretOwnerSetCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.TrustBundleSecretOwnerSetFailed, + Message: err.Error(), + }) return err } v1beta1conditions.MarkTrue(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition) + v1beta2conditions.Set(nutanixCluster, metav1.Condition{ + Type: string(infrav1.TrustBundleSecretOwnerSetCondition), + Status: metav1.ConditionTrue, + }) return nil } diff --git a/controllers/nutanixfailuredomain_controller.go b/controllers/nutanixfailuredomain_controller.go index 41aea108c5..8863d0f4e6 100644 --- a/controllers/nutanixfailuredomain_controller.go +++ b/controllers/nutanixfailuredomain_controller.go @@ -21,13 +21,15 @@ import ( "fmt" "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" kerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package - "sigs.k8s.io/cluster-api/util/patch" + capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" //nolint:staticcheck // suppress complaining on Deprecated package ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/controller" @@ -150,7 +152,7 @@ func (r *NutanixFailureDomainReconciler) Reconcile(ctx context.Context, req ctrl } // Initialize the patch helper. - patchHelper, err := patch.NewHelper(fd, r.Client) + patchHelper, err := v1beta1patch.NewHelper(fd, r.Client) if err != nil { log.Error(err, "Failed to configure the patch helper") return ctrl.Result{Requeue: true}, nil @@ -208,6 +210,10 @@ func (r *NutanixFailureDomainReconciler) reconcileDelete(ctx context.Context, fd if len(ntxMachines) == 0 { v1beta1conditions.MarkTrue(fd, infrav1.FailureDomainSafeForDeletionCondition) + v1beta2conditions.Set(fd, metav1.Condition{ + Type: string(infrav1.FailureDomainSafeForDeletionCondition), + Status: metav1.ConditionTrue, + }) // Remove the finalizer from the failure domain object ctrlutil.RemoveFinalizer(fd, infrav1.NutanixFailureDomainFinalizer) @@ -217,6 +223,12 @@ func (r *NutanixFailureDomainReconciler) reconcileDelete(ctx context.Context, fd errMsg := fmt.Sprintf("The failure domain is used by machines: %v", ntxMachines) v1beta1conditions.MarkFalse(fd, infrav1.FailureDomainSafeForDeletionCondition, infrav1.FailureDomainInUseReason, capiv1.ConditionSeverityError, "%s", errMsg) + v1beta2conditions.Set(fd, metav1.Condition{ + Type: string(infrav1.FailureDomainSafeForDeletionCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.FailureDomainInUseReason, + Message: errMsg, + }) reterr := fmt.Errorf("the failure domain %q is not safe for deletion since it is in use", fd.Name) log.Error(reterr, errMsg) @@ -229,6 +241,7 @@ func (r *NutanixFailureDomainReconciler) reconcileNormal(ctx context.Context, fd // Remove the FailureDomainSafeForDeletionCondition if there are any v1beta1conditions.Delete(fd, infrav1.FailureDomainSafeForDeletionCondition) + v1beta2conditions.Delete(fd, string(infrav1.FailureDomainSafeForDeletionCondition)) return ctrl.Result{}, nil } diff --git a/controllers/nutanixfailuredomain_controller_test.go b/controllers/nutanixfailuredomain_controller_test.go index 689f67dc3b..3f8a0eff9e 100644 --- a/controllers/nutanixfailuredomain_controller_test.go +++ b/controllers/nutanixfailuredomain_controller_test.go @@ -31,7 +31,8 @@ import ( utilruntime "k8s.io/apimachinery/pkg/util/uuid" capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util" - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" //nolint:staticcheck // suppress complaining on Deprecated package infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" ) @@ -158,6 +159,9 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { cond := v1beta1conditions.Get(fdObj, infrav1.FailureDomainSafeForDeletionCondition) g.Expect(cond).NotTo(BeNil()) g.Expect(cond.Status).To(Equal(corev1.ConditionTrue)) + condv1beta2 := v1beta2conditions.Get(fdObj, string(infrav1.FailureDomainSafeForDeletionCondition)) + g.Expect(condv1beta2).NotTo(BeNil()) + g.Expect(condv1beta2.Status).To(Equal(corev1.ConditionTrue)) // Delete the failure domain object and expect deletion success g.Expect(k8sClient.Delete(ctx, fdObj)).To(Succeed()) @@ -182,6 +186,10 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { g.Expect(cond.Status).To(Equal(corev1.ConditionFalse)) g.Expect(cond.Severity).To(Equal(capiv1.ConditionSeverityError)) g.Expect(cond.Reason).To(Equal(infrav1.FailureDomainInUseReason)) + condv1beta2 := v1beta2conditions.Get(fdObj, string(infrav1.FailureDomainSafeForDeletionCondition)) + g.Expect(condv1beta2).NotTo(BeNil()) + g.Expect(condv1beta2.Status).To(Equal(corev1.ConditionFalse)) + g.Expect(condv1beta2.Reason).To(Equal(infrav1.FailureDomainInUseReason)) }) }) }) diff --git a/controllers/nutanixmachine_controller.go b/controllers/nutanixmachine_controller.go index ed6cbfb9ee..19cb65e339 100644 --- a/controllers/nutanixmachine_controller.go +++ b/controllers/nutanixmachine_controller.go @@ -31,6 +31,7 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" apitypes "k8s.io/apimachinery/pkg/types" kerrors "k8s.io/apimachinery/pkg/util/errors" @@ -40,8 +41,9 @@ import ( capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiutil "sigs.k8s.io/cluster-api/util" "sigs.k8s.io/cluster-api/util/annotations" - v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package - v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" //nolint:staticcheck // suppress complaining on Deprecated package + v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util/predicates" ctrl "sigs.k8s.io/controller-runtime" @@ -309,6 +311,11 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r vmName := rctx.Machine.Name log.Info(fmt.Sprintf("Handling deletion of VM: %s", vmName)) v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, capiv1beta1.DeletingReason, capiv1beta1.ConditionSeverityInfo, "") + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: capiv1beta1.DeletingReason, + }) vmUUID, err := GetVMUUID(rctx.NutanixMachine) if err != nil { errorMsg := fmt.Errorf("failed to get VM UUID during delete: %v", err) @@ -330,6 +337,12 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r errorMsg := fmt.Errorf("error finding VM %s with UUID %s: %v", vmName, vmUUID, err) log.Error(errorMsg, "error finding VM") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1beta1.ConditionSeverityWarning, "%s", errorMsg.Error()) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.DeletionFailed, + Message: errorMsg.Error(), + }) return reconcile.Result{}, errorMsg } @@ -357,6 +370,12 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r errorMsg := fmt.Errorf("error occurred fetching task UUID from VM: %v", err) log.Error(errorMsg, "error fetching task UUID") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1beta1.ConditionSeverityWarning, "%s", errorMsg.Error()) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.DeletionFailed, + Message: errorMsg.Error(), + }) return reconcile.Result{}, errorMsg } if taskInProgress { @@ -378,6 +397,12 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r err := fmt.Errorf("failed to detach volume groups from VM %s with UUID %s: %v", vmName, vmUUID, err) log.Error(err, "failed to detach volume groups from VM") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.VolumeGroupDetachFailed, capiv1beta1.ConditionSeverityWarning, "%s", err.Error()) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.VolumeGroupDetachFailed, + Message: err.Error(), + }) return reconcile.Result{}, err } @@ -394,6 +419,12 @@ func (r *NutanixMachineReconciler) reconcileDelete(rctx *nctx.MachineContext) (r err := fmt.Errorf("failed to delete VM %s with UUID %s: %v", vmName, vmUUID, err) log.Error(err, "failed to delete VM") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.DeletionFailed, capiv1beta1.ConditionSeverityWarning, "%s", err.Error()) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.DeletionFailed, + Message: err.Error(), + }) return reconcile.Result{}, err } @@ -441,6 +472,11 @@ func (r *NutanixMachineReconciler) reconcileNormal(rctx *nctx.MachineContext) (r if !infraReady { log.Info("The cluster infrastructure is not ready yet") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.ClusterInfrastructureNotReady, capiv1beta1.ConditionSeverityInfo, "") + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.ClusterInfrastructureNotReady, + }) return reconcile.Result{}, nil } @@ -451,8 +487,18 @@ func (r *NutanixMachineReconciler) reconcileNormal(rctx *nctx.MachineContext) (r if !nctx.IsControlPlaneMachine(rctx.NutanixMachine) && !controlPlaneInitialized { log.Info("Waiting for the control plane to be initialized") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.ControlplaneNotInitialized, capiv1beta1.ConditionSeverityInfo, "") + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.ControlplaneNotInitialized, + }) } else { v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.BootstrapDataNotReady, capiv1beta1.ConditionSeverityInfo, "") + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.BootstrapDataNotReady, + }) log.Info("Waiting for bootstrap data to be available") } return reconcile.Result{}, nil @@ -494,10 +540,21 @@ func (r *NutanixMachineReconciler) reconcileNormal(rctx *nctx.MachineContext) (r errorMsg := fmt.Errorf("failed to assign addresses to VM %s with UUID %s...: %v", rctx.Machine.Name, rctx.NutanixMachine.Status.VmUUID, err) log.Error(errorMsg, "failed to assign addresses") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMAddressesAssignedCondition, infrav1.VMAddressesFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMAddressesAssignedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.VMAddressesFailed, + Message: err.Error(), + }) return reconcile.Result{}, errorMsg } v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMAddressesAssignedCondition) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMAddressesAssignedCondition), + Status: metav1.ConditionTrue, + }) + // Update the NutanixMachine Spec.ProviderID rctx.NutanixMachine.Spec.ProviderID = GenerateProviderID(rctx.NutanixMachine.Status.VmUUID) rctx.NutanixMachine.Status.Ready = true @@ -783,6 +840,10 @@ func (r *NutanixMachineReconciler) getOrCreateVM(rctx *nctx.MachineContext) (*vm if vmFound != nil { log.Info(fmt.Sprintf("vm %s found with UUID %s", *vmFound.Name, rctx.NutanixMachine.Status.VmUUID)) v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMProvisionedCondition) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionTrue, + }) return vmFound, nil } @@ -916,6 +977,10 @@ func (r *NutanixMachineReconciler) getOrCreateVM(rctx *nctx.MachineContext) (*vm } v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.VMProvisionedCondition) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionTrue, + }) return vm, nil } @@ -1209,6 +1274,12 @@ func (r *NutanixMachineReconciler) addBootTypeToVM(rctx *nctx.MachineContext, vm if bootType != infrav1.NutanixBootTypeLegacy && bootType != infrav1.NutanixBootTypeUEFI { errorMsg := fmt.Errorf("boot type must be %s or %s but was %s", string(infrav1.NutanixBootTypeLegacy), string(infrav1.NutanixBootTypeUEFI), bootType) v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.VMProvisionedCondition, infrav1.VMBootTypeInvalid, capiv1beta1.ConditionSeverityError, "%s", errorMsg.Error()) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.VMProvisionedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.VMBootTypeInvalid, + Message: errorMsg.Error(), + }) return errorMsg } @@ -1249,6 +1320,12 @@ func (r *NutanixMachineReconciler) addVMToProject(rctx *nctx.MachineContext, vm errorMsg := fmt.Errorf("VM cannot be nil when adding VM %s to project", vmName) log.Error(errorMsg, "failed to add vm to project") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.ProjectAssignedCondition, infrav1.ProjectAssignationFailed, capiv1beta1.ConditionSeverityError, "%s", errorMsg.Error()) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.ProjectAssignedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.ProjectAssignationFailed, + Message: errorMsg.Error(), + }) return errorMsg } @@ -1257,6 +1334,12 @@ func (r *NutanixMachineReconciler) addVMToProject(rctx *nctx.MachineContext, vm errorMsg := fmt.Errorf("error occurred while searching for project for VM %s: %v", vmName, err) log.Error(errorMsg, "error occurred while searching for project") v1beta1conditions.MarkFalse(rctx.NutanixMachine, infrav1.ProjectAssignedCondition, infrav1.ProjectAssignationFailed, capiv1beta1.ConditionSeverityError, "%s", errorMsg.Error()) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.ProjectAssignedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.ProjectAssignationFailed, + Message: errorMsg.Error(), + }) return errorMsg } @@ -1265,6 +1348,10 @@ func (r *NutanixMachineReconciler) addVMToProject(rctx *nctx.MachineContext, vm vm.Project = projRef v1beta1conditions.MarkTrue(rctx.NutanixMachine, infrav1.ProjectAssignedCondition) + v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ + Type: string(infrav1.ProjectAssignedCondition), + Status: metav1.ConditionTrue, + }) return nil } diff --git a/go.mod b/go.mod index 74018e0f75..7011a6acb8 100644 --- a/go.mod +++ b/go.mod @@ -12,8 +12,8 @@ require ( github.com/google/uuid v1.6.0 github.com/nutanix-cloud-native/prism-go-client v0.5.0 github.com/nutanix/ntnx-api-golang-clients/volumes-go-client/v4 v4.1.1 - github.com/onsi/ginkgo/v2 v2.23.4 - github.com/onsi/gomega v1.38.0 + github.com/onsi/ginkgo/v2 v2.27.2 + github.com/onsi/gomega v1.38.2 github.com/pkg/errors v0.9.1 github.com/spf13/pflag v1.0.7 github.com/stretchr/testify v1.10.0 @@ -21,15 +21,15 @@ require ( go.uber.org/zap v1.27.0 golang.org/x/crypto v0.41.0 // indirect; CVE fixes for https://avd.aquasec.com/nvd/cve-2025-22869 golang.org/x/time v0.9.0 - k8s.io/api v0.34.1 - k8s.io/apiextensions-apiserver v0.34.1 - k8s.io/apimachinery v0.34.1 - k8s.io/client-go v0.34.1 + k8s.io/api v0.34.2 + k8s.io/apiextensions-apiserver v0.34.2 + k8s.io/apimachinery v0.34.2 + k8s.io/client-go v0.34.2 k8s.io/klog/v2 v2.130.1 - k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 - sigs.k8s.io/cluster-api v1.11.1 - sigs.k8s.io/cluster-api/test v1.11.1 - sigs.k8s.io/controller-runtime v0.22.1 + k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 + sigs.k8s.io/cluster-api v1.11.3 + sigs.k8s.io/cluster-api/test v1.11.3 + sigs.k8s.io/controller-runtime v0.22.4 sigs.k8s.io/kind v0.30.0 sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 @@ -47,6 +47,7 @@ require ( cel.dev/expr v0.24.0 // indirect github.com/BurntSushi/toml v1.4.0 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect + github.com/Masterminds/semver/v3 v3.4.0 // indirect github.com/Microsoft/go-winio v0.5.0 // indirect github.com/NYTimes/gziphandler v1.1.1 // indirect github.com/PaesslerAG/gval v1.0.0 // indirect @@ -150,11 +151,11 @@ require ( go.opentelemetry.io/otel/trace v1.35.0 // indirect go.opentelemetry.io/proto/otlp v1.5.0 // indirect go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect - go.uber.org/automaxprocs v1.6.0 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect + golang.org/x/mod v0.27.0 // indirect golang.org/x/net v0.43.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/sync v0.16.0 // indirect @@ -166,14 +167,14 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect google.golang.org/grpc v1.72.1 // indirect - google.golang.org/protobuf v1.36.6 // indirect + google.golang.org/protobuf v1.36.7 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiserver v0.34.1 // indirect + k8s.io/apiserver v0.34.2 // indirect k8s.io/cluster-bootstrap v0.33.3 // indirect - k8s.io/component-base v0.34.1 // indirect + k8s.io/component-base v0.34.2 // indirect k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect diff --git a/go.sum b/go.sum index a8239afb6c..6af8261da2 100644 --- a/go.sum +++ b/go.sum @@ -14,8 +14,8 @@ github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0= -github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/Microsoft/go-winio v0.5.0 h1:Elr9Wn+sGKPlkaBvwu4mTrxtmOp3F3yV9qhaHbXGjwU= @@ -64,8 +64,8 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/coredns/caddy v1.1.1 h1:2eYKZT7i6yxIfGP3qLJoJ7HAsDJqYB+X68g4NYjSrE0= github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= -github.com/coredns/corefile-migration v1.0.27 h1:WIIw5sU0LfGgoGnhdrYdVcto/aWmJoGA/C62iwkU0JM= -github.com/coredns/corefile-migration v1.0.27/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= +github.com/coredns/corefile-migration v1.0.29 h1:g4cPYMXXDDs9uLE2gFYrJaPBuUAR07eEMGyh9JBE13w= +github.com/coredns/corefile-migration v1.0.29/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf h1:iW4rZ826su+pqaw19uhpSCzhj44qo35pNgKFGqzDKkU= @@ -108,6 +108,12 @@ github.com/fullstorydev/grpcurl v1.8.7 h1:xJWosq3BQovQ4QrdPO72OrPiWuGgEsxY8ldYsJ github.com/fullstorydev/grpcurl v1.8.7/go.mod h1:pVtM4qe3CMoLaIzYS8uvTuDj2jVYmXqMUkZeijnXp/E= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= +github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= +github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= +github.com/gkampitakis/go-snaps v0.5.15 h1:amyJrvM1D33cPHwVrjo9jQxX8g/7E2wYdZ+01KS3zGE= +github.com/gkampitakis/go-snaps v0.5.15/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -149,6 +155,8 @@ github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9L github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobuffalo/flect v1.0.3 h1:xeWBM2nui+qnVvNM4S3foBhCAL2XgPU+a7FdpelbTq4= github.com/gobuffalo/flect v1.0.3/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= +github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -212,6 +220,8 @@ github.com/jhump/protoreflect v1.14.0 h1:MBbQK392K3u8NTLbKOCIi3XdI+y+c6yt5oMq0X3 github.com/jhump/protoreflect v1.14.0/go.mod h1:JytZfP5d0r8pVNLZvai7U/MCuTWITgrI4tTg7puQFKI= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/joshdk/go-junit v1.0.0 h1:S86cUKIdwBHWwA6xCmFlf3RTLfVXYQfvanM5Uh+K6GE= +github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/k0kubun/pp/v3 v3.1.0 h1:ifxtqJkRZhw3h554/z/8zm6AAbyO4LLKDlA5eV+9O8Q= @@ -232,6 +242,8 @@ github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/maruel/natural v1.1.1 h1:Hja7XhhmvEFhcByqDoHz9QZbkWey+COd9xWfCfn1ioo= +github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= @@ -240,6 +252,8 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mfridman/tparse v0.18.0 h1:wh6dzOKaIwkUGyKgOntDW4liXSo37qg5AXbIhkMV3vE= +github.com/mfridman/tparse v0.18.0/go.mod h1:gEvqZTuCgEhPbYk/2lS3Kcxg1GmTxxU7kTC8DvP0i/A= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= @@ -282,10 +296,10 @@ github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/onsi/ginkgo/v2 v2.23.4 h1:ktYTpKJAVZnDT4VjxSbiBenUjmlL/5QkBEocaWXiQus= -github.com/onsi/ginkgo/v2 v2.23.4/go.mod h1:Bt66ApGPBFzHyR+JO10Zbt0Gsp4uWxu5mIOTusL46e8= -github.com/onsi/gomega v1.38.0 h1:c/WX+w8SLAinvuKKQFh77WEucCnPk4j2OTUr7lt7BeY= -github.com/onsi/gomega v1.38.0/go.mod h1:OcXcwId0b9QsE7Y49u+BTrL4IdKOBOKnD6VQNTJEB6o= +github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns= +github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= +github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A= +github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= @@ -299,8 +313,6 @@ github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINE 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/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g= -github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= 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= @@ -355,6 +367,14 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +github.com/tidwall/gjson v1.18.0 h1:FIDeeyB800efLX89e5a8Y0BNH+LOngJyGrIWxG2FKQY= +github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= @@ -398,8 +418,6 @@ go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= -go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs= -go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= 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/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= @@ -429,6 +447,8 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -521,8 +541,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= -google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= +google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= @@ -540,34 +560,34 @@ gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= 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.34.1 h1:jC+153630BMdlFukegoEL8E/yT7aLyQkIVuwhmwDgJM= -k8s.io/api v0.34.1/go.mod h1:SB80FxFtXn5/gwzCoN6QCtPD7Vbu5w2n1S0J5gFfTYk= -k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= -k8s.io/apiextensions-apiserver v0.34.1/go.mod h1:hP9Rld3zF5Ay2Of3BeEpLAToP+l4s5UlxiHfqRaRcMc= -k8s.io/apimachinery v0.34.1 h1:dTlxFls/eikpJxmAC7MVE8oOeP1zryV7iRyIjB0gky4= -k8s.io/apimachinery v0.34.1/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= -k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= -k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= -k8s.io/client-go v0.34.1 h1:ZUPJKgXsnKwVwmKKdPfw4tB58+7/Ik3CrjOEhsiZ7mY= -k8s.io/client-go v0.34.1/go.mod h1:kA8v0FP+tk6sZA0yKLRG67LWjqufAoSHA2xVGKw9Of8= +k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= +k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= +k8s.io/apiextensions-apiserver v0.34.2 h1:WStKftnGeoKP4AZRz/BaAAEJvYp4mlZGN0UCv+uvsqo= +k8s.io/apiextensions-apiserver v0.34.2/go.mod h1:398CJrsgXF1wytdaanynDpJ67zG4Xq7yj91GrmYN2SE= +k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= +k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= +k8s.io/apiserver v0.34.2 h1:2/yu8suwkmES7IzwlehAovo8dDE07cFRC7KMDb1+MAE= +k8s.io/apiserver v0.34.2/go.mod h1:gqJQy2yDOB50R3JUReHSFr+cwJnL8G1dzTA0YLEqAPI= +k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= +k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= k8s.io/cluster-bootstrap v0.33.3 h1:u2NTxJ5CFSBFXaDxLQoOWMly8eni31psVso+caq6uwI= k8s.io/cluster-bootstrap v0.33.3/go.mod h1:p970f8u8jf273zyQ5raD8WUu2XyAl0SAWOY82o7i/ds= -k8s.io/component-base v0.34.1 h1:v7xFgG+ONhytZNFpIz5/kecwD+sUhVE6HU7qQUiRM4A= -k8s.io/component-base v0.34.1/go.mod h1:mknCpLlTSKHzAQJJnnHVKqjxR7gBeHRv0rPXA7gdtQ0= +k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= +k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= 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-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= -k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y= -k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 h1:jpcvIRr3GLoUoEKRkHKSmGjxb6lWwrBlJsXc+eUYQHM= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= -sigs.k8s.io/cluster-api v1.11.1 h1:7CyGCTxv1p3Y2kRe1ljTj/w4TcdIdWNj0CTBc4i1aBo= -sigs.k8s.io/cluster-api v1.11.1/go.mod h1:zyrjgJ5RbXhwKcAdUlGPNK5YOHpcmxXvur+5I8lkMUQ= -sigs.k8s.io/cluster-api/test v1.11.1 h1:p9tT2HupKHW1URQDsZ3QNdEC/YPc8nrkiV6RCtNgi5k= -sigs.k8s.io/cluster-api/test v1.11.1/go.mod h1:COviHWIKTcip0VADeIh8Rm5bjqzyZ1LuzKBW1EqjJRc= -sigs.k8s.io/controller-runtime v0.22.1 h1:Ah1T7I+0A7ize291nJZdS1CabF/lB4E++WizgV24Eqg= -sigs.k8s.io/controller-runtime v0.22.1/go.mod h1:FwiwRjkRPbiN+zp2QRp7wlTCzbUXxZ/D4OzuQUDwBHY= +sigs.k8s.io/cluster-api v1.11.3 h1:apxfugbP1X8AG7THCM74CTarCOW4H2oOc6hlbm1hY80= +sigs.k8s.io/cluster-api v1.11.3/go.mod h1:CA471SACi81M8DzRKTlWpHV33G0cfWEj7sC4fALFVok= +sigs.k8s.io/cluster-api/test v1.11.3 h1:My8N5vHyWL1XAdwfP69bIajox8IJd7XhaSD8DRu8AHs= +sigs.k8s.io/cluster-api/test v1.11.3/go.mod h1:COviHWIKTcip0VADeIh8Rm5bjqzyZ1LuzKBW1EqjJRc= +sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= +sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= 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/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= From 1f121e3eff8e9dd8e181ddfd124afb7c0a801801 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Mon, 17 Nov 2025 07:29:06 +0000 Subject: [PATCH 15/28] fix: panic on deleting v1beta2 condition --- api/v1beta1/conditions.go | 3 +++ controllers/nutanixcluster_controller.go | 7 +++++++ controllers/nutanixfailuredomain_controller.go | 5 +++++ controllers/nutanixfailuredomain_controller_test.go | 4 ++-- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/api/v1beta1/conditions.go b/api/v1beta1/conditions.go index f98bcad0d7..058c2e7e0e 100644 --- a/api/v1beta1/conditions.go +++ b/api/v1beta1/conditions.go @@ -40,6 +40,9 @@ const ( // FailureDomainsValidatedCondition indicates whether the failure domains are configured correctly or not. FailureDomainsValidatedCondition capiv1beta1.ConditionType = "FailureDomainsValidated" + // FailureDomainsValidatedCondition indicates that the failure domains are being validated. + FailureDomainsValidationInProgressReason = "FailureDomainsValidationInProgress" + // FailureDomainsMisconfiguredReason (Severity=Warning) indicates that some of the failure domains // are misconfigured. FailureDomainsMisconfiguredReason = "FailureDomainsMisconfigured" diff --git a/controllers/nutanixcluster_controller.go b/controllers/nutanixcluster_controller.go index 7f9fffc0c4..37dd59a4e1 100644 --- a/controllers/nutanixcluster_controller.go +++ b/controllers/nutanixcluster_controller.go @@ -355,6 +355,13 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon log := ctrl.LoggerFrom(rctx.Context) log.Info("Reconciling failure domains for cluster") + // To avoid panic on delete here https://github.com/kubernetes-sigs/cluster-api/blob/93adf87d24267c4504ae79bf3050e2aa363a6a43/util/deprecated/v1beta1/conditions/v1beta2/setter.go#L120 + v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ + Type: string(infrav1.FailureDomainsValidatedCondition), + Status: metav1.ConditionFalse, + Reason: infrav1.FailureDomainsValidationInProgressReason, + }) + failureDomains := clusterv1beta1.FailureDomains{} if len(rctx.NutanixCluster.Spec.ControlPlaneFailureDomains) == 0 && len(rctx.NutanixCluster.Spec.FailureDomains) == 0 { //nolint:staticcheck // suppress complaining on Deprecated field log.Info("No failure domains configured for cluster.") diff --git a/controllers/nutanixfailuredomain_controller.go b/controllers/nutanixfailuredomain_controller.go index 8863d0f4e6..9d399bc459 100644 --- a/controllers/nutanixfailuredomain_controller.go +++ b/controllers/nutanixfailuredomain_controller.go @@ -239,6 +239,11 @@ func (r *NutanixFailureDomainReconciler) reconcileNormal(ctx context.Context, fd log := ctrl.LoggerFrom(ctx) log.Info("Handling NutanixFailureDomain reconciling") + // To avoid panic on delete here https://github.com/kubernetes-sigs/cluster-api/blob/93adf87d24267c4504ae79bf3050e2aa363a6a43/util/deprecated/v1beta1/conditions/v1beta2/setter.go#L120 + v1beta2conditions.Set(fd, metav1.Condition{ + Type: string(infrav1.FailureDomainSafeForDeletionCondition), + Status: metav1.ConditionFalse, + }) // Remove the FailureDomainSafeForDeletionCondition if there are any v1beta1conditions.Delete(fd, infrav1.FailureDomainSafeForDeletionCondition) v1beta2conditions.Delete(fd, string(infrav1.FailureDomainSafeForDeletionCondition)) diff --git a/controllers/nutanixfailuredomain_controller_test.go b/controllers/nutanixfailuredomain_controller_test.go index 3f8a0eff9e..2cec1d56a5 100644 --- a/controllers/nutanixfailuredomain_controller_test.go +++ b/controllers/nutanixfailuredomain_controller_test.go @@ -161,7 +161,7 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { g.Expect(cond.Status).To(Equal(corev1.ConditionTrue)) condv1beta2 := v1beta2conditions.Get(fdObj, string(infrav1.FailureDomainSafeForDeletionCondition)) g.Expect(condv1beta2).NotTo(BeNil()) - g.Expect(condv1beta2.Status).To(Equal(corev1.ConditionTrue)) + g.Expect(condv1beta2.Status).To(Equal(metav1.ConditionTrue)) // Delete the failure domain object and expect deletion success g.Expect(k8sClient.Delete(ctx, fdObj)).To(Succeed()) @@ -188,7 +188,7 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { g.Expect(cond.Reason).To(Equal(infrav1.FailureDomainInUseReason)) condv1beta2 := v1beta2conditions.Get(fdObj, string(infrav1.FailureDomainSafeForDeletionCondition)) g.Expect(condv1beta2).NotTo(BeNil()) - g.Expect(condv1beta2.Status).To(Equal(corev1.ConditionFalse)) + g.Expect(condv1beta2.Status).To(Equal(metav1.ConditionFalse)) g.Expect(condv1beta2.Reason).To(Equal(infrav1.FailureDomainInUseReason)) }) }) From 5cfa548befc57c7302bf8ff0801c88ac8a3b4420 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Tue, 18 Nov 2025 03:10:01 +0000 Subject: [PATCH 16/28] fix: e2e bumps --- test/e2e/clusterctl_upgrade_test.go | 17 +++++------ test/e2e/config/nutanix.yaml | 28 +++++++++---------- .../{v1.7.1 => v1.7.2}/base/cni-patch.yaml | 0 .../base/controlplane-vip.yaml | 0 .../{v1.7.1 => v1.7.2}/base/crs.yaml | 0 .../cluster-template/kustomization.yaml | 2 +- 6 files changed, 24 insertions(+), 23 deletions(-) rename test/e2e/data/infrastructure-nutanix/{v1.7.1 => v1.7.2}/base/cni-patch.yaml (100%) rename test/e2e/data/infrastructure-nutanix/{v1.7.1 => v1.7.2}/base/controlplane-vip.yaml (100%) rename test/e2e/data/infrastructure-nutanix/{v1.7.1 => v1.7.2}/base/crs.yaml (100%) rename test/e2e/data/infrastructure-nutanix/{v1.7.1 => v1.7.2}/cluster-template/kustomization.yaml (81%) diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index f979b99dec..d622f0525c 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -41,7 +41,7 @@ import ( "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/test/e2e/log" ) -var _ = Describe("clusterctl upgrade CAPX (v1.7.1 => current)", Label("clusterctl-upgrade"), func() { +var _ = Describe("clusterctl upgrade CAPX (v1.7.2 => current)", Label("clusterctl-upgrade"), func() { var ( kubernetesVersion string nutanixMachineTemplateImageName string @@ -51,6 +51,7 @@ var _ = Describe("clusterctl upgrade CAPX (v1.7.1 => current)", Label("clusterct BeforeEach(func() { kubernetesVersion = e2eConfig.MustGetVariable("KUBERNETES_VERSION") nutanixMachineTemplateImageName = e2eConfig.MustGetVariable("NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME") + nutanixMachineTemplateImageUpgradeFrom = e2eConfig.MustGetVariable("NUTANIX_MACHINE_TEMPLATE_IMAGE_UPGRADE_FROM") }) BeforeEach(func() { @@ -88,12 +89,12 @@ var _ = Describe("clusterctl upgrade CAPX (v1.7.1 => current)", Label("clusterct BootstrapClusterProxy: bootstrapClusterProxy, ArtifactFolder: artifactFolder, SkipCleanup: skipCleanup, - InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.3/clusterctl-{OS}-{ARCH}", + InitWithBinary: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.3/clusterctl-{OS}-{ARCH}", InitWithKubernetesVersion: kubernetesVersion, - InitWithCoreProvider: "cluster-api:v1.10.3", - InitWithBootstrapProviders: []string{"kubeadm:v1.10.3"}, - InitWithControlPlaneProviders: []string{"kubeadm:v1.10.3"}, - InitWithInfrastructureProviders: []string{"nutanix:v1.7.1"}, + InitWithCoreProvider: "cluster-api:v1.11.3", + InitWithBootstrapProviders: []string{"kubeadm:v1.11.3"}, + InitWithControlPlaneProviders: []string{"kubeadm:v1.11.3"}, + InitWithInfrastructureProviders: []string{"nutanix:v1.7.2"}, PreWaitForCluster: preWaitForCluster, PostUpgrade: postUpgradeFunc, } @@ -109,7 +110,7 @@ func createPreWaitForClusterFunc(testInputFunc func() capie2e.ClusterctlUpgradeS By("Get latest version of CAPX provider") - latestVersionString := "v1.7.1" + latestVersionString := "v1.7.2" latestVersion, err := semver.ParseTolerant(latestVersionString) Expect(err).NotTo(HaveOccurred()) @@ -168,7 +169,7 @@ func createPostUpgradeFunc(testInputFunc func() capie2e.ClusterctlUpgradeSpecInp yamlProc := yaml.NewSimpleProcessor() - latestVersionString := "v1.7.1" + latestVersionString := "v1.7.2" latestVersion, err := semver.ParseTolerant(latestVersionString) Expect(err).NotTo(HaveOccurred()) diff --git a/test/e2e/config/nutanix.yaml b/test/e2e/config/nutanix.yaml index 1784d205be..5a333f83fd 100644 --- a/test/e2e/config/nutanix.yaml +++ b/test/e2e/config/nutanix.yaml @@ -13,20 +13,20 @@ images: loadBehavior: mustLoad # ## PLEASE KEEP THESE UP TO DATE WITH THE COMPONENTS # Cluster API v1beta1 Preloads - - name: registry.k8s.io/cluster-api/cluster-api-controller:v1.11.1 + - name: registry.k8s.io/cluster-api/cluster-api-controller:v1.11.3 loadBehavior: tryLoad - - name: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.11.1 + - name: registry.k8s.io/cluster-api/kubeadm-bootstrap-controller:v1.11.3 loadBehavior: tryLoad - - name: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.11.1 + - name: registry.k8s.io/cluster-api/kubeadm-control-plane-controller:v1.11.3 loadBehavior: tryLoad providers: - name: cluster-api type: CoreProvider versions: - - name: v1.11.1 + - name: v1.11.3 # Use manifest from source files - value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.1/core-components.yaml" + value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.3/core-components.yaml" type: "url" contract: v1beta1 files: @@ -37,9 +37,9 @@ providers: - name: kubeadm type: BootstrapProvider versions: - - name: v1.11.1 + - name: v1.11.3 # Use manifest from source files - value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.1/bootstrap-components.yaml" + value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.3/bootstrap-components.yaml" type: "url" contract: "v1beta1" files: @@ -50,9 +50,9 @@ providers: - name: kubeadm type: ControlPlaneProvider versions: - - name: v1.11.1 + - name: v1.11.3 # Use manifest from source files - value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.1/control-plane-components.yaml" + value: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.3/control-plane-components.yaml" type: "url" contract: v1beta1 files: @@ -63,13 +63,13 @@ providers: - name: nutanix type: InfrastructureProvider versions: - - name: v1.7.1 + - name: v1.7.2 type: url - value: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.7.1/infrastructure-components.yaml + value: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.7.2/infrastructure-components.yaml contract: v1beta1 files: - sourcePath: "../../../metadata.yaml" - - sourcePath: "../data/infrastructure-nutanix/v1.7.1/cluster-template.yaml" + - sourcePath: "../data/infrastructure-nutanix/v1.7.2/cluster-template.yaml" - sourcePath: "../data/infrastructure-nutanix/ccm-update.yaml" - name: ${LOCAL_PROVIDER_VERSION} type: kustomize @@ -122,7 +122,7 @@ variables: NUTANIX_INSECURE: true NUTANIX_ADDITIONAL_TRUST_BUNDLE: "" KUBERNETES_VERSION: "v1.34.0" - NUTANIX_SSH_AUTHORIZED_KEY: "" + NUTANIX_SSH_AUTHORIZED_KEY: "fake-key" CONTROL_PLANE_ENDPOINT_IP: "" CONTROL_PLANE_ENDPOINT_IP_V124: "" CONTROL_PLANE_MACHINE_COUNT: 1 @@ -172,7 +172,7 @@ variables: # NOTE: INIT_WITH_BINARY and INIT_WITH_KUBERNETES_VERSION are only used by the clusterctl upgrade test to initialize # the management cluster to be upgraded. # NOTE: We test the latest release with a previous contract. - INIT_WITH_BINARY: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.10.3/clusterctl-{OS}-{ARCH}" + INIT_WITH_BINARY: "https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.11.3/clusterctl-{OS}-{ARCH}" INIT_WITH_KUBERNETES_VERSION: "v1.34.0" # NOTE: Following parameters are required for GPU testing NUTANIX_GPU_PASSTHROUGH_VENDOR: "NVIDIA" diff --git a/test/e2e/data/infrastructure-nutanix/v1.7.1/base/cni-patch.yaml b/test/e2e/data/infrastructure-nutanix/v1.7.2/base/cni-patch.yaml similarity index 100% rename from test/e2e/data/infrastructure-nutanix/v1.7.1/base/cni-patch.yaml rename to test/e2e/data/infrastructure-nutanix/v1.7.2/base/cni-patch.yaml diff --git a/test/e2e/data/infrastructure-nutanix/v1.7.1/base/controlplane-vip.yaml b/test/e2e/data/infrastructure-nutanix/v1.7.2/base/controlplane-vip.yaml similarity index 100% rename from test/e2e/data/infrastructure-nutanix/v1.7.1/base/controlplane-vip.yaml rename to test/e2e/data/infrastructure-nutanix/v1.7.2/base/controlplane-vip.yaml diff --git a/test/e2e/data/infrastructure-nutanix/v1.7.1/base/crs.yaml b/test/e2e/data/infrastructure-nutanix/v1.7.2/base/crs.yaml similarity index 100% rename from test/e2e/data/infrastructure-nutanix/v1.7.1/base/crs.yaml rename to test/e2e/data/infrastructure-nutanix/v1.7.2/base/crs.yaml diff --git a/test/e2e/data/infrastructure-nutanix/v1.7.1/cluster-template/kustomization.yaml b/test/e2e/data/infrastructure-nutanix/v1.7.2/cluster-template/kustomization.yaml similarity index 81% rename from test/e2e/data/infrastructure-nutanix/v1.7.1/cluster-template/kustomization.yaml rename to test/e2e/data/infrastructure-nutanix/v1.7.2/cluster-template/kustomization.yaml index 29f4d3a816..e935e94065 100644 --- a/test/e2e/data/infrastructure-nutanix/v1.7.1/cluster-template/kustomization.yaml +++ b/test/e2e/data/infrastructure-nutanix/v1.7.2/cluster-template/kustomization.yaml @@ -1,7 +1,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: -- https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.7.1/cluster-template.yaml +- https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v1.7.2/cluster-template.yaml - ../base/crs.yaml patches: - path: ../base/cni-patch.yaml From 74b8e21f09885d59d4125592118e9b5f9d437a40 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Tue, 18 Nov 2025 03:43:36 +0000 Subject: [PATCH 17/28] fix: e2e kubelet args from map to array --- test/e2e/clusterctl_upgrade_test.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index d622f0525c..cf530b4ef0 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -31,8 +31,9 @@ import ( . "github.com/onsi/gomega" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" - bootstrapv1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + "k8s.io/utils/ptr" + bootstrapv1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta2" + clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" yaml "sigs.k8s.io/cluster-api/cmd/clusterctl/client/yamlprocessor" capie2e "sigs.k8s.io/cluster-api/test/e2e" "sigs.k8s.io/cluster-api/test/framework" @@ -261,16 +262,17 @@ func createPostUpgradeFunc(testInputFunc func() capie2e.ClusterctlUpgradeSpecInp // Update all KubeadmConfigTemplates for _, kubeadmConfigTemplate := range kubeadmConfigTemplateList.Items { - if kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration == nil { - kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration = &bootstrapv1.JoinConfiguration{ - NodeRegistration: bootstrapv1.NodeRegistrationOptions{}, + args := kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs + updatedArgs := make([]bootstrapv1.Arg, max(0, len(args) - 1)) + for _, arg := range args { + if arg.Name == "cloud-provider" { + continue } + updatedArgs = append(updatedArgs, arg) } - if kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs == nil { - kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs = map[string]string{} - } + updatedArgs = append(updatedArgs, bootstrapv1.Arg{Name: "cloud-provider", Value: ptr.To("external")}) + kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs = updatedArgs - kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs["cloud-provider"] = "external" err = managementClusterProxy.GetClient().Update(context.Background(), &kubeadmConfigTemplate) Expect(err).NotTo(HaveOccurred()) log.Debugf("Updated KubeadmConfigTemplate %s/%s with kubeletExtraArgs cloud-provider: external", kubeadmConfigTemplate.Namespace, kubeadmConfigTemplate.Name) From 1fad8154f9bf81608bee821b7cd1599a88e9664e Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Tue, 18 Nov 2025 03:50:48 +0000 Subject: [PATCH 18/28] fix: fmt makefile --- Makefile | 4 ++-- test/e2e/clusterctl_upgrade_test.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 5dc052759b..ee89ec0c92 100644 --- a/Makefile +++ b/Makefile @@ -290,8 +290,8 @@ undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/confi .PHONY: cluster-e2e-templates cluster-e2e-templates: cluster-e2e-templates-v1beta1 cluster-e2e-templates-v171 ## Generate cluster templates for all versions -cluster-e2e-templates-v171: ## Generate cluster templates for CAPX v1.7.1 - kustomize build $(NUTANIX_E2E_TEMPLATES)/v1.7.1/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1.7.1/cluster-template.yaml +cluster-e2e-templates-v171: ## Generate cluster templates for CAPX v1.7.2 + kustomize build $(NUTANIX_E2E_TEMPLATES)/v1.7.2/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1.7.2/cluster-template.yaml cluster-e2e-templates-v1beta1: ## Generate cluster templates for v1beta1 kustomize build $(NUTANIX_E2E_TEMPLATES)/v1beta1/cluster-template --load-restrictor LoadRestrictionsNone > $(NUTANIX_E2E_TEMPLATES)/v1beta1/cluster-template.yaml diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index cf530b4ef0..98c8051eef 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -263,7 +263,7 @@ func createPostUpgradeFunc(testInputFunc func() capie2e.ClusterctlUpgradeSpecInp // Update all KubeadmConfigTemplates for _, kubeadmConfigTemplate := range kubeadmConfigTemplateList.Items { args := kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs - updatedArgs := make([]bootstrapv1.Arg, max(0, len(args) - 1)) + updatedArgs := make([]bootstrapv1.Arg, max(0, len(args)-1)) for _, arg := range args { if arg.Name == "cloud-provider" { continue From 25c5447d69207d1fa8d8e26c1b9d3c34bedf71cd Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Tue, 18 Nov 2025 04:16:11 +0000 Subject: [PATCH 19/28] fix: array dec --- test/e2e/basic_uuid_test.go | 2 +- test/e2e/capx_quick_start_test.go | 2 +- test/e2e/capx_regression_test.go | 2 +- test/e2e/categories_test.go | 2 +- test/e2e/cluster_topology.go | 2 +- test/e2e/cluster_topology_basic_test.go | 2 +- test/e2e/cluster_topology_conformance_test.go | 2 +- test/e2e/cluster_topology_k8s_configs.go | 2 +- test/e2e/cluster_topology_mega_scale_test.go | 2 +- test/e2e/cluster_topology_scale_in_test.go | 2 +- test/e2e/cluster_topology_scale_out_test.go | 2 +- test/e2e/cluster_topology_scale_up_down_test.go | 2 +- test/e2e/cluster_topology_upgrade_test.go | 2 +- test/e2e/cluster_upgrade_test.go | 2 +- test/e2e/clusterclass_changes_test.go | 2 +- test/e2e/clusterctl_move_test.go | 2 +- test/e2e/clusterctl_upgrade_test.go | 4 ++-- test/e2e/common.go | 2 +- test/e2e/csi_test.go | 2 +- test/e2e/data_disks_test.go | 2 +- test/e2e/e2e_suite_test.go | 2 +- test/e2e/failure_domains_migration_test.go | 2 +- test/e2e/failure_domains_test.go | 2 +- test/e2e/gpu_test.go | 2 +- test/e2e/k8s_conformance_test.go | 2 +- test/e2e/log/log.go | 2 +- test/e2e/md_rollout_test.go | 2 +- test/e2e/md_scale_test.go | 2 +- test/e2e/mhc_remediations_test.go | 2 +- test/e2e/multi_nic_test.go | 2 +- test/e2e/nutanix_client.go | 2 +- test/e2e/nutanix_client_test.go | 2 +- test/e2e/nutanix_failure_domain_move_test.go | 2 +- test/e2e/projects_test.go | 2 +- test/e2e/template_test.go | 2 +- test/e2e/test_helpers.go | 4 +--- 36 files changed, 37 insertions(+), 39 deletions(-) diff --git a/test/e2e/basic_uuid_test.go b/test/e2e/basic_uuid_test.go index afc3c3d360..95eb96371f 100644 --- a/test/e2e/basic_uuid_test.go +++ b/test/e2e/basic_uuid_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/capx_quick_start_test.go b/test/e2e/capx_quick_start_test.go index 094b15a9cf..18a1acb8ea 100644 --- a/test/e2e/capx_quick_start_test.go +++ b/test/e2e/capx_quick_start_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/capx_regression_test.go b/test/e2e/capx_regression_test.go index 873fb3c924..3902d46077 100644 --- a/test/e2e/capx_regression_test.go +++ b/test/e2e/capx_regression_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/categories_test.go b/test/e2e/categories_test.go index 6ea243f0f0..10da80b887 100644 --- a/test/e2e/categories_test.go +++ b/test/e2e/categories_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/cluster_topology.go b/test/e2e/cluster_topology.go index 82cf9fb517..b08809fafd 100644 --- a/test/e2e/cluster_topology.go +++ b/test/e2e/cluster_topology.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_basic_test.go b/test/e2e/cluster_topology_basic_test.go index 907c6c9c98..cd0c134537 100644 --- a/test/e2e/cluster_topology_basic_test.go +++ b/test/e2e/cluster_topology_basic_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_conformance_test.go b/test/e2e/cluster_topology_conformance_test.go index 3660b1871e..0c4e4065a3 100644 --- a/test/e2e/cluster_topology_conformance_test.go +++ b/test/e2e/cluster_topology_conformance_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_k8s_configs.go b/test/e2e/cluster_topology_k8s_configs.go index 43952c284d..9ae42faa48 100644 --- a/test/e2e/cluster_topology_k8s_configs.go +++ b/test/e2e/cluster_topology_k8s_configs.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_mega_scale_test.go b/test/e2e/cluster_topology_mega_scale_test.go index 9e2cccf90b..aac4922e15 100644 --- a/test/e2e/cluster_topology_mega_scale_test.go +++ b/test/e2e/cluster_topology_mega_scale_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_in_test.go b/test/e2e/cluster_topology_scale_in_test.go index cda32d548c..ab5e7e6088 100644 --- a/test/e2e/cluster_topology_scale_in_test.go +++ b/test/e2e/cluster_topology_scale_in_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_out_test.go b/test/e2e/cluster_topology_scale_out_test.go index 41a15c5689..5d4b4f7746 100644 --- a/test/e2e/cluster_topology_scale_out_test.go +++ b/test/e2e/cluster_topology_scale_out_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_up_down_test.go b/test/e2e/cluster_topology_scale_up_down_test.go index 751da5085a..9f9c683477 100644 --- a/test/e2e/cluster_topology_scale_up_down_test.go +++ b/test/e2e/cluster_topology_scale_up_down_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_upgrade_test.go b/test/e2e/cluster_topology_upgrade_test.go index b62e44ac32..adb31ac2f8 100644 --- a/test/e2e/cluster_topology_upgrade_test.go +++ b/test/e2e/cluster_topology_upgrade_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_upgrade_test.go b/test/e2e/cluster_upgrade_test.go index 1e67fde921..505abbccc9 100644 --- a/test/e2e/cluster_upgrade_test.go +++ b/test/e2e/cluster_upgrade_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix, Inc diff --git a/test/e2e/clusterclass_changes_test.go b/test/e2e/clusterclass_changes_test.go index 3215e3f8b3..833d9a2d26 100644 --- a/test/e2e/clusterclass_changes_test.go +++ b/test/e2e/clusterclass_changes_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/clusterctl_move_test.go b/test/e2e/clusterctl_move_test.go index 1751b6af47..592c2874cb 100644 --- a/test/e2e/clusterctl_move_test.go +++ b/test/e2e/clusterctl_move_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2024 Nutanix diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index 98c8051eef..d4b6d9f46e 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2020 The Kubernetes Authors. @@ -263,7 +263,7 @@ func createPostUpgradeFunc(testInputFunc func() capie2e.ClusterctlUpgradeSpecInp // Update all KubeadmConfigTemplates for _, kubeadmConfigTemplate := range kubeadmConfigTemplateList.Items { args := kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs - updatedArgs := make([]bootstrapv1.Arg, max(0, len(args)-1)) + updatedArgs := make([]bootstrapv1.Arg, 0) for _, arg := range args { if arg.Name == "cloud-provider" { continue diff --git a/test/e2e/common.go b/test/e2e/common.go index 710abe4f55..2f7a8423a5 100644 --- a/test/e2e/common.go +++ b/test/e2e/common.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/csi_test.go b/test/e2e/csi_test.go index 5c92b86453..0ba07b57b7 100644 --- a/test/e2e/csi_test.go +++ b/test/e2e/csi_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/data_disks_test.go b/test/e2e/data_disks_test.go index bcf602886e..c3dc52640b 100644 --- a/test/e2e/data_disks_test.go +++ b/test/e2e/data_disks_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2025 Nutanix diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go index 89bac710dd..9ce662004a 100644 --- a/test/e2e/e2e_suite_test.go +++ b/test/e2e/e2e_suite_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/failure_domains_migration_test.go b/test/e2e/failure_domains_migration_test.go index b49f61fbcc..b7881c6de3 100644 --- a/test/e2e/failure_domains_migration_test.go +++ b/test/e2e/failure_domains_migration_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2023 Nutanix diff --git a/test/e2e/failure_domains_test.go b/test/e2e/failure_domains_test.go index faf77aec51..1f200c76b7 100644 --- a/test/e2e/failure_domains_test.go +++ b/test/e2e/failure_domains_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2023 Nutanix diff --git a/test/e2e/gpu_test.go b/test/e2e/gpu_test.go index c231c12bdc..a8d1a4fd61 100644 --- a/test/e2e/gpu_test.go +++ b/test/e2e/gpu_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2023 Nutanix diff --git a/test/e2e/k8s_conformance_test.go b/test/e2e/k8s_conformance_test.go index 3f235720e8..9be48742c6 100644 --- a/test/e2e/k8s_conformance_test.go +++ b/test/e2e/k8s_conformance_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix, Inc diff --git a/test/e2e/log/log.go b/test/e2e/log/log.go index 64fdd653fa..8a03053c76 100644 --- a/test/e2e/log/log.go +++ b/test/e2e/log/log.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/md_rollout_test.go b/test/e2e/md_rollout_test.go index 0eb108bce1..474074b895 100644 --- a/test/e2e/md_rollout_test.go +++ b/test/e2e/md_rollout_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/md_scale_test.go b/test/e2e/md_scale_test.go index 8c6d5a4e61..59f66ffd5b 100644 --- a/test/e2e/md_scale_test.go +++ b/test/e2e/md_scale_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2021 The Kubernetes Authors. diff --git a/test/e2e/mhc_remediations_test.go b/test/e2e/mhc_remediations_test.go index 30113f8767..fdd041f01e 100644 --- a/test/e2e/mhc_remediations_test.go +++ b/test/e2e/mhc_remediations_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/multi_nic_test.go b/test/e2e/multi_nic_test.go index 6c4f441c73..7d14d453e4 100644 --- a/test/e2e/multi_nic_test.go +++ b/test/e2e/multi_nic_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client.go b/test/e2e/nutanix_client.go index 6f6508e8d9..183ef3c7ca 100644 --- a/test/e2e/nutanix_client.go +++ b/test/e2e/nutanix_client.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client_test.go b/test/e2e/nutanix_client_test.go index 33e7bac1c9..f140796ca6 100644 --- a/test/e2e/nutanix_client_test.go +++ b/test/e2e/nutanix_client_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_failure_domain_move_test.go b/test/e2e/nutanix_failure_domain_move_test.go index 2dff95b327..e71e4675d8 100644 --- a/test/e2e/nutanix_failure_domain_move_test.go +++ b/test/e2e/nutanix_failure_domain_move_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2025 Nutanix diff --git a/test/e2e/projects_test.go b/test/e2e/projects_test.go index 4c58ea9703..699240783f 100644 --- a/test/e2e/projects_test.go +++ b/test/e2e/projects_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix diff --git a/test/e2e/template_test.go b/test/e2e/template_test.go index 66f08ff8fd..c42baf703f 100644 --- a/test/e2e/template_test.go +++ b/test/e2e/template_test.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2025 Nutanix diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index 71be35adf5..542fd72b7f 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -1,4 +1,4 @@ -//go:build e2e +// /* Copyright 2022 Nutanix @@ -64,8 +64,6 @@ const ( defaultSystemDiskSize = "40Gi" defaultBootType = "legacy" - categoryKeyVarKey = "NUTANIX_ADDITIONAL_CATEGORY_KEY" - categoryValueVarKey = "NUTANIX_ADDITIONAL_CATEGORY_VALUE" imageVarKey = "NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME" clusterVarKey = "NUTANIX_PRISM_ELEMENT_CLUSTER_NAME" subnetVarKey = "NUTANIX_SUBNET_NAME" From 02fadb9a2e541ac304356de90f55d9e03c6ead95 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Tue, 18 Nov 2025 06:16:11 +0000 Subject: [PATCH 20/28] fix: added reasons for conditiontrue v1beta2 --- api/v1beta1/conditions.go | 2 ++ controllers/helpers.go | 2 ++ controllers/nutanixcluster_controller.go | 5 +++++ controllers/nutanixfailuredomain_controller.go | 2 ++ controllers/nutanixfailuredomain_controller_test.go | 1 + controllers/nutanixmachine_controller.go | 4 ++++ 6 files changed, 16 insertions(+) diff --git a/api/v1beta1/conditions.go b/api/v1beta1/conditions.go index 058c2e7e0e..2f8d2c76ae 100644 --- a/api/v1beta1/conditions.go +++ b/api/v1beta1/conditions.go @@ -19,6 +19,8 @@ package v1beta1 import capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package const ( + Succeeded = "Succeeded" + DeletionFailed = "DeletionFailed" VolumeGroupDetachFailed = "VolumeGroupDetachFailed" diff --git a/controllers/helpers.go b/controllers/helpers.go index c4a49511f9..8374e00089 100644 --- a/controllers/helpers.go +++ b/controllers/helpers.go @@ -1058,6 +1058,7 @@ func getPrismCentralClientForCluster(ctx context.Context, cluster *infrav1.Nutan v1beta2conditions.Set(cluster, metav1.Condition{ Type: string(infrav1.PrismCentralClientCondition), Status: metav1.ConditionTrue, + Reason: infrav1.Succeeded, }) return v3Client, nil } @@ -1099,6 +1100,7 @@ func getPrismCentralConvergedV4ClientForCluster(ctx context.Context, cluster *in v1beta2conditions.Set(cluster, metav1.Condition{ Type: string(infrav1.PrismCentralV4ClientCondition), Status: metav1.ConditionTrue, + Reason: infrav1.Succeeded, }) return client, nil } diff --git a/controllers/nutanixcluster_controller.go b/controllers/nutanixcluster_controller.go index 37dd59a4e1..25ef34387a 100644 --- a/controllers/nutanixcluster_controller.go +++ b/controllers/nutanixcluster_controller.go @@ -228,6 +228,7 @@ func (r *NutanixClusterReconciler) Reconcile(ctx context.Context, req ctrl.Reque v1beta2conditions.Set(cluster, metav1.Condition{ Type: string(infrav1.CredentialRefSecretOwnerSetCondition), Status: metav1.ConditionTrue, + Reason: infrav1.Succeeded, }) if err := r.reconcileTrustBundleRef(ctx, cluster); err != nil { @@ -369,6 +370,7 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ Type: string(infrav1.NoFailureDomainsConfiguredCondition), Status: metav1.ConditionTrue, + Reason: string(infrav1.NoFailureDomainsConfiguredCondition), }) v1beta1conditions.Delete(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition) v1beta2conditions.Delete(rctx.NutanixCluster, string(infrav1.FailureDomainsValidatedCondition)) @@ -430,6 +432,7 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ Type: string(infrav1.FailureDomainsValidatedCondition), Status: metav1.ConditionTrue, + Reason: infrav1.Succeeded, }) return nil } @@ -471,6 +474,7 @@ func (r *NutanixClusterReconciler) reconcileCategories(rctx *nctx.ClusterContext v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ Type: string(infrav1.ClusterCategoryCreatedCondition), Status: metav1.ConditionTrue, + Reason: infrav1.Succeeded, }) return nil } @@ -609,6 +613,7 @@ func (r *NutanixClusterReconciler) reconcileTrustBundleRef(ctx context.Context, v1beta2conditions.Set(nutanixCluster, metav1.Condition{ Type: string(infrav1.TrustBundleSecretOwnerSetCondition), Status: metav1.ConditionTrue, + Reason: infrav1.Succeeded, }) return nil } diff --git a/controllers/nutanixfailuredomain_controller.go b/controllers/nutanixfailuredomain_controller.go index 9d399bc459..de36cdcd48 100644 --- a/controllers/nutanixfailuredomain_controller.go +++ b/controllers/nutanixfailuredomain_controller.go @@ -213,6 +213,7 @@ func (r *NutanixFailureDomainReconciler) reconcileDelete(ctx context.Context, fd v1beta2conditions.Set(fd, metav1.Condition{ Type: string(infrav1.FailureDomainSafeForDeletionCondition), Status: metav1.ConditionTrue, + Reason: capiv1.ReadyV1Beta2Reason, }) // Remove the finalizer from the failure domain object @@ -243,6 +244,7 @@ func (r *NutanixFailureDomainReconciler) reconcileNormal(ctx context.Context, fd v1beta2conditions.Set(fd, metav1.Condition{ Type: string(infrav1.FailureDomainSafeForDeletionCondition), Status: metav1.ConditionFalse, + Reason: capiv1.AvailableV1Beta2Reason, }) // Remove the FailureDomainSafeForDeletionCondition if there are any v1beta1conditions.Delete(fd, infrav1.FailureDomainSafeForDeletionCondition) diff --git a/controllers/nutanixfailuredomain_controller_test.go b/controllers/nutanixfailuredomain_controller_test.go index 2cec1d56a5..e5b25c49b1 100644 --- a/controllers/nutanixfailuredomain_controller_test.go +++ b/controllers/nutanixfailuredomain_controller_test.go @@ -162,6 +162,7 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { condv1beta2 := v1beta2conditions.Get(fdObj, string(infrav1.FailureDomainSafeForDeletionCondition)) g.Expect(condv1beta2).NotTo(BeNil()) g.Expect(condv1beta2.Status).To(Equal(metav1.ConditionTrue)) + g.Expect(condv1beta2.Reason).To(Equal(capiv1.ReadyV1Beta2Reason)) // Delete the failure domain object and expect deletion success g.Expect(k8sClient.Delete(ctx, fdObj)).To(Succeed()) diff --git a/controllers/nutanixmachine_controller.go b/controllers/nutanixmachine_controller.go index 19cb65e339..14386ea141 100644 --- a/controllers/nutanixmachine_controller.go +++ b/controllers/nutanixmachine_controller.go @@ -553,6 +553,7 @@ func (r *NutanixMachineReconciler) reconcileNormal(rctx *nctx.MachineContext) (r v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ Type: string(infrav1.VMAddressesAssignedCondition), Status: metav1.ConditionTrue, + Reason: infrav1.Succeeded, }) // Update the NutanixMachine Spec.ProviderID @@ -843,6 +844,7 @@ func (r *NutanixMachineReconciler) getOrCreateVM(rctx *nctx.MachineContext) (*vm v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ Type: string(infrav1.VMProvisionedCondition), Status: metav1.ConditionTrue, + Reason: capiv1beta1.ProvisionedV1Beta2Reason, }) return vmFound, nil } @@ -980,6 +982,7 @@ func (r *NutanixMachineReconciler) getOrCreateVM(rctx *nctx.MachineContext) (*vm v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ Type: string(infrav1.VMProvisionedCondition), Status: metav1.ConditionTrue, + Reason: capiv1beta1.ProvisionedV1Beta2Reason, }) return vm, nil } @@ -1351,6 +1354,7 @@ func (r *NutanixMachineReconciler) addVMToProject(rctx *nctx.MachineContext, vm v1beta2conditions.Set(rctx.NutanixMachine, metav1.Condition{ Type: string(infrav1.ProjectAssignedCondition), Status: metav1.ConditionTrue, + Reason: infrav1.Succeeded, }) return nil } From efd37a1e966068a5e47c50cec7b8a687058c55b6 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Tue, 18 Nov 2025 06:25:32 +0000 Subject: [PATCH 21/28] revert: build label --- test/e2e/basic_uuid_test.go | 2 +- test/e2e/capx_quick_start_test.go | 2 +- test/e2e/capx_regression_test.go | 2 +- test/e2e/categories_test.go | 2 +- test/e2e/cluster_topology.go | 2 +- test/e2e/cluster_topology_basic_test.go | 2 +- test/e2e/cluster_topology_conformance_test.go | 2 +- test/e2e/cluster_topology_k8s_configs.go | 2 +- test/e2e/cluster_topology_mega_scale_test.go | 2 +- test/e2e/cluster_topology_scale_in_test.go | 2 +- test/e2e/cluster_topology_scale_out_test.go | 2 +- test/e2e/cluster_topology_scale_up_down_test.go | 2 +- test/e2e/cluster_topology_upgrade_test.go | 2 +- test/e2e/cluster_upgrade_test.go | 2 +- test/e2e/clusterclass_changes_test.go | 2 +- test/e2e/clusterctl_move_test.go | 2 +- test/e2e/clusterctl_upgrade_test.go | 2 +- test/e2e/common.go | 2 +- test/e2e/csi_test.go | 2 +- test/e2e/data_disks_test.go | 2 +- test/e2e/e2e_suite_test.go | 2 +- test/e2e/failure_domains_migration_test.go | 2 +- test/e2e/failure_domains_test.go | 2 +- test/e2e/gpu_test.go | 2 +- test/e2e/k8s_conformance_test.go | 2 +- test/e2e/md_rollout_test.go | 2 +- test/e2e/md_scale_test.go | 2 +- test/e2e/mhc_remediations_test.go | 2 +- test/e2e/multi_nic_test.go | 2 +- test/e2e/nutanix_client.go | 2 +- test/e2e/nutanix_client_test.go | 2 +- test/e2e/nutanix_failure_domain_move_test.go | 2 +- test/e2e/projects_test.go | 2 +- test/e2e/template_test.go | 2 +- test/e2e/test_helpers.go | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/test/e2e/basic_uuid_test.go b/test/e2e/basic_uuid_test.go index 95eb96371f..afc3c3d360 100644 --- a/test/e2e/basic_uuid_test.go +++ b/test/e2e/basic_uuid_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/capx_quick_start_test.go b/test/e2e/capx_quick_start_test.go index 18a1acb8ea..094b15a9cf 100644 --- a/test/e2e/capx_quick_start_test.go +++ b/test/e2e/capx_quick_start_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/capx_regression_test.go b/test/e2e/capx_regression_test.go index 3902d46077..873fb3c924 100644 --- a/test/e2e/capx_regression_test.go +++ b/test/e2e/capx_regression_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/categories_test.go b/test/e2e/categories_test.go index 10da80b887..6ea243f0f0 100644 --- a/test/e2e/categories_test.go +++ b/test/e2e/categories_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/cluster_topology.go b/test/e2e/cluster_topology.go index b08809fafd..82cf9fb517 100644 --- a/test/e2e/cluster_topology.go +++ b/test/e2e/cluster_topology.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_basic_test.go b/test/e2e/cluster_topology_basic_test.go index cd0c134537..907c6c9c98 100644 --- a/test/e2e/cluster_topology_basic_test.go +++ b/test/e2e/cluster_topology_basic_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_conformance_test.go b/test/e2e/cluster_topology_conformance_test.go index 0c4e4065a3..3660b1871e 100644 --- a/test/e2e/cluster_topology_conformance_test.go +++ b/test/e2e/cluster_topology_conformance_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_k8s_configs.go b/test/e2e/cluster_topology_k8s_configs.go index 9ae42faa48..43952c284d 100644 --- a/test/e2e/cluster_topology_k8s_configs.go +++ b/test/e2e/cluster_topology_k8s_configs.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_mega_scale_test.go b/test/e2e/cluster_topology_mega_scale_test.go index aac4922e15..9e2cccf90b 100644 --- a/test/e2e/cluster_topology_mega_scale_test.go +++ b/test/e2e/cluster_topology_mega_scale_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_in_test.go b/test/e2e/cluster_topology_scale_in_test.go index ab5e7e6088..cda32d548c 100644 --- a/test/e2e/cluster_topology_scale_in_test.go +++ b/test/e2e/cluster_topology_scale_in_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_out_test.go b/test/e2e/cluster_topology_scale_out_test.go index 5d4b4f7746..41a15c5689 100644 --- a/test/e2e/cluster_topology_scale_out_test.go +++ b/test/e2e/cluster_topology_scale_out_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_scale_up_down_test.go b/test/e2e/cluster_topology_scale_up_down_test.go index 9f9c683477..751da5085a 100644 --- a/test/e2e/cluster_topology_scale_up_down_test.go +++ b/test/e2e/cluster_topology_scale_up_down_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_topology_upgrade_test.go b/test/e2e/cluster_topology_upgrade_test.go index adb31ac2f8..b62e44ac32 100644 --- a/test/e2e/cluster_topology_upgrade_test.go +++ b/test/e2e/cluster_topology_upgrade_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/cluster_upgrade_test.go b/test/e2e/cluster_upgrade_test.go index 505abbccc9..1e67fde921 100644 --- a/test/e2e/cluster_upgrade_test.go +++ b/test/e2e/cluster_upgrade_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix, Inc diff --git a/test/e2e/clusterclass_changes_test.go b/test/e2e/clusterclass_changes_test.go index 833d9a2d26..3215e3f8b3 100644 --- a/test/e2e/clusterclass_changes_test.go +++ b/test/e2e/clusterclass_changes_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/clusterctl_move_test.go b/test/e2e/clusterctl_move_test.go index 592c2874cb..1751b6af47 100644 --- a/test/e2e/clusterctl_move_test.go +++ b/test/e2e/clusterctl_move_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2024 Nutanix diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index d4b6d9f46e..316f2f7fe7 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/common.go b/test/e2e/common.go index 2f7a8423a5..710abe4f55 100644 --- a/test/e2e/common.go +++ b/test/e2e/common.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/csi_test.go b/test/e2e/csi_test.go index 0ba07b57b7..5c92b86453 100644 --- a/test/e2e/csi_test.go +++ b/test/e2e/csi_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/data_disks_test.go b/test/e2e/data_disks_test.go index c3dc52640b..bcf602886e 100644 --- a/test/e2e/data_disks_test.go +++ b/test/e2e/data_disks_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2025 Nutanix diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go index 9ce662004a..89bac710dd 100644 --- a/test/e2e/e2e_suite_test.go +++ b/test/e2e/e2e_suite_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/failure_domains_migration_test.go b/test/e2e/failure_domains_migration_test.go index b7881c6de3..b49f61fbcc 100644 --- a/test/e2e/failure_domains_migration_test.go +++ b/test/e2e/failure_domains_migration_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2023 Nutanix diff --git a/test/e2e/failure_domains_test.go b/test/e2e/failure_domains_test.go index 1f200c76b7..faf77aec51 100644 --- a/test/e2e/failure_domains_test.go +++ b/test/e2e/failure_domains_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2023 Nutanix diff --git a/test/e2e/gpu_test.go b/test/e2e/gpu_test.go index a8d1a4fd61..c231c12bdc 100644 --- a/test/e2e/gpu_test.go +++ b/test/e2e/gpu_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2023 Nutanix diff --git a/test/e2e/k8s_conformance_test.go b/test/e2e/k8s_conformance_test.go index 9be48742c6..3f235720e8 100644 --- a/test/e2e/k8s_conformance_test.go +++ b/test/e2e/k8s_conformance_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix, Inc diff --git a/test/e2e/md_rollout_test.go b/test/e2e/md_rollout_test.go index 474074b895..0eb108bce1 100644 --- a/test/e2e/md_rollout_test.go +++ b/test/e2e/md_rollout_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/md_scale_test.go b/test/e2e/md_scale_test.go index 59f66ffd5b..8c6d5a4e61 100644 --- a/test/e2e/md_scale_test.go +++ b/test/e2e/md_scale_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2021 The Kubernetes Authors. diff --git a/test/e2e/mhc_remediations_test.go b/test/e2e/mhc_remediations_test.go index fdd041f01e..30113f8767 100644 --- a/test/e2e/mhc_remediations_test.go +++ b/test/e2e/mhc_remediations_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2020 The Kubernetes Authors. diff --git a/test/e2e/multi_nic_test.go b/test/e2e/multi_nic_test.go index 7d14d453e4..6c4f441c73 100644 --- a/test/e2e/multi_nic_test.go +++ b/test/e2e/multi_nic_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client.go b/test/e2e/nutanix_client.go index 183ef3c7ca..6f6508e8d9 100644 --- a/test/e2e/nutanix_client.go +++ b/test/e2e/nutanix_client.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client_test.go b/test/e2e/nutanix_client_test.go index f140796ca6..33e7bac1c9 100644 --- a/test/e2e/nutanix_client_test.go +++ b/test/e2e/nutanix_client_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_failure_domain_move_test.go b/test/e2e/nutanix_failure_domain_move_test.go index e71e4675d8..2dff95b327 100644 --- a/test/e2e/nutanix_failure_domain_move_test.go +++ b/test/e2e/nutanix_failure_domain_move_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2025 Nutanix diff --git a/test/e2e/projects_test.go b/test/e2e/projects_test.go index 699240783f..4c58ea9703 100644 --- a/test/e2e/projects_test.go +++ b/test/e2e/projects_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/template_test.go b/test/e2e/template_test.go index c42baf703f..66f08ff8fd 100644 --- a/test/e2e/template_test.go +++ b/test/e2e/template_test.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2025 Nutanix diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index 542fd72b7f..d7b444ea3e 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix From 6d2b22ccd7ec763dfb36cbd074957bd7e9fb1ac3 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Tue, 18 Nov 2025 06:35:45 +0000 Subject: [PATCH 22/28] fix: lint --- test/e2e/test_helpers.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/e2e/test_helpers.go b/test/e2e/test_helpers.go index d7b444ea3e..ac072c1008 100644 --- a/test/e2e/test_helpers.go +++ b/test/e2e/test_helpers.go @@ -64,9 +64,9 @@ const ( defaultSystemDiskSize = "40Gi" defaultBootType = "legacy" - imageVarKey = "NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME" - clusterVarKey = "NUTANIX_PRISM_ELEMENT_CLUSTER_NAME" - subnetVarKey = "NUTANIX_SUBNET_NAME" + imageVarKey = "NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME" + clusterVarKey = "NUTANIX_PRISM_ELEMENT_CLUSTER_NAME" + subnetVarKey = "NUTANIX_SUBNET_NAME" nameType = "name" From 19a8e58eb5aa08fd929ea96624d3c02d7e4e0770 Mon Sep 17 00:00:00 2001 From: atulv7 Date: Thu, 27 Nov 2025 16:55:13 +0530 Subject: [PATCH 23/28] refactor: rename core imports --- api/v1beta1/nutanixfailuredomain_types.go | 8 +- api/v1beta1/nutanixmachine_types.go | 10 +- api/v1beta1/nutanixmachinetemplate_types.go | 4 +- api/v1beta1/suite_test.go | 4 +- controllers/helpers.go | 10 +- controllers/nutanixcluster_controller.go | 28 +++--- controllers/nutanixcluster_controller_test.go | 12 +-- .../nutanixfailuredomain_controller.go | 10 +- .../nutanixfailuredomain_controller_test.go | 6 +- controllers/nutanixmachine_controller_test.go | 92 +++++++++---------- pkg/context/context.go | 12 +-- pkg/context/context_test.go | 4 +- templates/template_test.go | 18 ++-- test/e2e/capx_regression_test.go | 16 ++-- test/e2e/categories_test.go | 8 +- test/e2e/cluster_topology_basic_test.go | 4 +- test/e2e/cluster_topology_conformance_test.go | 4 +- test/e2e/cluster_topology_mega_scale_test.go | 4 +- test/e2e/cluster_topology_scale_in_test.go | 4 +- test/e2e/cluster_topology_scale_out_test.go | 4 +- .../cluster_topology_scale_up_down_test.go | 4 +- test/e2e/cluster_topology_upgrade_test.go | 4 +- test/e2e/clusterctl_upgrade_test.go | 12 +-- test/e2e/common.go | 4 +- test/e2e/e2e_suite_test.go | 6 +- test/e2e/failure_domains_test.go | 4 +- test/e2e/log/log.go | 2 +- test/e2e/nutanix_client_test.go | 22 ++--- test/e2e/projects_test.go | 10 +- 29 files changed, 165 insertions(+), 165 deletions(-) diff --git a/api/v1beta1/nutanixfailuredomain_types.go b/api/v1beta1/nutanixfailuredomain_types.go index 0ddcf051bc..9ed7c6b3fe 100644 --- a/api/v1beta1/nutanixfailuredomain_types.go +++ b/api/v1beta1/nutanixfailuredomain_types.go @@ -18,7 +18,7 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ) const ( @@ -51,7 +51,7 @@ type NutanixFailureDomainSpec struct { type NutanixFailureDomainStatus struct { // conditions represent the latest states of the failure domain. // +optional - Conditions []capiv1.Condition `json:"conditions,omitempty"` + Conditions []capiv1beta1.Condition `json:"conditions,omitempty"` // v1beta2 groups all the fields that will be added or modified in NutanixCluster's status with the V1Beta2 version. // +optional @@ -86,12 +86,12 @@ type NutanixFailureDomain struct { } // GetConditions returns the set of conditions for this object. -func (nfd *NutanixFailureDomain) GetConditions() capiv1.Conditions { +func (nfd *NutanixFailureDomain) GetConditions() capiv1beta1.Conditions { return nfd.Status.Conditions } // SetConditions sets the conditions on this object. -func (nfd *NutanixFailureDomain) SetConditions(conditions capiv1.Conditions) { +func (nfd *NutanixFailureDomain) SetConditions(conditions capiv1beta1.Conditions) { nfd.Status.Conditions = conditions } diff --git a/api/v1beta1/nutanixmachine_types.go b/api/v1beta1/nutanixmachine_types.go index 8631db82bf..8eab4fc9e4 100644 --- a/api/v1beta1/nutanixmachine_types.go +++ b/api/v1beta1/nutanixmachine_types.go @@ -20,7 +20,7 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ) // EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! @@ -255,7 +255,7 @@ type NutanixMachineStatus struct { // Addresses contains the Nutanix VM associated addresses. // Address type is one of Hostname, ExternalIP, InternalIP, ExternalDNS, InternalDNS - Addresses []capiv1.MachineAddress `json:"addresses,omitempty"` + Addresses []capiv1beta1.MachineAddress `json:"addresses,omitempty"` // The Nutanix VM's UUID // +optional @@ -268,7 +268,7 @@ type NutanixMachineStatus struct { // Conditions defines current service state of the NutanixMachine. // +optional - Conditions capiv1.Conditions `json:"conditions,omitempty"` + Conditions capiv1beta1.Conditions `json:"conditions,omitempty"` // Will be set in case of failure of Machine instance // +optional @@ -317,12 +317,12 @@ type NutanixMachine struct { } // GetConditions returns the set of conditions for this object. -func (nm *NutanixMachine) GetConditions() capiv1.Conditions { +func (nm *NutanixMachine) GetConditions() capiv1beta1.Conditions { return nm.Status.Conditions } // SetConditions sets the conditions on this object. -func (nm *NutanixMachine) SetConditions(conditions capiv1.Conditions) { +func (nm *NutanixMachine) SetConditions(conditions capiv1beta1.Conditions) { nm.Status.Conditions = conditions } diff --git a/api/v1beta1/nutanixmachinetemplate_types.go b/api/v1beta1/nutanixmachinetemplate_types.go index 9bd6626151..c516f3b906 100644 --- a/api/v1beta1/nutanixmachinetemplate_types.go +++ b/api/v1beta1/nutanixmachinetemplate_types.go @@ -18,7 +18,7 @@ package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ) // NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. @@ -63,7 +63,7 @@ type NutanixMachineTemplateResource struct { // Standard object metadata. // Ref: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional - ObjectMeta capiv1.ObjectMeta `json:"metadata,omitempty"` + ObjectMeta capiv1beta1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification of the desired behavior of the machine. Spec NutanixMachineSpec `json:"spec"` } diff --git a/api/v1beta1/suite_test.go b/api/v1beta1/suite_test.go index 7a596e058e..f2dde082ce 100644 --- a/api/v1beta1/suite_test.go +++ b/api/v1beta1/suite_test.go @@ -8,7 +8,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" "k8s.io/client-go/kubernetes/scheme" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/envtest" logf "sigs.k8s.io/controller-runtime/pkg/log" @@ -44,7 +44,7 @@ var _ = BeforeSuite(func() { err = infrav1.AddToScheme(scheme.Scheme) Expect(err).NotTo(HaveOccurred()) - err = clusterv1.AddToScheme(scheme.Scheme) + err = capiv1beta1.AddToScheme(scheme.Scheme) Expect(err).NotTo(HaveOccurred()) k8sClient, err = client.New(cfg, client.Options{Scheme: scheme.Scheme}) diff --git a/controllers/helpers.go b/controllers/helpers.go index 8374e00089..f4cc3bf539 100644 --- a/controllers/helpers.go +++ b/controllers/helpers.go @@ -42,7 +42,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" //nolint:staticcheck // suppress complaining on Deprecated package ctrl "sigs.k8s.io/controller-runtime" @@ -1027,7 +1027,7 @@ func getPrismCentralClientForCluster(ctx context.Context, cluster *infrav1.Nutan managementEndpoint, err := clientHelper.BuildManagementEndpoint(ctx, cluster) if err != nil { log.Error(err, fmt.Sprintf("error occurred while getting management endpoint for cluster %q", cluster.GetNamespacedName())) - v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) v1beta2conditions.Set(cluster, metav1.Condition{ Type: string(infrav1.PrismCentralClientCondition), Status: metav1.ConditionFalse, @@ -1044,7 +1044,7 @@ func getPrismCentralClientForCluster(ctx context.Context, cluster *infrav1.Nutan }) if err != nil { log.Error(err, "error occurred while getting nutanix prism v3 Client from cache") - v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralClientCondition, infrav1.PrismCentralClientInitializationFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) v1beta2conditions.Set(cluster, metav1.Condition{ Type: string(infrav1.PrismCentralClientCondition), Status: metav1.ConditionFalse, @@ -1070,7 +1070,7 @@ func getPrismCentralConvergedV4ClientForCluster(ctx context.Context, cluster *in managementEndpoint, err := clientHelper.BuildManagementEndpoint(ctx, cluster) if err != nil { log.Error(err, fmt.Sprintf("error occurred while getting management endpoint for cluster %q", cluster.GetNamespacedName())) - v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) v1beta2conditions.Set(cluster, metav1.Condition{ Type: string(infrav1.PrismCentralV4ClientCondition), Status: metav1.ConditionFalse, @@ -1086,7 +1086,7 @@ func getPrismCentralConvergedV4ClientForCluster(ctx context.Context, cluster *in }) if err != nil { log.Error(err, "error occurred while getting nutanix prism v4 client from cache") - v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.PrismCentralV4ClientCondition, infrav1.PrismCentralV4ClientInitializationFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) v1beta2conditions.Set(cluster, metav1.Condition{ Type: string(infrav1.PrismCentralV4ClientCondition), Status: metav1.ConditionFalse, diff --git a/controllers/nutanixcluster_controller.go b/controllers/nutanixcluster_controller.go index 25ef34387a..d09f174764 100644 --- a/controllers/nutanixcluster_controller.go +++ b/controllers/nutanixcluster_controller.go @@ -32,8 +32,8 @@ import ( kutilerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" capiutil "sigs.k8s.io/cluster-api/util" "sigs.k8s.io/cluster-api/util/annotations" v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package @@ -91,7 +91,7 @@ func (r *NutanixClusterReconciler) SetupWithManager(ctx context.Context, mgr ctr Named("nutanixcluster-controller"). For(&infrav1.NutanixCluster{}). // Watch the controlled, infrastructure resource. Watches( - &capiv1.Cluster{}, + &capiv1beta2.Cluster{}, handler.EnqueueRequestsFromMapFunc( capiutil.ClusterToInfrastructureMapFunc( ctx, @@ -215,7 +215,7 @@ func (r *NutanixClusterReconciler) Reconcile(ctx context.Context, req ctrl.Reque if err := r.reconcileCredentialRef(ctx, cluster); err != nil { log.Error(err, fmt.Sprintf("error occurred while reconciling credential ref for cluster %s", capiCluster.Name)) - v1beta1conditions.MarkFalse(cluster, infrav1.CredentialRefSecretOwnerSetCondition, infrav1.CredentialRefSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(cluster, infrav1.CredentialRefSecretOwnerSetCondition, infrav1.CredentialRefSecretOwnerSetFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) v1beta2conditions.Set(cluster, metav1.Condition{ Type: string(infrav1.CredentialRefSecretOwnerSetCondition), Status: metav1.ConditionFalse, @@ -363,7 +363,7 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon Reason: infrav1.FailureDomainsValidationInProgressReason, }) - failureDomains := clusterv1beta1.FailureDomains{} + failureDomains := capiv1beta1.FailureDomains{} if len(rctx.NutanixCluster.Spec.ControlPlaneFailureDomains) == 0 && len(rctx.NutanixCluster.Spec.FailureDomains) == 0 { //nolint:staticcheck // suppress complaining on Deprecated field log.Info("No failure domains configured for cluster.") v1beta1conditions.MarkTrue(rctx.NutanixCluster, infrav1.NoFailureDomainsConfiguredCondition) @@ -405,12 +405,12 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon } // The failure domain configuration passed validation. Add it to the result map. - failureDomains[fdObj.Name] = clusterv1beta1.FailureDomainSpec{ControlPlane: true} + failureDomains[fdObj.Name] = capiv1beta1.FailureDomainSpec{ControlPlane: true} } // Remove below when the Deprecated field NutanixCluster.Spec.FailureDomains is removed for _, fd := range rctx.NutanixCluster.Spec.FailureDomains { //nolint:staticcheck // suppress complaining on Deprecated field - failureDomains[fd.Name] = clusterv1beta1.FailureDomainSpec{ControlPlane: fd.ControlPlane} + failureDomains[fd.Name] = capiv1beta1.FailureDomainSpec{ControlPlane: fd.ControlPlane} } // Set the failure domains for nutanixcluster status @@ -418,7 +418,7 @@ func (r *NutanixClusterReconciler) reconcileFailureDomains(rctx *nctx.ClusterCon if len(validationErrs) != 0 { v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.FailureDomainsValidatedCondition, - infrav1.FailureDomainsMisconfiguredReason, clusterv1beta1.ConditionSeverityWarning, "%s", errors.Join(validationErrs...).Error()) + infrav1.FailureDomainsMisconfiguredReason, capiv1beta1.ConditionSeverityWarning, "%s", errors.Join(validationErrs...).Error()) v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ Type: string(infrav1.FailureDomainsValidatedCondition), Status: metav1.ConditionFalse, @@ -461,7 +461,7 @@ func (r *NutanixClusterReconciler) reconcileCategories(rctx *nctx.ClusterContext defaultCategories := GetDefaultCAPICategoryIdentifiers(rctx.Cluster.Name) _, err := GetOrCreateCategories(rctx.Context, rctx.ConvergedClient, defaultCategories) if err != nil { - v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.ClusterCategoryCreationFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.ClusterCategoryCreationFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ Type: string(infrav1.ClusterCategoryCreatedCondition), Status: metav1.ConditionFalse, @@ -488,7 +488,7 @@ func (r *NutanixClusterReconciler) reconcileCategoriesDelete(rctx *nctx.ClusterC obsoleteCategories := GetObsoleteDefaultCAPICategoryIdentifiers(rctx.Cluster.Name) err := DeleteCategories(rctx.Context, rctx.ConvergedClient, defaultCategories, obsoleteCategories) if err != nil { - v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.DeletionFailed, clusterv1beta1.ConditionSeverityWarning, "%s", err.Error()) + v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, infrav1.DeletionFailed, capiv1beta1.ConditionSeverityWarning, "%s", err.Error()) v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ Type: string(infrav1.ClusterCategoryCreatedCondition), Status: metav1.ConditionFalse, @@ -500,11 +500,11 @@ func (r *NutanixClusterReconciler) reconcileCategoriesDelete(rctx *nctx.ClusterC } else { log.V(1).Info(fmt.Sprintf("skipping category deletion since they were not created for cluster %s", rctx.Cluster.Name)) } - v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, capiv1.DeletingReason, clusterv1beta1.ConditionSeverityInfo, "") + v1beta1conditions.MarkFalse(rctx.NutanixCluster, infrav1.ClusterCategoryCreatedCondition, capiv1beta2.DeletingReason, capiv1beta1.ConditionSeverityInfo, "") v1beta2conditions.Set(rctx.NutanixCluster, metav1.Condition{ Type: string(infrav1.ClusterCategoryCreatedCondition), Status: metav1.ConditionFalse, - Reason: capiv1.DeletingReason, + Reason: capiv1beta2.DeletingReason, }) return nil } @@ -568,7 +568,7 @@ func (r *NutanixClusterReconciler) reconcileTrustBundleRef(ctx context.Context, } if err := r.Client.Get(ctx, configMapKey, configMap); err != nil { log.Error(err, "error occurred while fetching trust bundle configmap", "nutanixCluster", nutanixCluster.Name) - v1beta1conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) v1beta2conditions.Set(nutanixCluster, metav1.Condition{ Type: string(infrav1.TrustBundleSecretOwnerSetCondition), Status: metav1.ConditionFalse, @@ -599,7 +599,7 @@ func (r *NutanixClusterReconciler) reconcileTrustBundleRef(ctx context.Context, if err := r.Client.Update(ctx, configMap); err != nil { log.Error(err, "error occurred while updating trust bundle configmap", "nutanixCluster", nutanixCluster) - v1beta1conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, clusterv1beta1.ConditionSeverityError, "%s", err.Error()) + v1beta1conditions.MarkFalse(nutanixCluster, infrav1.TrustBundleSecretOwnerSetCondition, infrav1.TrustBundleSecretOwnerSetFailed, capiv1beta1.ConditionSeverityError, "%s", err.Error()) v1beta2conditions.Set(nutanixCluster, metav1.Condition{ Type: string(infrav1.TrustBundleSecretOwnerSetCondition), Status: metav1.ConditionFalse, diff --git a/controllers/nutanixcluster_controller_test.go b/controllers/nutanixcluster_controller_test.go index 4e6bbb7eab..01edc6372e 100644 --- a/controllers/nutanixcluster_controller_test.go +++ b/controllers/nutanixcluster_controller_test.go @@ -36,7 +36,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" utilruntime "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/util" ctrl "sigs.k8s.io/controller-runtime" ctlclient "sigs.k8s.io/controller-runtime/pkg/client" @@ -99,7 +99,7 @@ func TestNutanixClusterReconciler_ConvergedClientCacheDeletion(t *testing.T) { } // Create cluster context - capiCluster := &capiv1.Cluster{ + capiCluster := &capiv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: "test-cluster", Namespace: "default", @@ -159,7 +159,7 @@ func TestNutanixClusterReconciler_ConvergedClientCacheDeletion(t *testing.T) { } // Create cluster context - capiCluster := &capiv1.Cluster{ + capiCluster := &capiv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: "test-cluster", Namespace: "default", @@ -496,8 +496,8 @@ func TestNutanixClusterReconciler(t *testing.T) { // Add an ownerReference for a fake object ntnxSecret.OwnerReferences = []metav1.OwnerReference{ { - APIVersion: capiv1.GroupVersion.String(), - Kind: capiv1.ClusterKind, + APIVersion: capiv1beta2.GroupVersion.String(), + Kind: capiv1beta2.ClusterKind, UID: ntnxCluster.UID, Name: r, }, @@ -1200,7 +1200,7 @@ func TestNutanixClusterReconciler_SetupWithManager(t *testing.T) { scheme := runtime.NewScheme() err := infrav1.AddToScheme(scheme) require.NoError(t, err) - err = capiv1.AddToScheme(scheme) + err = capiv1beta2.AddToScheme(scheme) require.NoError(t, err) restScope := mockmeta.NewMockRESTScope(mockCtrl) diff --git a/controllers/nutanixfailuredomain_controller.go b/controllers/nutanixfailuredomain_controller.go index de36cdcd48..e4ddfd3f42 100644 --- a/controllers/nutanixfailuredomain_controller.go +++ b/controllers/nutanixfailuredomain_controller.go @@ -26,7 +26,7 @@ import ( kerrors "k8s.io/apimachinery/pkg/util/errors" coreinformers "k8s.io/client-go/informers/core/v1" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" //nolint:staticcheck // suppress complaining on Deprecated package v1beta1patch "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/patch" //nolint:staticcheck // suppress complaining on Deprecated package @@ -204,7 +204,7 @@ func (r *NutanixFailureDomainReconciler) reconcileDelete(ctx context.Context, fd } if nm.Status.FailureDomain != nil && *nm.Status.FailureDomain == fd.Name { - ntxMachines[nm.Name] = nm.GetLabels()[capiv1.ClusterNameLabel] + ntxMachines[nm.Name] = nm.GetLabels()[capiv1beta1.ClusterNameLabel] } } @@ -213,7 +213,7 @@ func (r *NutanixFailureDomainReconciler) reconcileDelete(ctx context.Context, fd v1beta2conditions.Set(fd, metav1.Condition{ Type: string(infrav1.FailureDomainSafeForDeletionCondition), Status: metav1.ConditionTrue, - Reason: capiv1.ReadyV1Beta2Reason, + Reason: capiv1beta1.ReadyV1Beta2Reason, }) // Remove the finalizer from the failure domain object @@ -223,7 +223,7 @@ func (r *NutanixFailureDomainReconciler) reconcileDelete(ctx context.Context, fd errMsg := fmt.Sprintf("The failure domain is used by machines: %v", ntxMachines) v1beta1conditions.MarkFalse(fd, infrav1.FailureDomainSafeForDeletionCondition, - infrav1.FailureDomainInUseReason, capiv1.ConditionSeverityError, "%s", errMsg) + infrav1.FailureDomainInUseReason, capiv1beta1.ConditionSeverityError, "%s", errMsg) v1beta2conditions.Set(fd, metav1.Condition{ Type: string(infrav1.FailureDomainSafeForDeletionCondition), Status: metav1.ConditionFalse, @@ -244,7 +244,7 @@ func (r *NutanixFailureDomainReconciler) reconcileNormal(ctx context.Context, fd v1beta2conditions.Set(fd, metav1.Condition{ Type: string(infrav1.FailureDomainSafeForDeletionCondition), Status: metav1.ConditionFalse, - Reason: capiv1.AvailableV1Beta2Reason, + Reason: capiv1beta1.AvailableV1Beta2Reason, }) // Remove the FailureDomainSafeForDeletionCondition if there are any v1beta1conditions.Delete(fd, infrav1.FailureDomainSafeForDeletionCondition) diff --git a/controllers/nutanixfailuredomain_controller_test.go b/controllers/nutanixfailuredomain_controller_test.go index e5b25c49b1..0eb025ba6a 100644 --- a/controllers/nutanixfailuredomain_controller_test.go +++ b/controllers/nutanixfailuredomain_controller_test.go @@ -29,7 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/uuid" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/util" v1beta1conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions" //nolint:staticcheck // suppress complaining on Deprecated package v1beta2conditions "sigs.k8s.io/cluster-api/util/deprecated/v1beta1/conditions/v1beta2" //nolint:staticcheck // suppress complaining on Deprecated package @@ -162,7 +162,7 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { condv1beta2 := v1beta2conditions.Get(fdObj, string(infrav1.FailureDomainSafeForDeletionCondition)) g.Expect(condv1beta2).NotTo(BeNil()) g.Expect(condv1beta2.Status).To(Equal(metav1.ConditionTrue)) - g.Expect(condv1beta2.Reason).To(Equal(capiv1.ReadyV1Beta2Reason)) + g.Expect(condv1beta2.Reason).To(Equal(capiv1beta1.ReadyV1Beta2Reason)) // Delete the failure domain object and expect deletion success g.Expect(k8sClient.Delete(ctx, fdObj)).To(Succeed()) @@ -185,7 +185,7 @@ func TestNutanixFailureDomainReconciler(t *testing.T) { cond := v1beta1conditions.Get(fdObj, infrav1.FailureDomainSafeForDeletionCondition) g.Expect(cond).NotTo(BeNil()) g.Expect(cond.Status).To(Equal(corev1.ConditionFalse)) - g.Expect(cond.Severity).To(Equal(capiv1.ConditionSeverityError)) + g.Expect(cond.Severity).To(Equal(capiv1beta1.ConditionSeverityError)) g.Expect(cond.Reason).To(Equal(infrav1.FailureDomainInUseReason)) condv1beta2 := v1beta2conditions.Get(fdObj, string(infrav1.FailureDomainSafeForDeletionCondition)) g.Expect(condv1beta2).NotTo(BeNil()) diff --git a/controllers/nutanixmachine_controller_test.go b/controllers/nutanixmachine_controller_test.go index 463af98cec..c50d352149 100644 --- a/controllers/nutanixmachine_controller_test.go +++ b/controllers/nutanixmachine_controller_test.go @@ -47,7 +47,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/util" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" @@ -71,7 +71,7 @@ func TestNutanixMachineReconciler(t *testing.T) { reconciler *NutanixMachineReconciler ctx context.Context ntnxMachine *infrav1.NutanixMachine - machine *capiv1.Machine + machine *capiv1beta2.Machine ntnxCluster *infrav1.NutanixCluster fdObj *infrav1.NutanixFailureDomain r string @@ -97,7 +97,7 @@ func TestNutanixMachineReconciler(t *testing.T) { VCPUSockets: int32(minVCPUSockets), }, } - machine = &capiv1.Machine{ObjectMeta: metav1.ObjectMeta{ + machine = &capiv1beta2.Machine{ObjectMeta: metav1.ObjectMeta{ Name: "test", Namespace: "default", }} @@ -370,7 +370,7 @@ func TestNutanixMachineReconciler_SetupWithManager(t *testing.T) { scheme := runtime.NewScheme() err := infrav1.AddToScheme(scheme) require.NoError(t, err) - err = capiv1.AddToScheme(scheme) + err = capiv1beta2.AddToScheme(scheme) require.NoError(t, err) cache := mockctlclient.NewMockCache(mockCtrl) @@ -414,7 +414,7 @@ func TestNutanixMachineReconciler_SetupWithManager_BuildError(t *testing.T) { scheme := runtime.NewScheme() err := infrav1.AddToScheme(scheme) require.NoError(t, err) - err = capiv1.AddToScheme(scheme) + err = capiv1beta2.AddToScheme(scheme) require.NoError(t, err) cache := mockctlclient.NewMockCache(mockCtrl) @@ -457,7 +457,7 @@ func TestNutanixMachineReconciler_SetupWithManager_ClusterToTypedObjectsMapperEr scheme := runtime.NewScheme() err := infrav1.AddToScheme(scheme) require.NoError(t, err) - err = capiv1.AddToScheme(scheme) + err = capiv1beta2.AddToScheme(scheme) require.NoError(t, err) cache := mockctlclient.NewMockCache(mockCtrl) @@ -788,7 +788,7 @@ func TestNutanixMachineValidateDataDisks(t *testing.T) { reconciler *NutanixMachineReconciler ctx context.Context ntnxMachine *infrav1.NutanixMachine - machine *capiv1.Machine + machine *capiv1beta2.Machine ntnxCluster *infrav1.NutanixCluster dataDisks func() []infrav1.NutanixMachineVMDisk ) @@ -829,7 +829,7 @@ func TestNutanixMachineValidateDataDisks(t *testing.T) { }, } - machine = &capiv1.Machine{ + machine = &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: "test", Namespace: "default", @@ -837,7 +837,7 @@ func TestNutanixMachineValidateDataDisks(t *testing.T) { "cluster.x-k8s.io/cluster-name": "test", }, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ ClusterName: "test", }, } @@ -981,7 +981,7 @@ func TestNutanixClusterReconcilerGetDiskList(t *testing.T) { }, } - defaultMachine := &capiv1.Machine{ + defaultMachine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: "test", Namespace: "default", @@ -989,7 +989,7 @@ func TestNutanixClusterReconcilerGetDiskList(t *testing.T) { "cluster.x-k8s.io/cluster-name": "test", }, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ ClusterName: "test", }, } @@ -1014,14 +1014,14 @@ func TestNutanixClusterReconcilerGetDiskList(t *testing.T) { tt := []struct { name string - fixtures func(*gomock.Controller) (*infrav1.NutanixMachine, *capiv1.Machine, *infrav1.NutanixCluster, *v4Converged.Client) + fixtures func(*gomock.Controller) (*infrav1.NutanixMachine, *capiv1beta2.Machine, *infrav1.NutanixCluster, *v4Converged.Client) wantDisksLen int wantErr bool }{ { name: "return get disk list", wantDisksLen: 3, - fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { + fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1beta2.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { convergedClientMock := NewMockConvergedClient(mockCtrl) convergedClientMock.MockImages.EXPECT().Get(gomock.Any(), *defaultSystemImage.ExtId).Return(defaultSystemImage, nil).MinTimes(1) convergedClientMock.MockImages.EXPECT().List(gomock.Any(), gomock.Any()).Return( @@ -1044,7 +1044,7 @@ func TestNutanixClusterReconcilerGetDiskList(t *testing.T) { { name: "return an error if the bootstrap disk is not found", wantErr: true, - fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { + fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1beta2.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { convergedClientMock := NewMockConvergedClient(mockCtrl) convergedClientMock.MockImages.EXPECT().Get(gomock.Any(), *defaultSystemImage.ExtId).Return(defaultSystemImage, nil).MinTimes(1) convergedClientMock.MockImages.EXPECT().List(gomock.Any(), gomock.Any()).Return( @@ -1059,7 +1059,7 @@ func TestNutanixClusterReconcilerGetDiskList(t *testing.T) { { name: "return an error if the system disk is not found", wantErr: true, - fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { + fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1beta2.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { errorMessage := `Error getting image: failed to get image: API call failed: {"data":{"error":[{"$reserved":{"$fv":"v4.r1"},"$objectType":"vmm.v4.error.AppMessage","message":"Failed to perform the operation as the backend service could not find the entity.","severity":"ERROR","code":"VMM-20005","locale":"en_US"}],"$reserved":{"$fv":"v4.r1"},"$objectType":"vmm.v4.error.ErrorResponse"},"$reserved":{"$fv":"v4.r1"},"$objectType":"vmm.v4.content.GetImageApiResponse"}` convergedClientMock := NewMockConvergedClient(mockCtrl) convergedClientMock.MockImages.EXPECT().Get(gomock.Any(), *defaultSystemImage.ExtId).Return( @@ -1073,7 +1073,7 @@ func TestNutanixClusterReconcilerGetDiskList(t *testing.T) { { name: "return an error if the system disk is marked for deletion", wantErr: true, - fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { + fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1beta2.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { systemImage := &imageModels.Image{ ExtId: ptr.To("f47ac10b-58cc-4372-a567-0e02b2c3d479"), Name: ptr.To("system_image"), @@ -1104,7 +1104,7 @@ func TestNutanixClusterReconcilerGetDiskList(t *testing.T) { { name: "return an error if the bootstrap disk is marked for deletion", wantErr: true, - fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { + fixtures: func(mockCtrl *gomock.Controller) (*infrav1.NutanixMachine, *capiv1beta2.Machine, *infrav1.NutanixCluster, *v4Converged.Client) { convergedClientMock := NewMockConvergedClient(mockCtrl) convergedClientMock.MockImages.EXPECT().Get(gomock.Any(), *defaultSystemImage.ExtId).Return(defaultSystemImage, nil).MinTimes(1) convergedClientMock.MockImages.EXPECT().List(gomock.Any(), gomock.Any()).Return( @@ -1439,11 +1439,11 @@ func TestGetSystemDisk(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ Version: k8sVersion, }, } @@ -1527,11 +1527,11 @@ func TestGetSystemDisk(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ Version: k8sVersion, }, } @@ -1595,11 +1595,11 @@ func TestGetSystemDisk(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ Version: k8sVersion, }, } @@ -1684,11 +1684,11 @@ func TestGetSystemDisk(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ Version: k8sVersion, }, } @@ -1746,11 +1746,11 @@ func TestGetSystemDisk(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ Version: k8sVersion, }, } @@ -1814,11 +1814,11 @@ func TestGetSystemDisk(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ Version: k8sVersion, }, } @@ -1903,7 +1903,7 @@ func TestGetSystemDisk(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -1961,7 +1961,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { infrav1.DeprecatedNutanixMachineFinalizer, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2027,7 +2027,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { infrav1.DeprecatedNutanixMachineFinalizer, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2088,7 +2088,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2153,7 +2153,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2220,7 +2220,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2290,7 +2290,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2359,7 +2359,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2419,7 +2419,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2485,7 +2485,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2561,7 +2561,7 @@ func TestNutanixMachineReconciler_ReconcileDelete(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2631,7 +2631,7 @@ func TestNutanixMachineReconciler_getOrCreateVM(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2692,7 +2692,7 @@ func TestNutanixMachineReconciler_getOrCreateVM(t *testing.T) { Spec: infrav1.NutanixMachineSpec{}, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2752,7 +2752,7 @@ func TestNutanixMachineReconciler_getOrCreateVM(t *testing.T) { Spec: infrav1.NutanixMachineSpec{}, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, @@ -2844,16 +2844,16 @@ func TestNutanixMachineReconciler_getOrCreateVM(t *testing.T) { }, } - machine := &capiv1.Machine{ + machine := &capiv1beta2.Machine{ ObjectMeta: metav1.ObjectMeta{ Name: vmName, }, - Spec: capiv1.MachineSpec{ + Spec: capiv1beta2.MachineSpec{ Version: "v1.28.0", }, } - cluster := &capiv1.Cluster{ + cluster := &capiv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: "default", diff --git a/pkg/context/context.go b/pkg/context/context.go index 77ccdf93c7..f55ef58936 100644 --- a/pkg/context/context.go +++ b/pkg/context/context.go @@ -26,7 +26,7 @@ import ( v4Converged "github.com/nutanix-cloud-native/prism-go-client/converged/v4" prismclientv3 "github.com/nutanix-cloud-native/prism-go-client/v3" "k8s.io/utils/ptr" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/controllers/remote" ctrl "sigs.k8s.io/controller-runtime" ctlclient "sigs.k8s.io/controller-runtime/pkg/client" @@ -43,7 +43,7 @@ type ClusterContext struct { NutanixClient *prismclientv3.Client ConvergedClient *v4Converged.Client - Cluster *capiv1.Cluster + Cluster *capiv1beta2.Cluster NutanixCluster *infrav1.NutanixCluster } @@ -53,8 +53,8 @@ type MachineContext struct { NutanixClient *prismclientv3.Client ConvergedClient *v4Converged.Client - Cluster *capiv1.Cluster - Machine *capiv1.Machine + Cluster *capiv1beta2.Cluster + Machine *capiv1beta2.Machine NutanixCluster *infrav1.NutanixCluster NutanixMachine *infrav1.NutanixMachine @@ -68,7 +68,7 @@ func IsControlPlaneMachine(nma *infrav1.NutanixMachine) bool { if nma == nil { return false } - _, ok := nma.GetLabels()[capiv1.MachineControlPlaneNameLabel] + _, ok := nma.GetLabels()[capiv1beta2.MachineControlPlaneNameLabel] return ok } @@ -76,7 +76,7 @@ func IsControlPlaneMachine(nma *infrav1.NutanixMachine) bool { func (clctx *ClusterContext) GetNutanixMachinesInCluster(client ctlclient.Client) ([]*infrav1.NutanixMachine, error) { clusterName := clctx.NutanixCluster.Name clusterNamespace := clctx.NutanixCluster.Namespace - labels := map[string]string{capiv1.ClusterNameLabel: clusterName} + labels := map[string]string{capiv1beta2.ClusterNameLabel: clusterName} machineList := &infrav1.NutanixMachineList{} err := client.List(clctx.Context, machineList, diff --git a/pkg/context/context_test.go b/pkg/context/context_test.go index cde5b008a8..641a15ea97 100644 --- a/pkg/context/context_test.go +++ b/pkg/context/context_test.go @@ -8,7 +8,7 @@ import ( "github.com/stretchr/testify/assert" "go.uber.org/mock/gomock" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package ctlclient "sigs.k8s.io/controller-runtime/pkg/client" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" @@ -27,7 +27,7 @@ func TestIsControlPlaneMachine(t *testing.T) { machine: &infrav1.NutanixMachine{ ObjectMeta: metav1.ObjectMeta{ Labels: map[string]string{ - capiv1.MachineControlPlaneNameLabel: "", + capiv1beta1.MachineControlPlaneNameLabel: "", }, }, }, diff --git a/templates/template_test.go b/templates/template_test.go index ded9e10081..92812a2ca0 100644 --- a/templates/template_test.go +++ b/templates/template_test.go @@ -21,8 +21,8 @@ import ( "k8s.io/client-go/tools/clientcmd" "k8s.io/klog/v2/textlogger" "k8s.io/utils/ptr" - controlplanev1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package - capiv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + controlplanev1beta1 "sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package clusterctllog "sigs.k8s.io/cluster-api/cmd/clusterctl/log" "sigs.k8s.io/cluster-api/test/framework/clusterctl" "sigs.k8s.io/controller-runtime/pkg/client" @@ -48,9 +48,9 @@ func init() { format.MaxLength = 100000 // Add NutanixCluster and NutanixMachine to the scheme _ = v1beta1.AddToScheme(scheme.Scheme) - _ = capiv1.AddToScheme(scheme.Scheme) + _ = capiv1beta1.AddToScheme(scheme.Scheme) _ = apiextensionsv1.AddToScheme(scheme.Scheme) - _ = controlplanev1.AddToScheme(scheme.Scheme) + _ = controlplanev1beta1.AddToScheme(scheme.Scheme) } func teardownTestEnvironment() error { @@ -254,7 +254,7 @@ func fetchMachineTemplates(clnt client.Client, clusterName string) ([]*v1beta1.N nmts := make([]*v1beta1.NutanixMachineTemplate, 0) for _, nmt := range nutanixMachineTemplateList.Items { - if nmt.Labels[capiv1.ClusterNameLabel] == clusterName { + if nmt.Labels[capiv1beta1.ClusterNameLabel] == clusterName { nmts = append(nmts, &nmt) } } @@ -266,14 +266,14 @@ func fetchMachineTemplates(clnt client.Client, clusterName string) ([]*v1beta1.N return nmts, nil } -func fetchKubeadmControlPlane(clnt client.Client, clusterName string) (*controlplanev1.KubeadmControlPlane, error) { - kubeadmControlPlaneList := &controlplanev1.KubeadmControlPlaneList{} +func fetchKubeadmControlPlane(clnt client.Client, clusterName string) (*controlplanev1beta1.KubeadmControlPlane, error) { + kubeadmControlPlaneList := &controlplanev1beta1.KubeadmControlPlaneList{} if err := clnt.List(context.Background(), kubeadmControlPlaneList, &client.ListOptions{Namespace: defaultNamespace}); err != nil { return nil, fmt.Errorf("failed to list KubeadmControlPlane: %w", err) } for _, kcp := range kubeadmControlPlaneList.Items { - if kcp.Labels[capiv1.ClusterNameLabel] == clusterName { + if kcp.Labels[capiv1beta1.ClusterNameLabel] == clusterName { return &kcp, nil } } @@ -402,7 +402,7 @@ var _ = Describe("Cluster Class Template Patches Test Suite", Ordered, func() { Expect(nutanixCluster.Spec.ControlPlaneEndpoint.Host).To(Equal("1.2.3.4")) Expect(nutanixCluster.Spec.ControlPlaneEndpoint.Port).To(Equal(int32(6443))) - var kubeadmcontrolplane *controlplanev1.KubeadmControlPlane + var kubeadmcontrolplane *controlplanev1beta1.KubeadmControlPlane Eventually(func() error { kcp, err := fetchKubeadmControlPlane(clnt, obj.GetName()) kubeadmcontrolplane = kcp diff --git a/test/e2e/capx_regression_test.go b/test/e2e/capx_regression_test.go index 873fb3c924..d7cc3ef35c 100644 --- a/test/e2e/capx_regression_test.go +++ b/test/e2e/capx_regression_test.go @@ -28,8 +28,8 @@ import ( corev1 "k8s.io/api/core/v1" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package - clusterv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/test/framework/clusterctl" "sigs.k8s.io/controller-runtime/pkg/client" @@ -63,7 +63,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress AfterEach(func() { bcpClient := bootstrapClusterProxy.GetClient() - myCluster := &clusterv1beta2.Cluster{ + myCluster := &capiv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: namespace.Name, @@ -128,7 +128,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1beta1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.CredentialRefSecretOwnerSetCondition, Status: corev1.ConditionTrue, }, @@ -140,7 +140,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1beta1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.PrismCentralClientCondition, Status: corev1.ConditionTrue, }, @@ -162,7 +162,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress Byf("Deleting cluster %s/%s", namespace.Name, clusterName) framework.DeleteCluster(ctx, framework.DeleteClusterInput{ Deleter: bootstrapClusterProxy.GetClient(), - Cluster: &clusterv1beta2.Cluster{ + Cluster: &capiv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: namespace.Name, @@ -174,7 +174,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress framework.WaitForClusterDeleted(ctx, framework.WaitForClusterDeletedInput{ ClusterProxy: bootstrapClusterProxy, ClusterctlConfigPath: clusterctlConfigPath, - Cluster: &clusterv1beta2.Cluster{ + Cluster: &capiv1beta2.Cluster{ ObjectMeta: metav1.ObjectMeta{ Name: clusterName, Namespace: namespace.Name, @@ -200,7 +200,7 @@ var _ = Describe("Nutanix regression tests", Label("capx-feature-test", "regress client.ObjectKey{ Name: clusterName, Namespace: namespace.Name, - }, &clusterv1beta2.Cluster{}) + }, &capiv1beta2.Cluster{}) Expect(err).To(HaveOccurred()) Expect(apierrors.IsNotFound(err)).To(BeTrue()) }) diff --git a/test/e2e/categories_test.go b/test/e2e/categories_test.go index 6ea243f0f0..71fbedd038 100644 --- a/test/e2e/categories_test.go +++ b/test/e2e/categories_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" @@ -82,7 +82,7 @@ var _ = Describe("Nutanix categories", Label("nutanix-feature-test", "categories clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.ClusterCategoryCreatedCondition, Status: corev1.ConditionTrue, }, @@ -196,7 +196,7 @@ var _ = Describe("Nutanix categories", Label("nutanix-feature-test", "categories clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.ClusterCategoryCreatedCondition, Status: corev1.ConditionTrue, }, @@ -253,7 +253,7 @@ var _ = Describe("Nutanix categories", Label("nutanix-feature-test", "categories clusterName: clusterName, namespace: namespace2, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.ClusterCategoryCreatedCondition, Status: corev1.ConditionTrue, }, diff --git a/test/e2e/cluster_topology_basic_test.go b/test/e2e/cluster_topology_basic_test.go index 907c6c9c98..06979eafbc 100644 --- a/test/e2e/cluster_topology_basic_test.go +++ b/test/e2e/cluster_topology_basic_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When creating a cluster with topology with simple workflow", Label("clusterclass", "only-for-validation"), func() { @@ -35,7 +35,7 @@ var _ = Describe("When creating a cluster with topology with simple workflow", L var ( namespace *corev1.Namespace clusterName string - cluster *clusterv1.Cluster + cluster *capiv1beta2.Cluster cancelWatches context.CancelFunc testHelper testHelperInterface nutanixE2ETest *NutanixE2ETest diff --git a/test/e2e/cluster_topology_conformance_test.go b/test/e2e/cluster_topology_conformance_test.go index 3660b1871e..76def66f4b 100644 --- a/test/e2e/cluster_topology_conformance_test.go +++ b/test/e2e/cluster_topology_conformance_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When creating a cluster with topology and running kubetest/conformance", Label("clusterclass", "only-for-validation"), func() { @@ -35,7 +35,7 @@ var _ = Describe("When creating a cluster with topology and running kubetest/con var ( namespace *corev1.Namespace clusterName string - cluster *clusterv1.Cluster + cluster *capiv1beta2.Cluster cancelWatches context.CancelFunc testHelper testHelperInterface nutanixE2ETest *NutanixE2ETest diff --git a/test/e2e/cluster_topology_mega_scale_test.go b/test/e2e/cluster_topology_mega_scale_test.go index 9e2cccf90b..ce64f16958 100644 --- a/test/e2e/cluster_topology_mega_scale_test.go +++ b/test/e2e/cluster_topology_mega_scale_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When creating a cluster with topology with mega scale workflow", Label("clusterclass", "only-for-validation"), func() { @@ -35,7 +35,7 @@ var _ = Describe("When creating a cluster with topology with mega scale workflow var ( namespace *corev1.Namespace clusterName string - cluster *clusterv1.Cluster + cluster *capiv1beta2.Cluster cancelWatches context.CancelFunc testHelper testHelperInterface nutanixE2ETest *NutanixE2ETest diff --git a/test/e2e/cluster_topology_scale_in_test.go b/test/e2e/cluster_topology_scale_in_test.go index cda32d548c..c8eb232d92 100644 --- a/test/e2e/cluster_topology_scale_in_test.go +++ b/test/e2e/cluster_topology_scale_in_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When scaling in cluster with topology ", Label("clusterclass", "only-for-validation"), func() { @@ -35,7 +35,7 @@ var _ = Describe("When scaling in cluster with topology ", Label("clusterclass", var ( namespace *corev1.Namespace clusterName string - cluster *clusterv1.Cluster + cluster *capiv1beta2.Cluster cancelWatches context.CancelFunc testHelper testHelperInterface nutanixE2ETest *NutanixE2ETest diff --git a/test/e2e/cluster_topology_scale_out_test.go b/test/e2e/cluster_topology_scale_out_test.go index 41a15c5689..245a802b33 100644 --- a/test/e2e/cluster_topology_scale_out_test.go +++ b/test/e2e/cluster_topology_scale_out_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When scaling out cluster with topology ", Label("clusterclass", "only-for-validation"), func() { @@ -35,7 +35,7 @@ var _ = Describe("When scaling out cluster with topology ", Label("clusterclass" var ( namespace *corev1.Namespace clusterName string - cluster *clusterv1.Cluster + cluster *capiv1beta2.Cluster cancelWatches context.CancelFunc testHelper testHelperInterface nutanixE2ETest *NutanixE2ETest diff --git a/test/e2e/cluster_topology_scale_up_down_test.go b/test/e2e/cluster_topology_scale_up_down_test.go index 751da5085a..7dc7cf7c9e 100644 --- a/test/e2e/cluster_topology_scale_up_down_test.go +++ b/test/e2e/cluster_topology_scale_up_down_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When scaling up/down cluster with topology ", Label("clusterclass", "only-for-validation"), func() { @@ -35,7 +35,7 @@ var _ = Describe("When scaling up/down cluster with topology ", Label("clustercl var ( namespace *corev1.Namespace clusterName string - cluster *clusterv1.Cluster + cluster *capiv1beta2.Cluster cancelWatches context.CancelFunc testHelper testHelperInterface nutanixE2ETest *NutanixE2ETest diff --git a/test/e2e/cluster_topology_upgrade_test.go b/test/e2e/cluster_topology_upgrade_test.go index b62e44ac32..45b7767a04 100644 --- a/test/e2e/cluster_topology_upgrade_test.go +++ b/test/e2e/cluster_topology_upgrade_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" ) var _ = Describe("When upgrading the k8s version of cluster with topology", Label("clusterclass", "only-for-validation"), func() { @@ -35,7 +35,7 @@ var _ = Describe("When upgrading the k8s version of cluster with topology", Labe var ( namespace *corev1.Namespace clusterName string - cluster *clusterv1.Cluster + cluster *capiv1beta2.Cluster cancelWatches context.CancelFunc testHelper testHelperInterface nutanixE2ETest *NutanixE2ETest diff --git a/test/e2e/clusterctl_upgrade_test.go b/test/e2e/clusterctl_upgrade_test.go index 316f2f7fe7..37673ceebc 100644 --- a/test/e2e/clusterctl_upgrade_test.go +++ b/test/e2e/clusterctl_upgrade_test.go @@ -32,8 +32,8 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/utils/ptr" - bootstrapv1 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta2" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + bootstrapv1beta2 "sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" yaml "sigs.k8s.io/cluster-api/cmd/clusterctl/client/yamlprocessor" capie2e "sigs.k8s.io/cluster-api/test/e2e" "sigs.k8s.io/cluster-api/test/framework" @@ -218,7 +218,7 @@ func createPostUpgradeFunc(testInputFunc func() capie2e.ClusterctlUpgradeSpecInp // Update Clusters with Nutanix CCM label log.Debugf("Updating Clusters with Nutanix CCM label") // List all clusters - clusterList := &clusterv1.ClusterList{} + clusterList := &capiv1beta2.ClusterList{} err = managementClusterProxy.GetClient().List(context.Background(), clusterList) Expect(err).NotTo(HaveOccurred()) @@ -256,21 +256,21 @@ func createPostUpgradeFunc(testInputFunc func() capie2e.ClusterctlUpgradeSpecInp By("Update KubeadmConfigTemplate with kubeletExtraArgs cloud-provider: external") // List all KubeadmConfigTemplates - kubeadmConfigTemplateList := &bootstrapv1.KubeadmConfigTemplateList{} + kubeadmConfigTemplateList := &bootstrapv1beta2.KubeadmConfigTemplateList{} err = managementClusterProxy.GetClient().List(context.Background(), kubeadmConfigTemplateList) Expect(err).NotTo(HaveOccurred()) // Update all KubeadmConfigTemplates for _, kubeadmConfigTemplate := range kubeadmConfigTemplateList.Items { args := kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs - updatedArgs := make([]bootstrapv1.Arg, 0) + updatedArgs := make([]bootstrapv1beta2.Arg, 0) for _, arg := range args { if arg.Name == "cloud-provider" { continue } updatedArgs = append(updatedArgs, arg) } - updatedArgs = append(updatedArgs, bootstrapv1.Arg{Name: "cloud-provider", Value: ptr.To("external")}) + updatedArgs = append(updatedArgs, bootstrapv1beta2.Arg{Name: "cloud-provider", Value: ptr.To("external")}) kubeadmConfigTemplate.Spec.Template.Spec.JoinConfiguration.NodeRegistration.KubeletExtraArgs = updatedArgs err = managementClusterProxy.GetClient().Update(context.Background(), &kubeadmConfigTemplate) diff --git a/test/e2e/common.go b/test/e2e/common.go index 710abe4f55..37f1223e33 100644 --- a/test/e2e/common.go +++ b/test/e2e/common.go @@ -28,7 +28,7 @@ import ( "github.com/onsi/gomega/types" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/util" ) @@ -70,7 +70,7 @@ func unsetupNamespace(ctx context.Context, specName string, clusterProxy framewo }) } -func dumpSpecResourcesAndCleanup(ctx context.Context, specName string, clusterProxy framework.ClusterProxy, artifactFolder string, namespace *corev1.Namespace, cancelWatches context.CancelFunc, cluster *clusterv1.Cluster, intervalsGetter func(spec, key string) []interface{}, skipCleanup bool) { +func dumpSpecResourcesAndCleanup(ctx context.Context, specName string, clusterProxy framework.ClusterProxy, artifactFolder string, namespace *corev1.Namespace, cancelWatches context.CancelFunc, cluster *capiv1beta2.Cluster, intervalsGetter func(spec, key string) []interface{}, skipCleanup bool) { Byf("Dumping logs from the %q workload cluster", cluster.Name) // Dump all the logs from the workload cluster before deleting them. diff --git a/test/e2e/e2e_suite_test.go b/test/e2e/e2e_suite_test.go index 89bac710dd..d20348dd3b 100644 --- a/test/e2e/e2e_suite_test.go +++ b/test/e2e/e2e_suite_test.go @@ -30,7 +30,7 @@ import ( storagev1 "k8s.io/api/storage/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2" + capiv1beta2 "sigs.k8s.io/cluster-api/api/core/v1beta2" "sigs.k8s.io/cluster-api/test/framework" "sigs.k8s.io/cluster-api/test/framework/bootstrap" "sigs.k8s.io/cluster-api/test/framework/clusterctl" @@ -225,8 +225,8 @@ func dumpBootstrapClusterLogs(bootstrapClusterProxy framework.ClusterProxy) { // we create a fake machine that wraps the node. // NOTE: This assumes a naming convention between machines and nodes, which e.g. applies to the bootstrap clusters generated with kind. // This might not work if you are using an existing bootstrap cluster provided by other means. - &clusterv1.Machine{ - Spec: clusterv1.MachineSpec{ClusterName: nodeName}, + &capiv1beta2.Machine{ + Spec: capiv1beta2.MachineSpec{ClusterName: nodeName}, ObjectMeta: metav1.ObjectMeta{Name: nodeName}, }, filepath.Join(artifactFolder, "clusters", bootstrapClusterProxy.GetName(), "machines", nodeName), diff --git a/test/e2e/failure_domains_test.go b/test/e2e/failure_domains_test.go index faf77aec51..7954f278ac 100644 --- a/test/e2e/failure_domains_test.go +++ b/test/e2e/failure_domains_test.go @@ -24,7 +24,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" @@ -91,7 +91,7 @@ var _ = Describe("Nutanix failure domains", Label("capx-feature-test", "failure- clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.FailureDomainsValidatedCondition, Status: corev1.ConditionTrue, }, diff --git a/test/e2e/log/log.go b/test/e2e/log/log.go index 8a03053c76..64fdd653fa 100644 --- a/test/e2e/log/log.go +++ b/test/e2e/log/log.go @@ -1,4 +1,4 @@ -// +//go:build e2e /* Copyright 2022 Nutanix diff --git a/test/e2e/nutanix_client_test.go b/test/e2e/nutanix_client_test.go index 33e7bac1c9..cd811a0738 100644 --- a/test/e2e/nutanix_client_test.go +++ b/test/e2e/nutanix_client_test.go @@ -27,7 +27,7 @@ import ( . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" @@ -119,11 +119,11 @@ var _ = Describe("Nutanix client", Label("capx-feature-test", "nutanix-client"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.CredentialRefSecretOwnerSetCondition, Status: corev1.ConditionFalse, Reason: infrav1.CredentialRefSecretOwnerSetFailed, - Severity: clusterv1.ConditionSeverityError, + Severity: capiv1beta1.ConditionSeverityError, }, }) }) @@ -165,7 +165,7 @@ var _ = Describe("Nutanix client", Label("capx-feature-test", "nutanix-client"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.PrismCentralClientCondition, Status: corev1.ConditionTrue, }, @@ -196,10 +196,10 @@ var _ = Describe("Nutanix client", Label("capx-feature-test", "nutanix-client"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.CredentialRefSecretOwnerSetCondition, Reason: infrav1.CredentialRefSecretOwnerSetFailed, - Severity: clusterv1.ConditionSeverityError, + Severity: capiv1beta1.ConditionSeverityError, Status: corev1.ConditionFalse, }, }) @@ -220,7 +220,7 @@ var _ = Describe("Nutanix client", Label("capx-feature-test", "nutanix-client"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.CredentialRefSecretOwnerSetCondition, Status: corev1.ConditionTrue, }, @@ -232,7 +232,7 @@ var _ = Describe("Nutanix client", Label("capx-feature-test", "nutanix-client"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.PrismCentralClientCondition, Status: corev1.ConditionTrue, }, @@ -276,7 +276,7 @@ var _ = Describe("Nutanix client", Label("capx-feature-test", "nutanix-client"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.CredentialRefSecretOwnerSetCondition, Status: corev1.ConditionTrue, }, @@ -288,10 +288,10 @@ var _ = Describe("Nutanix client", Label("capx-feature-test", "nutanix-client"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.PrismCentralClientCondition, Reason: infrav1.PrismCentralClientInitializationFailed, - Severity: clusterv1.ConditionSeverityError, + Severity: capiv1beta1.ConditionSeverityError, Status: corev1.ConditionFalse, }, }) diff --git a/test/e2e/projects_test.go b/test/e2e/projects_test.go index 4c58ea9703..f193b7fafb 100644 --- a/test/e2e/projects_test.go +++ b/test/e2e/projects_test.go @@ -25,7 +25,7 @@ import ( . "github.com/onsi/gomega" corev1 "k8s.io/api/core/v1" "k8s.io/utils/ptr" - clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package + capiv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck // suppress complaining on Deprecated package "sigs.k8s.io/cluster-api/test/framework/clusterctl" infrav1 "github.com/nutanix-cloud-native/cluster-api-provider-nutanix/api/v1beta1" @@ -95,10 +95,10 @@ var _ = Describe("Nutanix projects", Label("nutanix-feature-test", "projects"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.ProjectAssignedCondition, Reason: infrav1.ProjectAssignationFailed, - Severity: clusterv1.ConditionSeverityError, + Severity: capiv1beta1.ConditionSeverityError, Status: corev1.ConditionFalse, }, }) @@ -137,7 +137,7 @@ var _ = Describe("Nutanix projects", Label("nutanix-feature-test", "projects"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.ProjectAssignedCondition, Status: corev1.ConditionTrue, }, @@ -184,7 +184,7 @@ var _ = Describe("Nutanix projects", Label("nutanix-feature-test", "projects"), clusterName: clusterName, namespace: namespace, bootstrapClusterProxy: bootstrapClusterProxy, - expectedCondition: clusterv1.Condition{ + expectedCondition: capiv1beta1.Condition{ Type: infrav1.ProjectAssignedCondition, Status: corev1.ConditionTrue, }, From c01726d20d32796e8e1078c35e0bb7c540cc00ab Mon Sep 17 00:00:00 2001 From: atulv7 Date: Thu, 27 Nov 2025 18:04:43 +0530 Subject: [PATCH 24/28] chore: k8s to 1.33 --- go.mod | 66 +++++++++--------- go.sum | 210 +++++++++++++++++++++------------------------------------ 2 files changed, 111 insertions(+), 165 deletions(-) diff --git a/go.mod b/go.mod index a2f4e33482..86467cdda5 100644 --- a/go.mod +++ b/go.mod @@ -21,15 +21,15 @@ require ( go.uber.org/zap v1.27.0 golang.org/x/crypto v0.41.0 // indirect; CVE fixes for https://avd.aquasec.com/nvd/cve-2025-22869 golang.org/x/time v0.9.0 - k8s.io/api v0.34.2 - k8s.io/apiextensions-apiserver v0.34.2 - k8s.io/apimachinery v0.34.2 - k8s.io/client-go v0.34.2 + k8s.io/api v0.33.4 + k8s.io/apiextensions-apiserver v0.33.4 + k8s.io/apimachinery v0.33.4 + k8s.io/client-go v0.33.4 k8s.io/klog/v2 v2.130.1 - k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 - sigs.k8s.io/cluster-api v1.11.3 - sigs.k8s.io/cluster-api/test v1.11.3 - sigs.k8s.io/controller-runtime v0.22.4 + k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d + sigs.k8s.io/cluster-api v1.11.1 + sigs.k8s.io/cluster-api/test v1.11.1 + sigs.k8s.io/controller-runtime v0.21.0 sigs.k8s.io/kind v0.30.0 sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 @@ -44,7 +44,7 @@ require ( require ( al.essio.dev/pkg/shellescape v1.5.1 // indirect - cel.dev/expr v0.24.0 // indirect + cel.dev/expr v0.19.1 // indirect github.com/BurntSushi/toml v1.4.0 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect github.com/Masterminds/semver/v3 v3.4.0 // indirect @@ -73,8 +73,8 @@ require ( github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/fsnotify/fsnotify v1.8.0 // indirect + github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/go-errors/errors v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect @@ -92,16 +92,16 @@ require ( github.com/gobuffalo/flect v1.0.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/cel-go v0.26.0 // indirect - github.com/google/gnostic-models v0.7.0 // indirect + github.com/google/cel-go v0.23.2 // indirect + github.com/google/gnostic-models v0.6.9 // indirect github.com/google/go-github/v53 v53.2.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.7 // indirect - github.com/imdario/mergo v0.3.13 // indirect + github.com/imdario/mergo v0.3.6 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -114,7 +114,7 @@ require ( github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/sys/sequential v0.6.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/oklog/ulid v1.3.1 // indirect @@ -123,7 +123,7 @@ require ( github.com/opencontainers/image-spec v1.0.2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.2.3 // indirect - github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.22.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.62.0 // indirect @@ -139,18 +139,18 @@ require ( github.com/stoewer/go-strcase v1.3.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/xlab/treeprint v1.2.0 // indirect + github.com/xlab/treeprint v1.1.0 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect - go.opentelemetry.io/otel v1.35.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 // indirect - go.opentelemetry.io/otel/metric v1.35.0 // indirect + go.opentelemetry.io/otel v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 // indirect + go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect - go.opentelemetry.io/otel/trace v1.35.0 // indirect - go.opentelemetry.io/proto/otlp v1.5.0 // indirect - go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect + go.opentelemetry.io/otel/trace v1.34.0 // indirect + go.opentelemetry.io/proto/otlp v1.4.0 // indirect + go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect @@ -164,22 +164,22 @@ require ( golang.org/x/text v0.28.0 // indirect golang.org/x/tools v0.36.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect - google.golang.org/grpc v1.72.1 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/grpc v1.71.3 // indirect google.golang.org/protobuf v1.36.7 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiserver v0.34.2 // indirect + k8s.io/apiserver v0.33.4 // indirect k8s.io/cluster-bootstrap v0.33.3 // indirect - k8s.io/component-base v0.34.2 // indirect - k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect + k8s.io/component-base v0.33.4 // indirect + k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect - sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect + sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) diff --git a/go.sum b/go.sum index 9950ea086a..f8d6b702e7 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,11 @@ al.essio.dev/pkg/shellescape v1.5.1 h1:86HrALUujYS/h+GtqoB26SBEdkWfmMI6FubjXlsXyho= al.essio.dev/pkg/shellescape v1.5.1/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= -cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= -cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4= +cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= @@ -46,13 +44,11 @@ github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2y github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= @@ -64,8 +60,8 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/coredns/caddy v1.1.1 h1:2eYKZT7i6yxIfGP3qLJoJ7HAsDJqYB+X68g4NYjSrE0= github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= -github.com/coredns/corefile-migration v1.0.29 h1:g4cPYMXXDDs9uLE2gFYrJaPBuUAR07eEMGyh9JBE13w= -github.com/coredns/corefile-migration v1.0.29/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= +github.com/coredns/corefile-migration v1.0.27 h1:WIIw5sU0LfGgoGnhdrYdVcto/aWmJoGA/C62iwkU0JM= +github.com/coredns/corefile-migration v1.0.27/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf h1:iW4rZ826su+pqaw19uhpSCzhj44qo35pNgKFGqzDKkU= @@ -90,8 +86,6 @@ github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46 h1:7QPwrLT79GlD5 github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46/go.mod h1:esf2rsHFNlZlxsqsZDojNBcnNs5REqIvRrWRHqX0vEU= github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI= github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= @@ -102,12 +96,12 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= +github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fullstorydev/grpcurl v1.8.7 h1:xJWosq3BQovQ4QrdPO72OrPiWuGgEsxY8ldYsJbPrqI= github.com/fullstorydev/grpcurl v1.8.7/go.mod h1:pVtM4qe3CMoLaIzYS8uvTuDj2jVYmXqMUkZeijnXp/E= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= +github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= @@ -159,31 +153,17 @@ github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= 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/cel-go v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI= -github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= -github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= -github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/google/cel-go v0.23.2 h1:UdEe3CvQh3Nv+E/j9r1Y//WO0K0cSyD7/y0bzyLIMI4= +github.com/google/cel-go v0.23.2/go.mod h1:52Pb6QsDbC5kvgxvZhiL9QX1oZEkcUF/ZqaPx1J5Wwo= +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= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -202,8 +182,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 h1:TmHmbvxPmaegwhDubVz0lICL0J5Ka2vwTzhoePEXsGE= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= @@ -212,8 +192,8 @@ github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISH github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= +github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jhump/protoreflect v1.14.0 h1:MBbQK392K3u8NTLbKOCIi3XdI+y+c6yt5oMq0X3xviw= @@ -271,9 +251,8 @@ github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= @@ -310,12 +289,10 @@ github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNH github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= 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 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 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.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.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= @@ -377,47 +354,47 @@ github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= -github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk= +github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/etcd/api/v3 v3.6.4 h1:7F6N7toCKcV72QmoUKa23yYLiiljMrT4xCeBL9BmXdo= -go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= -go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6ok0= -go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= -go.etcd.io/etcd/client/v3 v3.6.4 h1:YOMrCfMhRzY8NgtzUsHl8hC2EBSnuqbR3dh84Uryl7A= -go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= +go.etcd.io/etcd/api/v3 v3.5.22 h1:jRqZlcmndfKs1fO9I1Euqk3O5acEyBICyMKunxxhL94= +go.etcd.io/etcd/api/v3 v3.5.22/go.mod h1:/mQQOEMyP7nAjMKZTJSCtMmlOoNAG5s7IjKZGvMN9Yc= +go.etcd.io/etcd/client/pkg/v3 v3.5.22 h1:dFVbXCohuH0JKo6X+IznK6aohJSWcU+SF8QZF5EsaOQ= +go.etcd.io/etcd/client/pkg/v3 v3.5.22/go.mod h1:cSURbmmXBOqyX839SdTbuO2zYtUjcZvKeQ7DEiYVOmU= +go.etcd.io/etcd/client/v3 v3.5.22 h1:h+y9ocnclCPLPsoBoKwneZy7gy71VjvJ+8z4IPWxTn8= +go.etcd.io/etcd/client/v3 v3.5.22/go.mod h1:p4ROLdCiv8gwQtnozOILXkqIjjSI0MR6Ly5F9qpFg+8= go.keploy.io/server v0.8.6 h1:czE9jaliyAkMMJcYnMPNuu6tun7UgwFbokxEG95vLN4= go.keploy.io/server v0.8.6/go.mod h1:t7BPuZQSiC3PNHZ9dbn3e3VB61HNWwiqVmaRujfDFUg= go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= 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.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= +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/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= -go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= -go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 h1:5pojmb1U1AogINhN3SurB+zm/nIcusopeBNp42f45QM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0/go.mod h1:57gTHJSE5S1tqg+EKsLPlTWhpHMsWlVmer+LA926XiA= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY= -go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= -go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= -go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= -go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= -go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= -go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= +go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= +go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 h1:+FNtrFTmVw0YZGpBGX56XDee331t6JAXeK2bcyhLOOc= +go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o= 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/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= @@ -435,12 +412,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/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= @@ -451,11 +424,8 @@ golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -466,9 +436,8 @@ golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.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= +golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -486,11 +455,9 @@ golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= @@ -499,10 +466,6 @@ golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= 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-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -517,30 +480,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -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 v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= -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.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= -google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= -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= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/grpc v1.71.3 h1:iEhneYTxOruJyZAxdAv8Y0iRZvsc5M6KoW7UA0/7jn0= +google.golang.org/grpc v1.71.3/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -553,52 +500,51 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -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.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= -k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= -k8s.io/apiextensions-apiserver v0.34.2 h1:WStKftnGeoKP4AZRz/BaAAEJvYp4mlZGN0UCv+uvsqo= -k8s.io/apiextensions-apiserver v0.34.2/go.mod h1:398CJrsgXF1wytdaanynDpJ67zG4Xq7yj91GrmYN2SE= -k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= -k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= -k8s.io/apiserver v0.34.2 h1:2/yu8suwkmES7IzwlehAovo8dDE07cFRC7KMDb1+MAE= -k8s.io/apiserver v0.34.2/go.mod h1:gqJQy2yDOB50R3JUReHSFr+cwJnL8G1dzTA0YLEqAPI= -k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= -k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= +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.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/apiserver v0.33.4 h1:6N0TEVA6kASUS3owYDIFJjUH6lgN8ogQmzZvaFFj1/Y= +k8s.io/apiserver v0.33.4/go.mod h1:8ODgXMnOoSPLMUg1aAzMFx+7wTJM+URil+INjbTZCok= +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/cluster-bootstrap v0.33.3 h1:u2NTxJ5CFSBFXaDxLQoOWMly8eni31psVso+caq6uwI= k8s.io/cluster-bootstrap v0.33.3/go.mod h1:p970f8u8jf273zyQ5raD8WUu2XyAl0SAWOY82o7i/ds= -k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= -k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= +k8s.io/component-base v0.33.4 h1:Jvb/aw/tl3pfgnJ0E0qPuYLT0NwdYs1VXXYQmSuxJGY= +k8s.io/component-base v0.33.4/go.mod h1:567TeSdixWW2Xb1yYUQ7qk5Docp2kNznKL87eygY8Rc= 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-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= -k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +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/utils v0.0.0-20250820121507-0af2bda4dd1d h1:wAhiDyZ4Tdtt7e46e9M5ZSAJ/MnPGPs+Ki1gHw4w1R0= +k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 h1:jpcvIRr3GLoUoEKRkHKSmGjxb6lWwrBlJsXc+eUYQHM= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= -sigs.k8s.io/cluster-api v1.11.3 h1:apxfugbP1X8AG7THCM74CTarCOW4H2oOc6hlbm1hY80= -sigs.k8s.io/cluster-api v1.11.3/go.mod h1:CA471SACi81M8DzRKTlWpHV33G0cfWEj7sC4fALFVok= -sigs.k8s.io/cluster-api/test v1.11.3 h1:My8N5vHyWL1XAdwfP69bIajox8IJd7XhaSD8DRu8AHs= -sigs.k8s.io/cluster-api/test v1.11.3/go.mod h1:COviHWIKTcip0VADeIh8Rm5bjqzyZ1LuzKBW1EqjJRc= -sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= -sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= -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/cluster-api v1.11.1 h1:7CyGCTxv1p3Y2kRe1ljTj/w4TcdIdWNj0CTBc4i1aBo= +sigs.k8s.io/cluster-api v1.11.1/go.mod h1:zyrjgJ5RbXhwKcAdUlGPNK5YOHpcmxXvur+5I8lkMUQ= +sigs.k8s.io/cluster-api/test v1.11.1 h1:p9tT2HupKHW1URQDsZ3QNdEC/YPc8nrkiV6RCtNgi5k= +sigs.k8s.io/cluster-api/test v1.11.1/go.mod h1:COviHWIKTcip0VADeIh8Rm5bjqzyZ1LuzKBW1EqjJRc= +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/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/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag= +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/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +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.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= From e647c5705db99239659ad4680a02ab6f90097c2e Mon Sep 17 00:00:00 2001 From: atulv7 Date: Thu, 27 Nov 2025 18:10:35 +0530 Subject: [PATCH 25/28] fix: mocks --- mocks/ctlclient/client_mock.go | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/mocks/ctlclient/client_mock.go b/mocks/ctlclient/client_mock.go index 28d77dc2c3..5e1c38172e 100644 --- a/mocks/ctlclient/client_mock.go +++ b/mocks/ctlclient/client_mock.go @@ -44,25 +44,6 @@ func (m *MockClient) EXPECT() *MockClientMockRecorder { return m.recorder } -// Apply mocks base method. -func (m *MockClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...client.ApplyOption) error { - m.ctrl.T.Helper() - varargs := []any{ctx, obj} - for _, a := range opts { - varargs = append(varargs, a) - } - ret := m.ctrl.Call(m, "Apply", varargs...) - ret0, _ := ret[0].(error) - return ret0 -} - -// Apply indicates an expected call of Apply. -func (mr *MockClientMockRecorder) Apply(ctx, obj any, opts ...any) *gomock.Call { - mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, obj}, opts...) - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockClient)(nil).Apply), varargs...) -} - // Create mocks base method. func (m *MockClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error { m.ctrl.T.Helper() From fdb3bc52a069f098a6ee7d62c02fb9ca7afcbaa7 Mon Sep 17 00:00:00 2001 From: atulv7 Date: Thu, 27 Nov 2025 19:05:27 +0530 Subject: [PATCH 26/28] Revert "fix: mocks" This reverts commit e647c5705db99239659ad4680a02ab6f90097c2e. --- mocks/ctlclient/client_mock.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/mocks/ctlclient/client_mock.go b/mocks/ctlclient/client_mock.go index 5e1c38172e..28d77dc2c3 100644 --- a/mocks/ctlclient/client_mock.go +++ b/mocks/ctlclient/client_mock.go @@ -44,6 +44,25 @@ func (m *MockClient) EXPECT() *MockClientMockRecorder { return m.recorder } +// Apply mocks base method. +func (m *MockClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...client.ApplyOption) error { + m.ctrl.T.Helper() + varargs := []any{ctx, obj} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Apply", varargs...) + ret0, _ := ret[0].(error) + return ret0 +} + +// Apply indicates an expected call of Apply. +func (mr *MockClientMockRecorder) Apply(ctx, obj any, opts ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{ctx, obj}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockClient)(nil).Apply), varargs...) +} + // Create mocks base method. func (m *MockClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error { m.ctrl.T.Helper() From 30d1318b04410f770847be68e614b59f41338586 Mon Sep 17 00:00:00 2001 From: atulv7 Date: Thu, 27 Nov 2025 19:05:40 +0530 Subject: [PATCH 27/28] Revert "chore: k8s to 1.33" This reverts commit c01726d20d32796e8e1078c35e0bb7c540cc00ab. --- go.mod | 66 +++++++++--------- go.sum | 210 ++++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 165 insertions(+), 111 deletions(-) diff --git a/go.mod b/go.mod index 86467cdda5..a2f4e33482 100644 --- a/go.mod +++ b/go.mod @@ -21,15 +21,15 @@ require ( go.uber.org/zap v1.27.0 golang.org/x/crypto v0.41.0 // indirect; CVE fixes for https://avd.aquasec.com/nvd/cve-2025-22869 golang.org/x/time v0.9.0 - k8s.io/api v0.33.4 - k8s.io/apiextensions-apiserver v0.33.4 - k8s.io/apimachinery v0.33.4 - k8s.io/client-go v0.33.4 + k8s.io/api v0.34.2 + k8s.io/apiextensions-apiserver v0.34.2 + k8s.io/apimachinery v0.34.2 + k8s.io/client-go v0.34.2 k8s.io/klog/v2 v2.130.1 - k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d - sigs.k8s.io/cluster-api v1.11.1 - sigs.k8s.io/cluster-api/test v1.11.1 - sigs.k8s.io/controller-runtime v0.21.0 + k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 + sigs.k8s.io/cluster-api v1.11.3 + sigs.k8s.io/cluster-api/test v1.11.3 + sigs.k8s.io/controller-runtime v0.22.4 sigs.k8s.io/kind v0.30.0 sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 @@ -44,7 +44,7 @@ require ( require ( al.essio.dev/pkg/shellescape v1.5.1 // indirect - cel.dev/expr v0.19.1 // indirect + cel.dev/expr v0.24.0 // indirect github.com/BurntSushi/toml v1.4.0 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect github.com/Masterminds/semver/v3 v3.4.0 // indirect @@ -73,8 +73,8 @@ require ( github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.8.0 // indirect - github.com/fxamacker/cbor/v2 v2.7.0 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/go-errors/errors v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect @@ -92,16 +92,16 @@ require ( github.com/gobuffalo/flect v1.0.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/cel-go v0.23.2 // indirect - github.com/google/gnostic-models v0.6.9 // indirect + github.com/google/cel-go v0.26.0 // indirect + github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-github/v53 v53.2.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.7 // indirect - github.com/imdario/mergo v0.3.6 // indirect + github.com/imdario/mergo v0.3.13 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -114,7 +114,7 @@ require ( github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/sys/sequential v0.6.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/oklog/ulid v1.3.1 // indirect @@ -123,7 +123,7 @@ require ( github.com/opencontainers/image-spec v1.0.2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.2.3 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.22.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.62.0 // indirect @@ -139,18 +139,18 @@ require ( github.com/stoewer/go-strcase v1.3.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/xlab/treeprint v1.1.0 // indirect + github.com/xlab/treeprint v1.2.0 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect - go.opentelemetry.io/otel v1.34.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 // indirect - go.opentelemetry.io/otel/metric v1.34.0 // indirect + go.opentelemetry.io/otel v1.35.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 // indirect + go.opentelemetry.io/otel/metric v1.35.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect - go.opentelemetry.io/otel/trace v1.34.0 // indirect - go.opentelemetry.io/proto/otlp v1.4.0 // indirect - go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect + go.opentelemetry.io/otel/trace v1.35.0 // indirect + go.opentelemetry.io/proto/otlp v1.5.0 // indirect + go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect @@ -164,22 +164,22 @@ require ( golang.org/x/text v0.28.0 // indirect golang.org/x/tools v0.36.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect - google.golang.org/grpc v1.71.3 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect + google.golang.org/grpc v1.72.1 // indirect google.golang.org/protobuf v1.36.7 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiserver v0.33.4 // indirect + k8s.io/apiserver v0.34.2 // indirect k8s.io/cluster-bootstrap v0.33.3 // indirect - k8s.io/component-base v0.33.4 // indirect - k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect + k8s.io/component-base v0.34.2 // indirect + k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect - sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect + sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) diff --git a/go.sum b/go.sum index f8d6b702e7..9950ea086a 100644 --- a/go.sum +++ b/go.sum @@ -1,11 +1,13 @@ al.essio.dev/pkg/shellescape v1.5.1 h1:86HrALUujYS/h+GtqoB26SBEdkWfmMI6FubjXlsXyho= al.essio.dev/pkg/shellescape v1.5.1/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= -cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4= -cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= +cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= @@ -44,11 +46,13 @@ github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2y github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= @@ -60,8 +64,8 @@ github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= github.com/coredns/caddy v1.1.1 h1:2eYKZT7i6yxIfGP3qLJoJ7HAsDJqYB+X68g4NYjSrE0= github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= -github.com/coredns/corefile-migration v1.0.27 h1:WIIw5sU0LfGgoGnhdrYdVcto/aWmJoGA/C62iwkU0JM= -github.com/coredns/corefile-migration v1.0.27/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= +github.com/coredns/corefile-migration v1.0.29 h1:g4cPYMXXDDs9uLE2gFYrJaPBuUAR07eEMGyh9JBE13w= +github.com/coredns/corefile-migration v1.0.29/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf h1:iW4rZ826su+pqaw19uhpSCzhj44qo35pNgKFGqzDKkU= @@ -86,6 +90,8 @@ github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46 h1:7QPwrLT79GlD5 github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46/go.mod h1:esf2rsHFNlZlxsqsZDojNBcnNs5REqIvRrWRHqX0vEU= github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI= github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= @@ -96,12 +102,12 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= -github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fullstorydev/grpcurl v1.8.7 h1:xJWosq3BQovQ4QrdPO72OrPiWuGgEsxY8ldYsJbPrqI= github.com/fullstorydev/grpcurl v1.8.7/go.mod h1:pVtM4qe3CMoLaIzYS8uvTuDj2jVYmXqMUkZeijnXp/E= -github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= -github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= @@ -153,17 +159,31 @@ github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= 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/cel-go v0.23.2 h1:UdEe3CvQh3Nv+E/j9r1Y//WO0K0cSyD7/y0bzyLIMI4= -github.com/google/cel-go v0.23.2/go.mod h1:52Pb6QsDbC5kvgxvZhiL9QX1oZEkcUF/ZqaPx1J5Wwo= -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/cel-go v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI= +github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= +github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= +github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= 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= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -182,8 +202,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 h1:TmHmbvxPmaegwhDubVz0lICL0J5Ka2vwTzhoePEXsGE= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= @@ -192,8 +212,8 @@ github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISH github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= -github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jhump/protoreflect v1.14.0 h1:MBbQK392K3u8NTLbKOCIi3XdI+y+c6yt5oMq0X3xviw= @@ -251,8 +271,9 @@ github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= @@ -289,10 +310,12 @@ github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNH github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= 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 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 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.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.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= @@ -354,47 +377,47 @@ github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk= -github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= +github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/etcd/api/v3 v3.5.22 h1:jRqZlcmndfKs1fO9I1Euqk3O5acEyBICyMKunxxhL94= -go.etcd.io/etcd/api/v3 v3.5.22/go.mod h1:/mQQOEMyP7nAjMKZTJSCtMmlOoNAG5s7IjKZGvMN9Yc= -go.etcd.io/etcd/client/pkg/v3 v3.5.22 h1:dFVbXCohuH0JKo6X+IznK6aohJSWcU+SF8QZF5EsaOQ= -go.etcd.io/etcd/client/pkg/v3 v3.5.22/go.mod h1:cSURbmmXBOqyX839SdTbuO2zYtUjcZvKeQ7DEiYVOmU= -go.etcd.io/etcd/client/v3 v3.5.22 h1:h+y9ocnclCPLPsoBoKwneZy7gy71VjvJ+8z4IPWxTn8= -go.etcd.io/etcd/client/v3 v3.5.22/go.mod h1:p4ROLdCiv8gwQtnozOILXkqIjjSI0MR6Ly5F9qpFg+8= +go.etcd.io/etcd/api/v3 v3.6.4 h1:7F6N7toCKcV72QmoUKa23yYLiiljMrT4xCeBL9BmXdo= +go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= +go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6ok0= +go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= +go.etcd.io/etcd/client/v3 v3.6.4 h1:YOMrCfMhRzY8NgtzUsHl8hC2EBSnuqbR3dh84Uryl7A= +go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= go.keploy.io/server v0.8.6 h1:czE9jaliyAkMMJcYnMPNuu6tun7UgwFbokxEG95vLN4= go.keploy.io/server v0.8.6/go.mod h1:t7BPuZQSiC3PNHZ9dbn3e3VB61HNWwiqVmaRujfDFUg= go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= 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/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= -go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= -go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 h1:5pojmb1U1AogINhN3SurB+zm/nIcusopeBNp42f45QM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0/go.mod h1:57gTHJSE5S1tqg+EKsLPlTWhpHMsWlVmer+LA926XiA= +go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= +go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY= -go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= -go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= +go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= -go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= -go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= -go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= -go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= -go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 h1:+FNtrFTmVw0YZGpBGX56XDee331t6JAXeK2bcyhLOOc= -go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o= +go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= +go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= +go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= +go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= +go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= 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/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= @@ -412,8 +435,12 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/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= @@ -424,8 +451,11 @@ golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -436,8 +466,9 @@ golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.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= -golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -455,9 +486,11 @@ golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= @@ -466,6 +499,10 @@ golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= 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-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -480,14 +517,30 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +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 v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= -google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= -google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.71.3 h1:iEhneYTxOruJyZAxdAv8Y0iRZvsc5M6KoW7UA0/7jn0= -google.golang.org/grpc v1.71.3/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950= +google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= +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.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= +google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +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= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -500,51 +553,52 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -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.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/apiserver v0.33.4 h1:6N0TEVA6kASUS3owYDIFJjUH6lgN8ogQmzZvaFFj1/Y= -k8s.io/apiserver v0.33.4/go.mod h1:8ODgXMnOoSPLMUg1aAzMFx+7wTJM+URil+INjbTZCok= -k8s.io/client-go v0.33.4 h1:TNH+CSu8EmXfitntjUPwaKVPN0AYMbc9F1bBS8/ABpw= -k8s.io/client-go v0.33.4/go.mod h1:LsA0+hBG2DPwovjd931L/AoaezMPX9CmBgyVyBZmbCY= +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.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= +k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= +k8s.io/apiextensions-apiserver v0.34.2 h1:WStKftnGeoKP4AZRz/BaAAEJvYp4mlZGN0UCv+uvsqo= +k8s.io/apiextensions-apiserver v0.34.2/go.mod h1:398CJrsgXF1wytdaanynDpJ67zG4Xq7yj91GrmYN2SE= +k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= +k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= +k8s.io/apiserver v0.34.2 h1:2/yu8suwkmES7IzwlehAovo8dDE07cFRC7KMDb1+MAE= +k8s.io/apiserver v0.34.2/go.mod h1:gqJQy2yDOB50R3JUReHSFr+cwJnL8G1dzTA0YLEqAPI= +k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= +k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= k8s.io/cluster-bootstrap v0.33.3 h1:u2NTxJ5CFSBFXaDxLQoOWMly8eni31psVso+caq6uwI= k8s.io/cluster-bootstrap v0.33.3/go.mod h1:p970f8u8jf273zyQ5raD8WUu2XyAl0SAWOY82o7i/ds= -k8s.io/component-base v0.33.4 h1:Jvb/aw/tl3pfgnJ0E0qPuYLT0NwdYs1VXXYQmSuxJGY= -k8s.io/component-base v0.33.4/go.mod h1:567TeSdixWW2Xb1yYUQ7qk5Docp2kNznKL87eygY8Rc= +k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= +k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= 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/utils v0.0.0-20250820121507-0af2bda4dd1d h1:wAhiDyZ4Tdtt7e46e9M5ZSAJ/MnPGPs+Ki1gHw4w1R0= -k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= +k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 h1:jpcvIRr3GLoUoEKRkHKSmGjxb6lWwrBlJsXc+eUYQHM= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= -sigs.k8s.io/cluster-api v1.11.1 h1:7CyGCTxv1p3Y2kRe1ljTj/w4TcdIdWNj0CTBc4i1aBo= -sigs.k8s.io/cluster-api v1.11.1/go.mod h1:zyrjgJ5RbXhwKcAdUlGPNK5YOHpcmxXvur+5I8lkMUQ= -sigs.k8s.io/cluster-api/test v1.11.1 h1:p9tT2HupKHW1URQDsZ3QNdEC/YPc8nrkiV6RCtNgi5k= -sigs.k8s.io/cluster-api/test v1.11.1/go.mod h1:COviHWIKTcip0VADeIh8Rm5bjqzyZ1LuzKBW1EqjJRc= -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/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/cluster-api v1.11.3 h1:apxfugbP1X8AG7THCM74CTarCOW4H2oOc6hlbm1hY80= +sigs.k8s.io/cluster-api v1.11.3/go.mod h1:CA471SACi81M8DzRKTlWpHV33G0cfWEj7sC4fALFVok= +sigs.k8s.io/cluster-api/test v1.11.3 h1:My8N5vHyWL1XAdwfP69bIajox8IJd7XhaSD8DRu8AHs= +sigs.k8s.io/cluster-api/test v1.11.3/go.mod h1:COviHWIKTcip0VADeIh8Rm5bjqzyZ1LuzKBW1EqjJRc= +sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= +sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= +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/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag= -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.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= From b3ffa3d70c7095e1ac2c2dfe7c03291a63c11982 Mon Sep 17 00:00:00 2001 From: Atul Verma Date: Fri, 28 Nov 2025 09:25:51 +0530 Subject: [PATCH 28/28] chore: k8s 1.33 capi 1.11.3 (#630) * chore: k8s to 1.33 * fix: mocks * fix: test * fix: bump capi v1.11.3 * fix: capi version --- go.mod | 62 +++++------ go.sum | 198 ++++++++++++--------------------- mocks/ctlclient/client_mock.go | 19 ---- 3 files changed, 103 insertions(+), 176 deletions(-) diff --git a/go.mod b/go.mod index a2f4e33482..bca8e1ea2d 100644 --- a/go.mod +++ b/go.mod @@ -21,15 +21,15 @@ require ( go.uber.org/zap v1.27.0 golang.org/x/crypto v0.41.0 // indirect; CVE fixes for https://avd.aquasec.com/nvd/cve-2025-22869 golang.org/x/time v0.9.0 - k8s.io/api v0.34.2 - k8s.io/apiextensions-apiserver v0.34.2 - k8s.io/apimachinery v0.34.2 - k8s.io/client-go v0.34.2 + k8s.io/api v0.33.4 + k8s.io/apiextensions-apiserver v0.33.4 + k8s.io/apimachinery v0.33.4 + k8s.io/client-go v0.33.4 k8s.io/klog/v2 v2.130.1 - k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 + k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d sigs.k8s.io/cluster-api v1.11.3 sigs.k8s.io/cluster-api/test v1.11.3 - sigs.k8s.io/controller-runtime v0.22.4 + sigs.k8s.io/controller-runtime v0.21.0 sigs.k8s.io/kind v0.30.0 sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 @@ -44,7 +44,7 @@ require ( require ( al.essio.dev/pkg/shellescape v1.5.1 // indirect - cel.dev/expr v0.24.0 // indirect + cel.dev/expr v0.19.1 // indirect github.com/BurntSushi/toml v1.4.0 // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect github.com/Masterminds/semver/v3 v3.4.0 // indirect @@ -73,8 +73,8 @@ require ( github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect - github.com/fsnotify/fsnotify v1.9.0 // indirect - github.com/fxamacker/cbor/v2 v2.9.0 // indirect + github.com/fsnotify/fsnotify v1.8.0 // indirect + github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/go-errors/errors v1.4.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/zapr v1.3.0 // indirect @@ -92,16 +92,16 @@ require ( github.com/gobuffalo/flect v1.0.3 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/cel-go v0.26.0 // indirect - github.com/google/gnostic-models v0.7.0 // indirect + github.com/google/cel-go v0.23.2 // indirect + github.com/google/gnostic-models v0.6.9 // indirect github.com/google/go-github/v53 v53.2.0 // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/pprof v0.0.0-20250403155104-27863c87afa6 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.7 // indirect - github.com/imdario/mergo v0.3.13 // indirect + github.com/imdario/mergo v0.3.6 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -114,7 +114,7 @@ require ( github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/sys/sequential v0.6.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/oklog/ulid v1.3.1 // indirect @@ -123,7 +123,7 @@ require ( github.com/opencontainers/image-spec v1.0.2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.2.3 // indirect - github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.22.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/common v0.62.0 // indirect @@ -139,18 +139,18 @@ require ( github.com/stoewer/go-strcase v1.3.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/xlab/treeprint v1.2.0 // indirect + github.com/xlab/treeprint v1.1.0 // indirect go.mongodb.org/mongo-driver v1.14.0 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 // indirect - go.opentelemetry.io/otel v1.35.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 // indirect - go.opentelemetry.io/otel/metric v1.35.0 // indirect + go.opentelemetry.io/otel v1.34.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 // indirect + go.opentelemetry.io/otel/metric v1.34.0 // indirect go.opentelemetry.io/otel/sdk v1.34.0 // indirect - go.opentelemetry.io/otel/trace v1.35.0 // indirect - go.opentelemetry.io/proto/otlp v1.5.0 // indirect - go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect + go.opentelemetry.io/otel/trace v1.34.0 // indirect + go.opentelemetry.io/proto/otlp v1.4.0 // indirect + go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect go.uber.org/multierr v1.11.0 // indirect go.yaml.in/yaml/v2 v2.4.2 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect @@ -164,22 +164,22 @@ require ( golang.org/x/text v0.28.0 // indirect golang.org/x/tools v0.36.0 // indirect gomodules.xyz/jsonpatch/v2 v2.5.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb // indirect - google.golang.org/grpc v1.72.1 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect + google.golang.org/grpc v1.71.3 // indirect google.golang.org/protobuf v1.36.7 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiserver v0.34.2 // indirect + k8s.io/apiserver v0.33.4 // indirect k8s.io/cluster-bootstrap v0.33.3 // indirect - k8s.io/component-base v0.34.2 // indirect - k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect + k8s.io/component-base v0.33.4 // indirect + k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff // indirect sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect - sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect + sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) diff --git a/go.sum b/go.sum index 9950ea086a..0c7a56a6e4 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,11 @@ al.essio.dev/pkg/shellescape v1.5.1 h1:86HrALUujYS/h+GtqoB26SBEdkWfmMI6FubjXlsXyho= al.essio.dev/pkg/shellescape v1.5.1/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= -cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= -cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4= +cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= @@ -46,13 +44,11 @@ github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2y github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= @@ -90,8 +86,6 @@ github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46 h1:7QPwrLT79GlD5 github.com/drone/envsubst/v2 v2.0.0-20210730161058-179042472c46/go.mod h1:esf2rsHFNlZlxsqsZDojNBcnNs5REqIvRrWRHqX0vEU= github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU= github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI= github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= @@ -102,12 +96,12 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= +github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fullstorydev/grpcurl v1.8.7 h1:xJWosq3BQovQ4QrdPO72OrPiWuGgEsxY8ldYsJbPrqI= github.com/fullstorydev/grpcurl v1.8.7/go.mod h1:pVtM4qe3CMoLaIzYS8uvTuDj2jVYmXqMUkZeijnXp/E= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= +github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/gkampitakis/ciinfo v0.3.2 h1:JcuOPk8ZU7nZQjdUhctuhQofk7BGHuIy0c9Ez8BNhXs= github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= github.com/gkampitakis/go-diff v1.3.2 h1:Qyn0J9XJSDTgnsgHRdz9Zp24RaJeKMUHg2+PDZZdC4M= @@ -159,31 +153,17 @@ github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= 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/cel-go v0.26.0 h1:DPGjXackMpJWH680oGY4lZhYjIameYmR+/6RBdDGmaI= -github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= -github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= -github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/google/cel-go v0.23.2 h1:UdEe3CvQh3Nv+E/j9r1Y//WO0K0cSyD7/y0bzyLIMI4= +github.com/google/cel-go v0.23.2/go.mod h1:52Pb6QsDbC5kvgxvZhiL9QX1oZEkcUF/ZqaPx1J5Wwo= +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= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -202,8 +182,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0 h1:TmHmbvxPmaegwhDubVz0lICL0J5Ka2vwTzhoePEXsGE= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v1.6.3 h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k= @@ -212,8 +192,8 @@ github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISH github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/huandu/xstrings v1.5.0 h1:2ag3IFq9ZDANvthTwTiqSSZLjDc+BedvHPAp5tJy2TI= github.com/huandu/xstrings v1.5.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= -github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/imdario/mergo v0.3.6 h1:xTNEAn+kxVO7dTZGu0CegyqKZmoWFI0rF8UxjlB2d28= +github.com/imdario/mergo v0.3.6/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jhump/protoreflect v1.14.0 h1:MBbQK392K3u8NTLbKOCIi3XdI+y+c6yt5oMq0X3xviw= @@ -271,9 +251,8 @@ github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 h1:n6/2gBQ3RWajuToeY6ZtZTIKv2v7ThUy5KKusIT0yc0= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= @@ -310,12 +289,10 @@ github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNH github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= 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 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= 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.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.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io= @@ -377,47 +354,47 @@ github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ= -github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk= +github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/etcd/api/v3 v3.6.4 h1:7F6N7toCKcV72QmoUKa23yYLiiljMrT4xCeBL9BmXdo= -go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= -go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6ok0= -go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= -go.etcd.io/etcd/client/v3 v3.6.4 h1:YOMrCfMhRzY8NgtzUsHl8hC2EBSnuqbR3dh84Uryl7A= -go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= +go.etcd.io/etcd/api/v3 v3.5.22 h1:jRqZlcmndfKs1fO9I1Euqk3O5acEyBICyMKunxxhL94= +go.etcd.io/etcd/api/v3 v3.5.22/go.mod h1:/mQQOEMyP7nAjMKZTJSCtMmlOoNAG5s7IjKZGvMN9Yc= +go.etcd.io/etcd/client/pkg/v3 v3.5.22 h1:dFVbXCohuH0JKo6X+IznK6aohJSWcU+SF8QZF5EsaOQ= +go.etcd.io/etcd/client/pkg/v3 v3.5.22/go.mod h1:cSURbmmXBOqyX839SdTbuO2zYtUjcZvKeQ7DEiYVOmU= +go.etcd.io/etcd/client/v3 v3.5.22 h1:h+y9ocnclCPLPsoBoKwneZy7gy71VjvJ+8z4IPWxTn8= +go.etcd.io/etcd/client/v3 v3.5.22/go.mod h1:p4ROLdCiv8gwQtnozOILXkqIjjSI0MR6Ly5F9qpFg+8= go.keploy.io/server v0.8.6 h1:czE9jaliyAkMMJcYnMPNuu6tun7UgwFbokxEG95vLN4= go.keploy.io/server v0.8.6/go.mod h1:t7BPuZQSiC3PNHZ9dbn3e3VB61HNWwiqVmaRujfDFUg= go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= go.mongodb.org/mongo-driver v1.14.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= 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.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= +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/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= -go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= -go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0 h1:Vh5HayB/0HHfOQA7Ctx69E/Y/DcQSMPpKANYVMQ7fBA= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0 h1:5pojmb1U1AogINhN3SurB+zm/nIcusopeBNp42f45QM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.33.0/go.mod h1:57gTHJSE5S1tqg+EKsLPlTWhpHMsWlVmer+LA926XiA= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0 h1:FyjCyI9jVEfqhUh2MoSkmolPjfh5fp2hnV0b0irxH4Q= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.22.0/go.mod h1:hYwym2nDEeZfG/motx0p7L7J1N1vyzIThemQsb4g2qY= -go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= -go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= -go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= -go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= -go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= -go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= +go.opentelemetry.io/proto/otlp v1.4.0 h1:TA9WRvW6zMwP+Ssb6fLoUIuirti1gGbP28GcKG1jgeg= +go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= +go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 h1:+FNtrFTmVw0YZGpBGX56XDee331t6JAXeK2bcyhLOOc= +go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o= 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/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= @@ -435,12 +412,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/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= @@ -451,11 +424,8 @@ golang.org/x/mod v0.27.0 h1:kb+q2PyFnEADO2IEF935ehFUXlWiNjJWtRNgBLSfbxQ= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.30.0 h1:dnDm7JmhM45NNpd8FDDeLhK6FwqbOf4MLCM9zb1BOHI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -466,9 +436,8 @@ golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= golang.org/x/sync v0.16.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= +golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -486,11 +455,9 @@ golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= @@ -499,10 +466,6 @@ golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= 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-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -517,30 +480,14 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gomodules.xyz/jsonpatch/v2 v2.5.0 h1:JELs8RLM12qJGXU4u/TO3V25KW8GreMKl9pdkk14RM0= gomodules.xyz/jsonpatch/v2 v2.5.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -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 v0.0.0-20241118233622-e639e219e697 h1:ToEetK57OidYuqD4Q5w+vfEnPvPpuTwedCNVohYJfNk= google.golang.org/genproto v0.0.0-20241118233622-e639e219e697/go.mod h1:JJrvXBWRZaFMxBufik1a4RpFw4HhgVtBBWQeQgUj2cc= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb h1:p31xT4yrYrSM/G4Sn2+TNUkVhFCbG9y8itM2S6Th950= -google.golang.org/genproto/googleapis/api v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:jbe3Bkdp+Dh2IrslsFCklNhweNTBgSYanP1UXhJDhKg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb h1:TLPQVbx1GJ8VKZxz52VAxl1EBgKXXbTiU9Fc5fZeLn4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:LuRYeWDFV6WOn90g357N17oMCaxpgCnbi/44qJvDn2I= -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.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA= -google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= -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= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24= +google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/grpc v1.71.3 h1:iEhneYTxOruJyZAxdAv8Y0iRZvsc5M6KoW7UA0/7jn0= +google.golang.org/grpc v1.71.3/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A= google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -553,52 +500,51 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= -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.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= -k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= -k8s.io/apiextensions-apiserver v0.34.2 h1:WStKftnGeoKP4AZRz/BaAAEJvYp4mlZGN0UCv+uvsqo= -k8s.io/apiextensions-apiserver v0.34.2/go.mod h1:398CJrsgXF1wytdaanynDpJ67zG4Xq7yj91GrmYN2SE= -k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= -k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= -k8s.io/apiserver v0.34.2 h1:2/yu8suwkmES7IzwlehAovo8dDE07cFRC7KMDb1+MAE= -k8s.io/apiserver v0.34.2/go.mod h1:gqJQy2yDOB50R3JUReHSFr+cwJnL8G1dzTA0YLEqAPI= -k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= -k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= +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.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/apiserver v0.33.4 h1:6N0TEVA6kASUS3owYDIFJjUH6lgN8ogQmzZvaFFj1/Y= +k8s.io/apiserver v0.33.4/go.mod h1:8ODgXMnOoSPLMUg1aAzMFx+7wTJM+URil+INjbTZCok= +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/cluster-bootstrap v0.33.3 h1:u2NTxJ5CFSBFXaDxLQoOWMly8eni31psVso+caq6uwI= k8s.io/cluster-bootstrap v0.33.3/go.mod h1:p970f8u8jf273zyQ5raD8WUu2XyAl0SAWOY82o7i/ds= -k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= -k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= +k8s.io/component-base v0.33.4 h1:Jvb/aw/tl3pfgnJ0E0qPuYLT0NwdYs1VXXYQmSuxJGY= +k8s.io/component-base v0.33.4/go.mod h1:567TeSdixWW2Xb1yYUQ7qk5Docp2kNznKL87eygY8Rc= 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-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA= -k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +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/utils v0.0.0-20250820121507-0af2bda4dd1d h1:wAhiDyZ4Tdtt7e46e9M5ZSAJ/MnPGPs+Ki1gHw4w1R0= +k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 h1:jpcvIRr3GLoUoEKRkHKSmGjxb6lWwrBlJsXc+eUYQHM= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= sigs.k8s.io/cluster-api v1.11.3 h1:apxfugbP1X8AG7THCM74CTarCOW4H2oOc6hlbm1hY80= sigs.k8s.io/cluster-api v1.11.3/go.mod h1:CA471SACi81M8DzRKTlWpHV33G0cfWEj7sC4fALFVok= sigs.k8s.io/cluster-api/test v1.11.3 h1:My8N5vHyWL1XAdwfP69bIajox8IJd7XhaSD8DRu8AHs= sigs.k8s.io/cluster-api/test v1.11.3/go.mod h1:COviHWIKTcip0VADeIh8Rm5bjqzyZ1LuzKBW1EqjJRc= -sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= -sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= -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/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/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/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0= sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U= sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag= +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/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +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.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= diff --git a/mocks/ctlclient/client_mock.go b/mocks/ctlclient/client_mock.go index 28d77dc2c3..5e1c38172e 100644 --- a/mocks/ctlclient/client_mock.go +++ b/mocks/ctlclient/client_mock.go @@ -44,25 +44,6 @@ func (m *MockClient) EXPECT() *MockClientMockRecorder { return m.recorder } -// Apply mocks base method. -func (m *MockClient) Apply(ctx context.Context, obj runtime.ApplyConfiguration, opts ...client.ApplyOption) error { - m.ctrl.T.Helper() - varargs := []any{ctx, obj} - for _, a := range opts { - varargs = append(varargs, a) - } - ret := m.ctrl.Call(m, "Apply", varargs...) - ret0, _ := ret[0].(error) - return ret0 -} - -// Apply indicates an expected call of Apply. -func (mr *MockClientMockRecorder) Apply(ctx, obj any, opts ...any) *gomock.Call { - mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, obj}, opts...) - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Apply", reflect.TypeOf((*MockClient)(nil).Apply), varargs...) -} - // Create mocks base method. func (m *MockClient) Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error { m.ctrl.T.Helper()