This commit is contained in:
admju
2024-09-03 11:46:45 +00:00
parent 9cf954776f
commit 26404e5892
5 changed files with 65 additions and 66 deletions

View File

@@ -21,23 +21,23 @@ type kubeConfig struct {
}
type kubeConfigContexts struct {
Name string `json:"name"`
Context kubeConfigContext `json:"context"`
Name string `json:"name"`
Context kubeConfigContext `json:"context"`
}
type kubeConfigContext struct {
Cluster string `json:"cluster"`
User string `json:"user"`
Namespace string `json:"namespace"`
Cluster string `json:"cluster"`
User string `json:"user"`
Namespace string `json:"namespace"`
}
type kubeConfigCluster struct {
Server string `json:"server"`
Server string `json:"server"`
}
type kubeConfigClusters struct {
Name string `json:"name"`
Cluster kubeConfigCluster `json:"cluster"`
Name string `json:"name"`
Cluster kubeConfigCluster `json:"cluster"`
}
func (this KubeContext) GetCurrentContext() (string, error) {
@@ -72,37 +72,37 @@ func (this KubeContext) GetContext() (string, string, string, error) {
}
}
currentServer := ""
for _, v := range objmap.Clusters {
if v.Name == currentCluster {
currentServer = v.Cluster.Server
}
}
currentServer := ""
for _, v := range objmap.Clusters {
if v.Name == currentCluster {
currentServer = v.Cluster.Server
}
}
return currentContext, currentNamespace, currentServer, nil
}
func (this KubeContext) UseContext(newContext string) (error) {
cmd := exec.Command(this.Bin, "config", "use-context", newContext)
stdout, err := cmd.CombinedOutput()
cmd := exec.Command(this.Bin, "config", "use-context", newContext)
stdout, err := cmd.CombinedOutput()
if err != nil {
if err != nil {
log.Log().Debug().Msg(string(stdout))
return errors.New(string(stdout))
}
return errors.New(string(stdout))
}
return nil
return nil
}
func (this KubeContext) Check() (error) {
cmd := exec.Command(this.Bin, "cluster-info")
stdout, err := cmd.CombinedOutput()
cmd := exec.Command(this.Bin, "cluster-info")
stdout, err := cmd.CombinedOutput()
if err != nil {
log.Log().Debug().Msg(string(stdout))
return errors.New("Kube non disponible")
}
return nil
return nil
}