Skip to content

Commit e6e647e

Browse files
chore: cleanup spaghetti (#211)
1 parent 3b56de5 commit e6e647e

10 files changed

Lines changed: 304 additions & 449 deletions

File tree

cmd/context.go

Lines changed: 6 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,56 +2,36 @@ package cmd
22

33
import (
44
"github.com/AlecAivazis/survey/v2"
5-
"github.com/mirceanton/kubectl-switch/v2/pkg/kubeconfig"
65
log "github.com/sirupsen/logrus"
76
"github.com/spf13/cobra"
87
)
98

10-
var contextManager = kubeconfig.NewContextManager(manager)
11-
129
var contextCmd = &cobra.Command{
1310
Use: "context",
1411
Aliases: []string{"ctx"},
1512
Short: "Switch the active Kubernetes context",
1613
ValidArgsFunction: getContextCompletions,
1714
Args: cobra.MaximumNArgs(1),
1815
Run: func(cmd *cobra.Command, args []string) {
19-
// Validate and get the config directory
20-
validConfigDir, err := contextManager.ValidateConfigDir(configDir)
21-
if err != nil {
22-
log.Fatal(err)
23-
}
24-
25-
// Get all contexts from kubeconfig files
26-
contextMap, contextNames, err := contextManager.GetContextsFromDir(validConfigDir)
27-
if err != nil {
28-
log.Fatalf("Failed to read kubeconfig files: %v", err)
29-
}
30-
31-
if len(contextMap) == 0 {
32-
log.Fatal("No kubernetes contexts found in the provided directory: ", validConfigDir)
16+
contextNames := configManager.GetAllContexts()
17+
if len(contextNames) == 0 {
18+
log.Fatal("No kubernetes contexts found in the provided directory")
3319
}
3420

35-
// Determine the target context
3621
var selectedContext string
3722
if len(args) == 1 {
3823
selectedContext = args[0]
39-
if _, exists := contextMap[selectedContext]; !exists {
40-
log.Fatalf("Context '%s' not found", selectedContext)
41-
}
4224
} else {
4325
prompt := &survey.Select{
4426
Message: "Choose a context:",
4527
Options: contextNames,
4628
}
47-
err = survey.AskOne(prompt, &selectedContext)
48-
if err != nil {
29+
if err := survey.AskOne(prompt, &selectedContext); err != nil {
4930
log.Fatalf("Failed to get user input: %v", err)
5031
}
5132
}
5233

53-
// Switch to the selected context
54-
if err := contextManager.SwitchContext(contextMap[selectedContext], selectedContext); err != nil {
34+
if err := configManager.SwitchToContext(selectedContext); err != nil {
5535
log.Fatalf("Failed to switch context: %v", err)
5636
}
5737

@@ -63,18 +43,6 @@ func init() {
6343
rootCmd.AddCommand(contextCmd)
6444
}
6545

66-
// getContextCompletions provides bash completion for available contexts
6746
func getContextCompletions(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
68-
configDirFlag, _ := cmd.Flags().GetString("kubeconfig-dir")
69-
validConfigDir, err := contextManager.ValidateConfigDir(configDirFlag)
70-
if err != nil {
71-
return nil, cobra.ShellCompDirectiveNoFileComp
72-
}
73-
74-
_, contextNames, err := contextManager.GetContextsFromDir(validConfigDir)
75-
if err != nil {
76-
return nil, cobra.ShellCompDirectiveNoFileComp
77-
}
78-
79-
return contextNames, cobra.ShellCompDirectiveNoFileComp
47+
return configManager.GetAllContexts(), cobra.ShellCompDirectiveNoFileComp
8048
}

cmd/namespace.go

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,22 @@ package cmd
22

33
import (
44
"github.com/AlecAivazis/survey/v2"
5-
"github.com/mirceanton/kubectl-switch/v2/pkg/kubeconfig"
65
log "github.com/sirupsen/logrus"
76
"github.com/spf13/cobra"
87
)
98

10-
var namespaceManager = kubeconfig.NewNamespaceManager(manager)
11-
129
var namespaceCmd = &cobra.Command{
1310
Use: "namespace",
1411
Aliases: []string{"ns"},
1512
Short: "Switch the active Kubernetes namespace",
1613
Args: cobra.MaximumNArgs(1),
1714
ValidArgsFunction: getNamespaceCompletions,
1815
Run: func(cmd *cobra.Command, args []string) {
19-
// Get all namespaces from the current context
20-
namespaceNames, err := namespaceManager.GetNamespaces()
16+
namespaceNames, err := configManager.GetNamespacesForCurrentContext()
2117
if err != nil {
2218
log.Fatalf("Error listing namespaces: %v", err)
2319
}
2420

25-
// Determine the target namespace
2621
var selectedNamespace string
2722
if len(args) == 1 {
2823
selectedNamespace = args[0]
@@ -31,14 +26,12 @@ var namespaceCmd = &cobra.Command{
3126
Message: "Choose a namespace:",
3227
Options: namespaceNames,
3328
}
34-
err = survey.AskOne(prompt, &selectedNamespace)
35-
if err != nil {
29+
if err := survey.AskOne(prompt, &selectedNamespace); err != nil {
3630
log.Fatalf("Failed to get user input: %v", err)
3731
}
3832
}
3933

40-
// Switch to the selected namespace
41-
if err := namespaceManager.SwitchNamespace(selectedNamespace); err != nil {
34+
if err := configManager.SwitchToNamespace(selectedNamespace); err != nil {
4235
log.Fatalf("Failed to switch namespace: %v", err)
4336
}
4437

@@ -50,12 +43,10 @@ func init() {
5043
rootCmd.AddCommand(namespaceCmd)
5144
}
5245

53-
// getNamespaceCompletions provides bash completion for available namespaces
5446
func getNamespaceCompletions(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
55-
namespaceNames, err := namespaceManager.GetNamespaces()
47+
namespaceNames, err := configManager.GetNamespacesForCurrentContext()
5648
if err != nil {
5749
return nil, cobra.ShellCompDirectiveNoFileComp
5850
}
59-
6051
return namespaceNames, cobra.ShellCompDirectiveNoFileComp
6152
}

cmd/root.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ package cmd
33
import (
44
"os"
55

6-
"github.com/mirceanton/kubectl-switch/v2/pkg/kubeconfig"
6+
"github.com/mirceanton/kubectl-switch/v2/internal/manager"
77
log "github.com/sirupsen/logrus"
88
"github.com/spf13/cobra"
99
)
1010

1111
var (
12-
configDir string // Global flag for the kubeconfig directory
13-
version string // The version of the tool, set at build time
14-
manager = kubeconfig.NewManager()
12+
configDir string
13+
version string
14+
configManager *manager.Manager
1515
)
1616

1717
var rootCmd = &cobra.Command{
@@ -22,15 +22,18 @@ var rootCmd = &cobra.Command{
2222
Short: "A tool to switch Kubernetes contexts",
2323
Long: `kubectl-switch is a CLI tool to switch Kubernetes contexts from multiple kubeconfig files.`,
2424
Version: version,
25+
PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
26+
var err error
27+
configManager, err = manager.NewManager(configDir)
28+
if err != nil {
29+
return err
30+
}
31+
return nil
32+
},
2533
RunE: func(cmd *cobra.Command, args []string) error {
26-
// Check if the "-" argument is provided to switch to the previous config
2734
if len(args) == 1 && args[0] == "-" {
28-
if err := manager.SwitchToPrevious(); err != nil {
29-
if err == kubeconfig.ErrNoPreviousConfig {
30-
log.Fatal("No previous configuration found")
31-
} else {
32-
log.Fatalf("Failed to switch to previous config: %v", err)
33-
}
35+
if err := configManager.Restore(); err != nil {
36+
log.Fatalf("Failed to switch to previous config: %v", err)
3437
}
3538
return nil
3639
}
@@ -39,8 +42,7 @@ var rootCmd = &cobra.Command{
3942
}
4043

4144
func Execute() {
42-
err := rootCmd.Execute()
43-
if err != nil {
45+
if err := rootCmd.Execute(); err != nil {
4446
os.Exit(1)
4547
}
4648
}

go.mod

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ require (
2323
github.com/go-openapi/swag v0.23.0 // indirect
2424
github.com/gogo/protobuf v1.3.2 // indirect
2525
github.com/google/gnostic-models v0.7.0 // indirect
26-
github.com/google/go-cmp v0.7.0 // indirect
2726
github.com/google/uuid v1.6.0 // indirect
2827
github.com/inconshreveable/mousetrap v1.1.0 // indirect
2928
github.com/josharian/intern v1.0.0 // indirect
@@ -57,7 +56,6 @@ require (
5756
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect
5857
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
5958
sigs.k8s.io/randfill v1.0.0 // indirect
60-
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
6159
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
6260
sigs.k8s.io/yaml v1.6.0 // indirect
6361
)

go.sum

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
1010
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
1111
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
1212
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
13-
github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
14-
github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
1513
github.com/emicklei/go-restful/v3 v3.12.2 h1:DhwDP0vY3k8ZzE0RunuJy8GhNpPL6zqLkDf9B/a0/xU=
1614
github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
17-
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
18-
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
1915
github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
2016
github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
2117
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
@@ -32,11 +28,8 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v
3228
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
3329
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
3430
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
35-
github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw=
36-
github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw=
3731
github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo=
3832
github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ=
39-
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
4033
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
4134
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
4235
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
@@ -78,7 +71,6 @@ github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyex
7871
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
7972
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
8073
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
81-
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
8274
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
8375
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
8476
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
@@ -97,16 +89,8 @@ github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWN
9789
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
9890
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
9991
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
100-
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
101-
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
102-
github.com/spf13/cobra v1.10.0 h1:a5/WeUlSDCvV5a45ljW2ZFtV0bTDpkfSAj3uqB6Sc+0=
103-
github.com/spf13/cobra v1.10.0/go.mod h1:9dhySC7dnTtEiqzmqfkLj47BslqLCUPMXjG2lj/NgoE=
10492
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
10593
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
106-
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
107-
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
108-
github.com/spf13/pflag v1.0.8 h1:/v546uKZ4gFGHpyXvV6CNKDeJBu4l5PRvxwQvdWrc0I=
109-
github.com/spf13/pflag v1.0.8/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
11094
github.com/spf13/pflag v1.0.9 h1:9exaQaMOCwffKiiiYk6/BndUBv+iRViNW+4lEMi0PvY=
11195
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
11296
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -200,64 +184,23 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
200184
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
201185
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
202186
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
203-
k8s.io/api v0.33.1 h1:tA6Cf3bHnLIrUK4IqEgb2v++/GYUtqiu9sRVk3iBXyw=
204-
k8s.io/api v0.33.1/go.mod h1:87esjTn9DRSRTD4fWMXamiXxJhpOIREjWOSjsW1kEHw=
205-
k8s.io/api v0.33.2 h1:YgwIS5jKfA+BZg//OQhkJNIfie/kmRsO0BmNaVSimvY=
206-
k8s.io/api v0.33.2/go.mod h1:fhrbphQJSM2cXzCWgqU29xLDuks4mu7ti9vveEnpSXs=
207-
k8s.io/api v0.33.3 h1:SRd5t//hhkI1buzxb288fy2xvjubstenEKL9K51KBI8=
208-
k8s.io/api v0.33.3/go.mod h1:01Y/iLUjNBM3TAvypct7DIj0M0NIZc+PzAHCIo0CYGE=
209-
k8s.io/api v0.33.4 h1:oTzrFVNPXBjMu0IlpA2eDDIU49jsuEorGHB4cvKupkk=
210-
k8s.io/api v0.33.4/go.mod h1:VHQZ4cuxQ9sCUMESJV5+Fe8bGnqAARZ08tSTdHWfeAc=
211-
k8s.io/api v0.34.0 h1:L+JtP2wDbEYPUeNGbeSa/5GwFtIA662EmT2YSLOkAVE=
212-
k8s.io/api v0.34.0/go.mod h1:YzgkIzOOlhl9uwWCZNqpw6RJy9L2FK4dlJeayUoydug=
213187
k8s.io/api v0.34.1 h1:jC+153630BMdlFukegoEL8E/yT7aLyQkIVuwhmwDgJM=
214188
k8s.io/api v0.34.1/go.mod h1:SB80FxFtXn5/gwzCoN6QCtPD7Vbu5w2n1S0J5gFfTYk=
215-
k8s.io/apimachinery v0.33.1 h1:mzqXWV8tW9Rw4VeW9rEkqvnxj59k1ezDUl20tFK/oM4=
216-
k8s.io/apimachinery v0.33.1/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
217-
k8s.io/apimachinery v0.33.2 h1:IHFVhqg59mb8PJWTLi8m1mAoepkUNYmptHsV+Z1m5jY=
218-
k8s.io/apimachinery v0.33.2/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
219-
k8s.io/apimachinery v0.33.3 h1:4ZSrmNa0c/ZpZJhAgRdcsFcZOw1PQU1bALVQ0B3I5LA=
220-
k8s.io/apimachinery v0.33.3/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
221-
k8s.io/apimachinery v0.33.4 h1:SOf/JW33TP0eppJMkIgQ+L6atlDiP/090oaX0y9pd9s=
222-
k8s.io/apimachinery v0.33.4/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
223-
k8s.io/apimachinery v0.34.0 h1:eR1WO5fo0HyoQZt1wdISpFDffnWOvFLOOeJ7MgIv4z0=
224-
k8s.io/apimachinery v0.34.0/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw=
225189
k8s.io/apimachinery v0.34.1 h1:dTlxFls/eikpJxmAC7MVE8oOeP1zryV7iRyIjB0gky4=
226190
k8s.io/apimachinery v0.34.1/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw=
227-
k8s.io/client-go v0.33.1 h1:ZZV/Ks2g92cyxWkRRnfUDsnhNn28eFpt26aGc8KbXF4=
228-
k8s.io/client-go v0.33.1/go.mod h1:JAsUrl1ArO7uRVFWfcj6kOomSlCv+JpvIsp6usAGefA=
229-
k8s.io/client-go v0.33.2 h1:z8CIcc0P581x/J1ZYf4CNzRKxRvQAwoAolYPbtQes+E=
230-
k8s.io/client-go v0.33.2/go.mod h1:9mCgT4wROvL948w6f6ArJNb7yQd7QsvqavDeZHvNmHo=
231-
k8s.io/client-go v0.33.3 h1:M5AfDnKfYmVJif92ngN532gFqakcGi6RvaOF16efrpA=
232-
k8s.io/client-go v0.33.3/go.mod h1:luqKBQggEf3shbxHY4uVENAxrDISLOarxpTKMiUuujg=
233-
k8s.io/client-go v0.33.4 h1:TNH+CSu8EmXfitntjUPwaKVPN0AYMbc9F1bBS8/ABpw=
234-
k8s.io/client-go v0.33.4/go.mod h1:LsA0+hBG2DPwovjd931L/AoaezMPX9CmBgyVyBZmbCY=
235-
k8s.io/client-go v0.34.0 h1:YoWv5r7bsBfb0Hs2jh8SOvFbKzzxyNo0nSb0zC19KZo=
236-
k8s.io/client-go v0.34.0/go.mod h1:ozgMnEKXkRjeMvBZdV1AijMHLTh3pbACPvK7zFR+QQY=
237191
k8s.io/client-go v0.34.1 h1:ZUPJKgXsnKwVwmKKdPfw4tB58+7/Ik3CrjOEhsiZ7mY=
238192
k8s.io/client-go v0.34.1/go.mod h1:kA8v0FP+tk6sZA0yKLRG67LWjqufAoSHA2xVGKw9Of8=
239193
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
240194
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
241-
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff h1:/usPimJzUKKu+m+TE36gUyGcf03XZEP0ZIKgKj35LS4=
242-
k8s.io/kube-openapi v0.0.0-20250318190949-c8a335a9a2ff/go.mod h1:5jIi+8yX4RIb8wk3XwBo5Pq2ccx4FP10ohkbSKCZoK8=
243195
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b h1:MloQ9/bdJyIu9lb1PzujOPolHyvO06MXG5TUIj2mNAA=
244196
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b/go.mod h1:UZ2yyWbFTpuhSbFhv24aGNOdoRdJZgsIObGBUaYVsts=
245-
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro=
246-
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
247197
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y=
248198
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
249-
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
250-
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo=
251199
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
252200
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
253-
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
254201
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
255202
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
256-
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc=
257-
sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
258203
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco=
259204
sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
260-
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
261-
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
262205
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
263206
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=

0 commit comments

Comments
 (0)