diff --git a/internal/kubeconfig/contexts.go b/internal/kubeconfig/contexts.go index cfda375..b374d18 100644 --- a/internal/kubeconfig/contexts.go +++ b/internal/kubeconfig/contexts.go @@ -33,7 +33,11 @@ func (k *Kubeconfig) contextsNode() (*yaml.RNode, error) { } func (k *Kubeconfig) contextNode(name string) (*yaml.RNode, error) { - context, err := k.config.Pipe(yaml.Lookup("contexts", "[name="+name+"]")) + contexts, err := k.contextsNode() + if err != nil { + return nil, err + } + context, err := contexts.Pipe(yaml.Lookup("[name=" + name + "]")) if err != nil { return nil, err } diff --git a/internal/kubeconfig/currentcontext.go b/internal/kubeconfig/currentcontext.go index aa89b3b..43ff9cc 100644 --- a/internal/kubeconfig/currentcontext.go +++ b/internal/kubeconfig/currentcontext.go @@ -15,8 +15,6 @@ package kubeconfig import ( - "strings" - "sigs.k8s.io/kustomize/kyaml/yaml" ) @@ -27,11 +25,7 @@ func (k *Kubeconfig) GetCurrentContext() string { if err != nil { return "" } - str, err := v.String() - if err != nil { - return "" - } - return strings.TrimSpace(str) + return yaml.GetValue(v) } func (k *Kubeconfig) UnsetCurrentContext() error { diff --git a/internal/kubeconfig/namespace.go b/internal/kubeconfig/namespace.go index 9ce2de9..15255d8 100644 --- a/internal/kubeconfig/namespace.go +++ b/internal/kubeconfig/namespace.go @@ -15,8 +15,6 @@ package kubeconfig import ( - "strings" - "sigs.k8s.io/kustomize/kyaml/yaml" ) @@ -33,11 +31,7 @@ func (k *Kubeconfig) NamespaceOfContext(contextName string) (string, error) { if namespace == nil || err != nil { return defaultNamespace, err } - nsStr, err := namespace.String() - if nsStr == "" || err != nil { - return defaultNamespace, err - } - return strings.TrimSpace(nsStr), nil + return yaml.GetValue(namespace), nil } func (k *Kubeconfig) SetNamespace(ctxName string, ns string) error {