From e6dbe01de5a7df574ad0e5d083a6b55621f1847a Mon Sep 17 00:00:00 2001 From: Bharti Gautam Date: Mon, 8 Jun 2026 16:19:21 +0530 Subject: [PATCH] remove rancher/rke dependency --- cmd/cluster.go | 134 ++----------------------------------------- cmd/common.go | 39 ------------- cmd/common_test.go | 36 ------------ cmd/node.go | 29 ---------- cmd/ssh.go | 19 +++---- go.mod | 68 ++++++++++------------ go.sum | 138 ++++++++++++++++++--------------------------- 7 files changed, 96 insertions(+), 367 deletions(-) diff --git a/cmd/cluster.go b/cmd/cluster.go index 871601b74..52ea03e32 100644 --- a/cmd/cluster.go +++ b/cmd/cluster.go @@ -2,11 +2,9 @@ package cmd import ( "context" - "encoding/json" "errors" "fmt" "io" - "slices" "strconv" "strings" @@ -71,28 +69,10 @@ func ClusterCommand() *cli.Command { Name: "description", Usage: "Description to apply to the cluster", }, - &cli.BoolFlag{ - Name: "disable-docker-version", - Usage: "Allow unsupported versions of docker on the nodes, [default=true]", - Value: true, - }, &cli.BoolFlag{ Name: "import", Usage: "Mark the cluster for import, this is required if the cluster is going to be used to import an existing k8s cluster", }, - &cli.StringFlag{ - Name: "k8s-version", - Usage: "Kubernetes version to use for the cluster, pass in 'list' to see available versions", - }, - &cli.StringFlag{ - Name: "network-provider", - Usage: "Network provider for the cluster (flannel, canal, calico)", - Value: "canal", - }, - &cli.StringFlag{ - Name: "rke-config", - Usage: "Location of an rke config file to import. Can be JSON or YAML format", - }, }, }, { @@ -273,26 +253,9 @@ func clusterCreate(ctx context.Context, cmd *cli.Command) error { if err != nil { return err } - - k8sVersion := cmd.String("k8s-version") - if k8sVersion != "" { - k8sVersions, err := getClusterK8sOptions(c) - if err != nil { - return err - } - - if slices.Contains(k8sVersions, k8sVersion) { - fmt.Println("Available Kubernetes versions:") - for _, val := range k8sVersions { - fmt.Println(val) - } - return nil - } - } - - config, err := getClusterConfig(cmd) - if err != nil { - return err + config := &managementClient.Cluster{ + Name: cmd.Args().First(), + Description: cmd.String("description"), } createdCluster, err := c.ManagementClient.Cluster.Create(config) @@ -365,18 +328,7 @@ func clusterAddNode(ctx context.Context, cmd *cli.Command) error { return err } - if cluster.Driver == "rancherKubernetesEngine" || cluster.Driver == "" { - filter := defaultListOpts(cmd) - filter.Filters["clusterId"] = cluster.ID - nodePools, err := c.ManagementClient.NodePool.List(filter) - if err != nil { - return err - } - - if len(nodePools.Data) > 0 { - return errors.New("a node can't be manually registered to a cluster utilizing node-pools") - } - } else { + if cluster.Driver == "" { return errors.New("a node can only be manually registered to a custom cluster") } @@ -716,14 +668,6 @@ func getClusterProvider(cluster managementClient.Cluster) string { return "K3S" case "rke2": return "RKE2" - case "rancherKubernetesEngine": - return "Rancher Kubernetes Engine" - case "azureKubernetesService", "AKS": - return "Azure Kubernetes Service" - case "googleKubernetesEngine", "GKE": - return "Google Kubernetes Engine" - case "EKS": - return "Elastic Kubernetes Service" default: return "Unknown" } @@ -773,73 +717,3 @@ func parseResourceString(mem string) string { func getClusterPods(cluster managementClient.Cluster) string { return cluster.Requested["pods"] + "/" + cluster.Allocatable["pods"] } - -func getClusterK8sOptions(c *cliclient.MasterClient) ([]string, error) { - var options []string - - setting, err := c.ManagementClient.Setting.ByID("k8s-version-to-images") - if err != nil { - return nil, err - } - - var objmap map[string]*json.RawMessage - err = json.Unmarshal([]byte(setting.Value), &objmap) - if err != nil { - return nil, err - } - - for key := range objmap { - options = append(options, key) - } - return options, nil -} - -func getClusterConfig(cmd *cli.Command) (*managementClient.Cluster, error) { - config := managementClient.Cluster{} - config.Name = cmd.Args().First() - config.Description = cmd.String("description") - - if !cmd.Bool("import") { - config.RancherKubernetesEngineConfig = new(managementClient.RancherKubernetesEngineConfig) - ignoreDockerVersion := cmd.Bool("disable-docker-version") - config.RancherKubernetesEngineConfig.IgnoreDockerVersion = &ignoreDockerVersion - - if cmd.String("k8s-version") != "" { - config.RancherKubernetesEngineConfig.Version = cmd.String("k8s-version") - } - - if cmd.String("network-provider") != "" { - config.RancherKubernetesEngineConfig.Network = &managementClient.NetworkConfig{ - Plugin: cmd.String("network-provider"), - } - } - - if cmd.String("rke-config") != "" { - bytes, err := readFileReturnJSON(cmd.String("rke-config")) - if err != nil { - return nil, err - } - - var jsonObject map[string]interface{} - if err = json.Unmarshal(bytes, &jsonObject); err != nil { - return nil, err - } - - // Most values in RancherKubernetesEngineConfig are defined with struct tags for both JSON and YAML in camelCase. - // Changing the tags will be a breaking change. For proper deserialization, we must convert all keys to camelCase. - // Note that we ignore kebab-case keys. Users themselves should ensure any relevant keys - // (especially top-level keys in `services`, like `kube-api` or `kube-controller`) are camelCase or snake-case in cluster config. - convertSnakeCaseKeysToCamelCase(jsonObject) - - marshalled, err := json.Marshal(jsonObject) - if err != nil { - return nil, err - } - if err = json.Unmarshal(marshalled, &config); err != nil { - return nil, err - } - } - } - - return &config, nil -} diff --git a/cmd/common.go b/cmd/common.go index 4fdd3163d..357807eb4 100644 --- a/cmd/common.go +++ b/cmd/common.go @@ -22,14 +22,11 @@ import ( "syscall" "text/template" "time" - "unicode" - "github.com/ghodss/yaml" "github.com/rancher/cli/cliclient" "github.com/rancher/cli/config" "github.com/rancher/norman/clientbase" ntypes "github.com/rancher/norman/types" - "github.com/rancher/norman/types/convert" managementClient "github.com/rancher/rancher/pkg/client/generated/management/v3" "github.com/sirupsen/logrus" "github.com/urfave/cli/v3" @@ -552,42 +549,6 @@ func parseClusterAndProjectID(id string) (string, string, error) { return "", "", fmt.Errorf("unable to extract clusterid and projectid from [%s]", id) } -// Return a JSON blob of the file at path -func readFileReturnJSON(path string) ([]byte, error) { - file, err := os.ReadFile(path) - if err != nil { - return []byte{}, err - } - // This is probably already JSON if true - if hasPrefix(file, []byte("{")) { - return file, nil - } - return yaml.YAMLToJSON(file) -} - -// renameKeys renames the keys in a given map of arbitrary depth with a provided function for string keys. -func renameKeys(input map[string]interface{}, f func(string) string) { - for k, v := range input { - delete(input, k) - newKey := f(k) - input[newKey] = v - if innerMap, ok := v.(map[string]interface{}); ok { - renameKeys(innerMap, f) - } - } -} - -// convertSnakeCaseKeysToCamelCase takes a map and recursively transforms all snake_case keys into camelCase keys. -func convertSnakeCaseKeysToCamelCase(input map[string]interface{}) { - renameKeys(input, convert.ToJSONKey) -} - -// Return true if the first non-whitespace bytes in buf is prefix. -func hasPrefix(buf []byte, prefix []byte) bool { - trim := bytes.TrimLeftFunc(buf, unicode.IsSpace) - return bytes.HasPrefix(trim, prefix) -} - // getClusterNames maps cluster ID to name and defaults to ID if name is blank func getClusterNames(cmd *cli.Command, c *cliclient.MasterClient) (map[string]string, error) { clusterNames := make(map[string]string) diff --git a/cmd/common_test.go b/cmd/common_test.go index 2c8eee834..b88d97d7e 100644 --- a/cmd/common_test.go +++ b/cmd/common_test.go @@ -5,7 +5,6 @@ import ( "fmt" "net/http" "net/url" - "strconv" "testing" "time" @@ -73,41 +72,6 @@ func TestParseClusterAndProjectID(t *testing.T) { } } -func TestConvertSnakeCaseKeysToCamelCase(t *testing.T) { - t.Parallel() - - tests := []struct { - input map[string]any - want map[string]any - }{ - { - map[string]any{"foo_bar": "hello"}, - map[string]any{"fooBar": "hello"}, - }, - { - map[string]any{"fooBar": "hello"}, - map[string]any{"fooBar": "hello"}, - }, - { - map[string]any{"foobar": "hello", "some_key": "valueUnmodified", "bar-baz": "bar-baz"}, - map[string]any{"foobar": "hello", "someKey": "valueUnmodified", "bar-baz": "bar-baz"}, - }, - { - map[string]any{"foo_bar": "hello", "backup_config": map[string]any{"hello_world": true}, "config_id": 123}, - map[string]any{"fooBar": "hello", "backupConfig": map[string]any{"helloWorld": true}, "configId": 123}, - }, - } - - for i, test := range tests { - t.Run(strconv.Itoa(i), func(t *testing.T) { - t.Parallel() - - convertSnakeCaseKeysToCamelCase(test.input) - assert.Equal(t, test.input, test.want) - }) - } -} - func TestParsePrincipalID(t *testing.T) { t.Parallel() diff --git a/cmd/node.go b/cmd/node.go index f36f72fc4..34c035e89 100644 --- a/cmd/node.go +++ b/cmd/node.go @@ -61,11 +61,6 @@ func nodeLs(ctx context.Context, cmd *cli.Command) error { return err } - nodePools, err := getNodePools(cmd, c) - if err != nil { - return err - } - writer := NewTableWriter([][]string{ {"ID", "ID"}, {"NAME", "Name"}, @@ -81,7 +76,6 @@ func nodeLs(ctx context.Context, cmd *cli.Command) error { ID: item.ID, Node: item, Name: getNodeName(item), - Pool: getNodePoolName(item, nodePools), }) } @@ -168,26 +162,3 @@ func getNodeName(node managementClient.Node) string { } return node.ID } - -func getNodePools( - cmd *cli.Command, - c *cliclient.MasterClient, -) (*managementClient.NodePoolCollection, error) { - filter := defaultListOpts(cmd) - filter.Filters["clusterId"] = c.UserConfig.GetCurrentCluster() - - collection, err := c.ManagementClient.NodePool.List(filter) - if err != nil { - return nil, err - } - return collection, nil -} - -func getNodePoolName(node managementClient.Node, pools *managementClient.NodePoolCollection) string { - for _, pool := range pools.Data { - if node.NodePoolID == pool.ID { - return pool.HostnamePrefix - } - } - return "" -} diff --git a/cmd/ssh.go b/cmd/ssh.go index 58bdaa77e..00c04ee68 100644 --- a/cmd/ssh.go +++ b/cmd/ssh.go @@ -82,13 +82,13 @@ func nodeSSH(ctx context.Context, cmd *cli.Command) error { return err } - sshNode, key, err := getNodeAndKey(cmd, c, nodeName) + sshNode, key, sshUser, err := getNodeAndKey(cmd, c, nodeName) if err != nil { return err } if user == "" { - user = sshNode.SshUser + user = sshUser } ipAddress := sshNode.IPAddress if cmd.Bool("external") { @@ -98,16 +98,16 @@ func nodeSSH(ctx context.Context, cmd *cli.Command) error { return processExitCode(callSSH(key, ipAddress, user, args)) } -func getNodeAndKey(cmd *cli.Command, c *cliclient.MasterClient, nodeName string) (managementClient.Node, []byte, error) { +func getNodeAndKey(cmd *cli.Command, c *cliclient.MasterClient, nodeName string) (managementClient.Node, []byte, string, error) { sshNode := managementClient.Node{} resource, err := Lookup(c, nodeName, "node") if err != nil { - return sshNode, nil, err + return sshNode, nil, "", err } sshNode, err = getNodeByID(cmd, c, resource.ID) if err != nil { - return sshNode, nil, err + return sshNode, nil, "", err } link := sshNode.Links["nodeConfig"] @@ -115,7 +115,7 @@ func getNodeAndKey(cmd *cli.Command, c *cliclient.MasterClient, nodeName string) // Get the machine and use that instead. machine, err := getMachineByNodeName(cmd, c, sshNode.NodeName) if err != nil { - return sshNode, nil, fmt.Errorf("failed to find SSH key for node [%s]", nodeName) + return sshNode, nil, "", fmt.Errorf("failed to find SSH key for node [%s]", nodeName) } link = machine.Links["sshkeys"] @@ -123,13 +123,10 @@ func getNodeAndKey(cmd *cli.Command, c *cliclient.MasterClient, nodeName string) key, sshUser, err := getSSHKey(c, link, getNodeName(sshNode)) if err != nil { - return sshNode, nil, err - } - if sshUser != "" { - sshNode.SshUser = sshUser + return sshNode, nil, "", err } - return sshNode, key, nil + return sshNode, key, sshUser, nil } func callSSH(content []byte, ip string, user string, args []string) error { diff --git a/go.mod b/go.mod index 5699a5030..eeb75ebba 100644 --- a/go.mod +++ b/go.mod @@ -5,32 +5,31 @@ go 1.26.0 toolchain go1.26.1 replace ( - k8s.io/apiserver => k8s.io/apiserver v0.35.3 - k8s.io/client-go => k8s.io/client-go v0.35.3 - k8s.io/component-base => k8s.io/component-base v0.35.3 - k8s.io/kubernetes => k8s.io/kubernetes v1.35.3 + k8s.io/apiserver => k8s.io/apiserver v0.36.1 + k8s.io/client-go => k8s.io/client-go v0.36.1 + k8s.io/component-base => k8s.io/component-base v0.36.1 + k8s.io/kubernetes => k8s.io/kubernetes v1.36.1 ) require ( github.com/ghodss/yaml v1.0.0 - github.com/rancher/norman v0.9.1 - github.com/rancher/rancher/pkg/apis v0.0.0-20260420124639-0a9fc16cf3f6 - github.com/rancher/rancher/pkg/client v0.0.0-20260420124639-0a9fc16cf3f6 + github.com/rancher/norman v0.9.7 + github.com/rancher/rancher/pkg/apis v0.0.0-20260606011257-0932e0f2e111 + github.com/rancher/rancher/pkg/client v0.0.0-20260606011257-0932e0f2e111 github.com/sirupsen/logrus v1.9.4 github.com/stretchr/testify v1.11.1 github.com/tidwall/gjson v1.17.0 github.com/urfave/cli/v3 v3.6.2 - golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 - golang.org/x/oauth2 v0.35.0 + golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 + golang.org/x/oauth2 v0.36.0 golang.org/x/sync v0.20.0 - golang.org/x/term v0.41.0 - golang.org/x/text v0.35.0 + golang.org/x/term v0.43.0 + golang.org/x/text v0.37.0 k8s.io/client-go v12.0.0+incompatible ) require ( github.com/beorn7/perks v1.0.1 // indirect - github.com/blang/semver/v4 v4.0.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emicklei/go-restful/v3 v3.13.0 // indirect @@ -40,7 +39,6 @@ require ( github.com/go-openapi/jsonreference v0.21.0 // indirect github.com/go-openapi/swag v0.23.0 // indirect github.com/google/gnostic-models v0.7.0 // indirect - github.com/google/go-cmp v0.7.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 // indirect github.com/josharian/intern v1.0.0 // indirect @@ -53,41 +51,35 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.23.2 // indirect github.com/prometheus/client_model v0.6.2 // indirect - github.com/prometheus/common v0.66.1 // indirect - github.com/prometheus/procfs v0.16.1 // indirect - github.com/rancher/aks-operator v1.14.0-rc.2 // indirect - github.com/rancher/ali-operator v1.14.0-rc.1 // indirect - github.com/rancher/eks-operator v1.14.0-rc.5 // indirect - github.com/rancher/fleet/pkg/apis v0.15.0-beta.4 // indirect - github.com/rancher/gke-operator v1.14.0-rc.3 // indirect - github.com/rancher/lasso v0.2.7 // indirect - github.com/rancher/rke v1.8.0 // indirect - github.com/rancher/wrangler/v3 v3.6.0-rc.1 // indirect + github.com/prometheus/common v0.67.5 // indirect + github.com/prometheus/procfs v0.19.2 // indirect + github.com/rancher/aks-operator v1.15.0-rc.1 // indirect + github.com/rancher/ali-operator v1.15.0-rc.1 // indirect + github.com/rancher/eks-operator v1.15.0-rc.1 // indirect + github.com/rancher/fleet/pkg/apis v0.16.0-alpha.9 // indirect + github.com/rancher/gke-operator v1.15.0-rc.1 // indirect + github.com/rancher/lasso v0.2.9 // indirect + github.com/rancher/wrangler/v3 v3.7.0 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.0 // indirect github.com/x448/float16 v0.8.4 // indirect - go.opentelemetry.io/otel v1.39.0 // indirect - go.opentelemetry.io/otel/trace v1.39.0 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/net v0.52.0 // indirect - golang.org/x/sys v0.42.0 // indirect - golang.org/x/time v0.14.0 // indirect - google.golang.org/protobuf v1.36.11 // indirect + golang.org/x/net v0.54.0 // indirect + golang.org/x/sys v0.44.0 // indirect + golang.org/x/time v0.15.0 // indirect + google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // 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/api v0.35.3 // indirect - k8s.io/apimachinery v0.35.3 // indirect - k8s.io/apiserver v0.35.3 // indirect - k8s.io/component-base v0.35.3 // indirect - k8s.io/klog/v2 v2.130.1 // indirect - k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect - k8s.io/kubernetes v1.35.1 // indirect - k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect + k8s.io/api v0.36.1 // indirect + k8s.io/apimachinery v0.36.1 // indirect + k8s.io/klog/v2 v2.140.0 // indirect + k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a // indirect + k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect - sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482 // indirect + sigs.k8s.io/structured-merge-diff/v6 v6.4.0 // indirect sigs.k8s.io/yaml v1.6.0 // indirect ) diff --git a/go.sum b/go.sum index a1cdc562f..afd194b55 100644 --- a/go.sum +++ b/go.sum @@ -1,9 +1,5 @@ -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/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= 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/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -24,15 +20,11 @@ github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= -github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= -github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= 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.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 h1:z2ogiKUYzX5Is6zr/vP9vJGqPwcdqsWjOt+V8J7+bTc= -github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= 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.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= @@ -41,8 +33,6 @@ github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8Hm github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= 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/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= @@ -59,10 +49,6 @@ github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFd github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/onsi/ginkgo/v2 v2.28.1 h1:S4hj+HbZp40fNKuLUQOYLDgZLwNUVn19N3Atb98NCyI= -github.com/onsi/ginkgo/v2 v2.28.1/go.mod h1:CLtbVInNckU3/+gC8LzkGUb9oF+e8W8TdUsxPwvdOgE= -github.com/onsi/gomega v1.39.1 h1:1IJLAad4zjPn2PsnhH70V4DKRFlrCzGBNrNaru+Vf28= -github.com/onsi/gomega v1.39.1/go.mod h1:hL6yVALoTOxeWudERyfppUcZXjMwIMLnuSfruD2lcfg= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -72,32 +58,30 @@ github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs= -github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= -github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg= -github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= -github.com/rancher/aks-operator v1.14.0-rc.2 h1:KhXvWn+ZuHlnHb1acCYtT1q0YlAZSX6KBv2ZsWXL0fo= -github.com/rancher/aks-operator v1.14.0-rc.2/go.mod h1:WqkM8U5n+w8fNTkYmq4rm7OGZRqGA2eTLnHQYjAmkoM= -github.com/rancher/ali-operator v1.14.0-rc.1 h1:K/9sFAdo7QM8rD+ZpPM8YkwhLee4NHqvu5psNEdZArU= -github.com/rancher/ali-operator v1.14.0-rc.1/go.mod h1:96zTYfGWn5kQ6bkVimm2NlsEUYB5FzAYHmn+hlqs4Hc= -github.com/rancher/eks-operator v1.14.0-rc.5 h1:aA7Kjxi3VfeveTR1sHpLN3YQiPb98f6r0+6yoDifvbc= -github.com/rancher/eks-operator v1.14.0-rc.5/go.mod h1:bqHtTtuREMFHFH/lUbE6Knmylm+2uemVE8gcxzx2iMc= -github.com/rancher/fleet/pkg/apis v0.15.0-beta.4 h1:AogMaC49Bz2DXZ6ve09+A1m2ae1msv0slj+GOmtVeMY= -github.com/rancher/fleet/pkg/apis v0.15.0-beta.4/go.mod h1:rpQ28vD81DN0Dz6QDakZlgtsOYOKBZSRJJ/LbFVHsA0= -github.com/rancher/gke-operator v1.14.0-rc.3 h1:l6x6IFyRNEbQoCBW+UL5MAg1eWsk2pjggW/l98GysQM= -github.com/rancher/gke-operator v1.14.0-rc.3/go.mod h1:fJiULH+JDH0qxXFezmq+A1tPHTRxQAuIItId/Ffzeqo= -github.com/rancher/lasso v0.2.7 h1:N56Pm8KJSk7gRVYILSGb35QBfjcDDeGFMfwUCivsbeg= -github.com/rancher/lasso v0.2.7/go.mod h1:L3ol8PdO21KoMhNa3RWjpR3ZBnE70JCAod1nJuOvT1E= -github.com/rancher/norman v0.9.1 h1:oLguHM19PkuRUcWBkAUrreUPtWB79iPeamhkoDVf4mE= -github.com/rancher/norman v0.9.1/go.mod h1:K/LReJLm1ZK1JtuyoP3FblcEWu3Stoc3l/PGz1RZphU= -github.com/rancher/rancher/pkg/apis v0.0.0-20260420124639-0a9fc16cf3f6 h1:5Avl/+b4QVD4hums8rgkKeIvm4z9uS6TAYkFzPN4kpI= -github.com/rancher/rancher/pkg/apis v0.0.0-20260420124639-0a9fc16cf3f6/go.mod h1:lvMI6CdlpJTBRpy9MXyfyiuwTu5G2HVVY2RHVj1rLyo= -github.com/rancher/rancher/pkg/client v0.0.0-20260420124639-0a9fc16cf3f6 h1:6XtKK1RFlk9bc2C6mn3PNHs0Ty+Nyu2MpWgNP5z+fT8= -github.com/rancher/rancher/pkg/client v0.0.0-20260420124639-0a9fc16cf3f6/go.mod h1:h4oemsA1aew9RgbQCzlPOjurzTlZYLF9L7qta6D8Nxo= -github.com/rancher/rke v1.8.0 h1:87jeoOccnnNCq27YgWgMh4o0GVrrVKbw+zfo+cHMZlo= -github.com/rancher/rke v1.8.0/go.mod h1:x9N1abruzDFMwTpqq2cnaDYpKCptlNoW8VraNWB6Pc4= -github.com/rancher/wrangler/v3 v3.6.0-rc.1 h1:awyAdx2ysA7lLFSdP6KG1GnFULKc/l/HrDJstf3foYk= -github.com/rancher/wrangler/v3 v3.6.0-rc.1/go.mod h1:G5moxB9PpU5MUXavc89NS6Mpfgr8Nfmf9DZ3BkGgeYM= +github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4= +github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw= +github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= +github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= +github.com/rancher/aks-operator v1.15.0-rc.1 h1:+a6A3a1eGgtZVG+/Xi0us/4HVQSsG9j3CADKOGT6OqM= +github.com/rancher/aks-operator v1.15.0-rc.1/go.mod h1:cAYS9zWnBcUDn2DPQbYbRty/gyYHXHKr5V9MUB7gG7w= +github.com/rancher/ali-operator v1.15.0-rc.1 h1:NpYxzQQj/Df7427UrBaOvGRMH2lsD4RvPRJ9xr1uWj0= +github.com/rancher/ali-operator v1.15.0-rc.1/go.mod h1:jKlIQni2diC19zEvFn/fTOlEj8ruTrODnI8X57ncNVI= +github.com/rancher/eks-operator v1.15.0-rc.1 h1:E/nQzCKn6SriPtD6bLG4G7YTx8CEmSG+bSMEL7tryo0= +github.com/rancher/eks-operator v1.15.0-rc.1/go.mod h1:k1PjsU9oG9mwwTSJmBfAs3snJ6VQ/6pPZK2HNI8KrVk= +github.com/rancher/fleet/pkg/apis v0.16.0-alpha.9 h1:kzPt2G5ytmVXoh9ST7L7Rt2cdwM7ItIZZyY5wosU6xY= +github.com/rancher/fleet/pkg/apis v0.16.0-alpha.9/go.mod h1:NjLJbrJ76K5vf8Djv3evIL1RnS4WDu8RpEjnyisIPRI= +github.com/rancher/gke-operator v1.15.0-rc.1 h1:ZkwK9J2KLuu4PlScm2HShUb6koKbXjbmihuENkk4TV8= +github.com/rancher/gke-operator v1.15.0-rc.1/go.mod h1:tc1XZNmqJAhOttKqgAQEoRp11GICuJ3ZgMazQt2n/+0= +github.com/rancher/lasso v0.2.9 h1:5Xk9Qid+YDOLpa6s5xalcSR0cA5BMbgWcaOZ8kdNU7k= +github.com/rancher/lasso v0.2.9/go.mod h1:PMtxoVahRQvhEAi1HVOfyLDe1CrtGwTqOtkPVjSSkns= +github.com/rancher/norman v0.9.7 h1:za9JjsWBUi+0rY3EJ3JdAZFQsadu7fpfC3MHi9a21uE= +github.com/rancher/norman v0.9.7/go.mod h1:XPdQnSdaiDrQ130ueYppMKIquQz5Ob1tnI6+lcraqqo= +github.com/rancher/rancher/pkg/apis v0.0.0-20260606011257-0932e0f2e111 h1:8ZRd3uMpYLdSYd4UyB6Kz8HZWw1lSDBllcbb99W27mA= +github.com/rancher/rancher/pkg/apis v0.0.0-20260606011257-0932e0f2e111/go.mod h1:qLMgagsevlywX6raQOjaE9BG2XOmQSfcLp4wfINrXU8= +github.com/rancher/rancher/pkg/client v0.0.0-20260606011257-0932e0f2e111 h1:ahYo5pNs9dXjSlXQRnLM9EGv4Gn4DdyNmb/BIK4yY84= +github.com/rancher/rancher/pkg/client v0.0.0-20260606011257-0932e0f2e111/go.mod h1:xnKcXFOjWWpM0owqQZIYsMkcF46PZ/NBEsR5DUevtKg= +github.com/rancher/wrangler/v3 v3.7.0 h1:rB6GJpnc4Kz8lWuAH3wZwQPgJqPGOu43Aih6147uZB8= +github.com/rancher/wrangler/v3 v3.7.0/go.mod h1:kqldrBWdHR5zIipX/nr8yuZBFqFrL7GfVP1uwVJSWPQ= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= @@ -120,10 +104,6 @@ github.com/urfave/cli/v3 v3.6.2 h1:lQuqiPrZ1cIz8hz+HcrG0TNZFxU70dPZ3Yl+pSrH9A8= github.com/urfave/cli/v3 v3.6.2/go.mod h1:ysVLtOEmg2tOy6PknnYVhDoouyC/6N42TMeoMzskhso= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= -go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= -go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= -go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= 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= @@ -132,28 +112,24 @@ go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= 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/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/mod v0.34.0 h1:xIHgNUUnW6sYkcM5Jleh05DvLOtwc6RitGHbDk4akRI= -golang.org/x/mod v0.34.0/go.mod h1:ykgH52iCZe79kzLLMhyCUzhMci+nQj+0XkbXpNYtVjY= -golang.org/x/net v0.52.0 h1:He/TN1l0e4mmR3QqHMT2Xab3Aj3L9qjbhRm78/6jrW0= -golang.org/x/net v0.52.0/go.mod h1:R1MAz7uMZxVMualyPXb+VaqGSa3LIaUqk0eEt3w36Sw= -golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= -golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93 h1:fQsdNF2N+/YewlRZiricy4P1iimyPKZ/xwniHj8Q2a0= +golang.org/x/exp v0.0.0-20251219203646-944ab1f22d93/go.mod h1:EPRbTFwzwjXj9NpYyyrvenVh9Y+GFeEvMNh7Xuz7xgU= +golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w= +golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ= +golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= +golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= -golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo= -golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU= -golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A= -golang.org/x/text v0.35.0 h1:JOVx6vVDFokkpaq1AEptVzLTpDe9KGpj5tR4/X+ybL8= -golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA= -golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= -golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= -golang.org/x/tools v0.43.0 h1:12BdW9CeB3Z+J/I/wj34VMl8X+fEXBxVR90JeMX5E7s= -golang.org/x/tools v0.43.0/go.mod h1:uHkMso649BX2cZK6+RpuIPXS3ho2hZo4FVwfoy1vIk0= -google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= -google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ= +golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4= +golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= +golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= +golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= +google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= 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= @@ -165,29 +141,23 @@ 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.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/api v0.35.3 h1:pA2fiBc6+N9PDf7SAiluKGEBuScsTzd2uYBkA5RzNWQ= -k8s.io/api v0.35.3/go.mod h1:9Y9tkBcFwKNq2sxwZTQh1Njh9qHl81D0As56tu42GA4= -k8s.io/apimachinery v0.35.3 h1:MeaUwQCV3tjKP4bcwWGgZ/cp/vpsRnQzqO6J6tJyoF8= -k8s.io/apimachinery v0.35.3/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= -k8s.io/apiserver v0.35.3 h1:D2eIcfJ05hEAEewoSDg+05e0aSRwx8Y4Agvd/wiomUI= -k8s.io/apiserver v0.35.3/go.mod h1:JI0n9bHYzSgIxgIrfe21dbduJ9NHzKJ6RchcsmIKWKY= -k8s.io/client-go v0.35.3 h1:s1lZbpN4uI6IxeTM2cpdtrwHcSOBML1ODNTCCfsP1pg= -k8s.io/client-go v0.35.3/go.mod h1:RzoXkc0mzpWIDvBrRnD+VlfXP+lRzqQjCmKtiwZ8Q9c= -k8s.io/component-base v0.35.3 h1:mbKbzoIMy7JDWS/wqZobYW1JDVRn/RKRaoMQHP9c4P0= -k8s.io/component-base v0.35.3/go.mod h1:IZ8LEG30kPN4Et5NeC7vjNv5aU73ku5MS15iZyvyMYk= -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-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= -k8s.io/kubernetes v1.35.3 h1:J3dk2wybKFHwoH4eydDUGHJo4HAD+9CZbSlvk/YQuao= -k8s.io/kubernetes v1.35.3/go.mod h1:AaPpCpiS8oAqRbEwpY5r3RitLpwpVp5lVXKFkJril58= -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/api v0.36.1 h1:XbL/EMj8K2aJpJtePmqUyQMsM0D4QI2pvl7YKJ20FTY= +k8s.io/api v0.36.1/go.mod h1:KOWo4ey3TINlXjeHVuwB3i+tXXnu+UcwFBHlI/9dvEo= +k8s.io/apimachinery v0.36.1 h1:G63Gjx2W+q0YD+72Vo8oY0nDnePVwnuzTmmy5ENrVSA= +k8s.io/apimachinery v0.36.1/go.mod h1:ibYOR00vW/I1kzvi5SF0dRuJ52BvKtfvRdOn35GPQ+8= +k8s.io/client-go v0.36.1 h1:FN/K8QIT2CEDt+2WB2HnWrUANZ50AP5GII43/SP2JR0= +k8s.io/client-go v0.36.1/go.mod h1:s6rAnCtTGYDQnpNjEhSaISV+2O8jwruZ6m3QOYBFbtU= +k8s.io/klog/v2 v2.140.0 h1:Tf+J3AH7xnUzZyVVXhTgGhEKnFqye14aadWv7bzXdzc= +k8s.io/klog/v2 v2.140.0/go.mod h1:o+/RWfJ6PwpnFn7OyAG3QnO47BFsymfEfrz6XyYSSp0= +k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a h1:xCeOEAOoGYl2jnJoHkC3hkbPJgdATINPMAxaynU2Ovg= +k8s.io/kube-openapi v0.0.0-20260317180543-43fb72c5454a/go.mod h1:uGBT7iTA6c6MvqUvSXIaYZo9ukscABYi2btjhvgKGZ0= +k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2 h1:AZYQSJemyQB5eRxqcPky+/7EdBj0xi3g0ZcxxJ7vbWU= +k8s.io/utils v0.0.0-20260210185600-b8788abfbbc2/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= 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.2-0.20260122202528-d9cc6641c482 h1:2WOzJpHUBVrrkDjU4KBT8n5LDcj824eX0I5UKcgeRUs= -sigs.k8s.io/structured-merge-diff/v6 v6.3.2-0.20260122202528-d9cc6641c482/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v6 v6.4.0 h1:qmp2e3ZfFi1/jJbDGpD4mt3wyp6PE1NfKHCYLqgNQJo= +sigs.k8s.io/structured-merge-diff/v6 v6.4.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=