77 "path"
88 "reflect"
99
10+ "github.com/ghodss/yaml"
11+ api "github.com/kubernetes-client/go-base/config/api"
1012 "github.com/scaleway/scaleway-cli/internal/core"
1113 k8s "github.com/scaleway/scaleway-sdk-go/api/k8s/v1"
1214 "github.com/scaleway/scaleway-sdk-go/scw"
@@ -74,7 +76,13 @@ func k8sKubeconfigInstallRun(ctx context.Context, argsI interface{}) (i interfac
7476 apiK8s := k8s .NewAPI (client )
7577
7678 // get the wanted kubeconfig
77- kubeconfig , err := apiK8s .GetClusterKubeConfig (kubeconfigRequest )
79+ apiKubeconfig , err := apiK8s .GetClusterKubeConfig (kubeconfigRequest )
80+ if err != nil {
81+ return nil , err
82+ }
83+ var kubeconfig api.Config
84+
85+ err = yaml .Unmarshal (apiKubeconfig .GetRaw (), & kubeconfig )
7886 if err != nil {
7987 return nil , err
8088 }
@@ -115,7 +123,7 @@ func k8sKubeconfigInstallRun(ctx context.Context, argsI interface{}) (i interfac
115123 }
116124 }
117125 if ! clusterFoundInExistingKubeconfig {
118- existingKubeconfig .Clusters = append (existingKubeconfig .Clusters , & k8s. KubeconfigClusterWithName {
126+ existingKubeconfig .Clusters = append (existingKubeconfig .Clusters , api. NamedCluster {
119127 Name : kubeconfig .Clusters [0 ].Name + "-" + request .ClusterID ,
120128 Cluster : kubeconfig .Clusters [0 ].Cluster ,
121129 })
@@ -126,36 +134,38 @@ func k8sKubeconfigInstallRun(ctx context.Context, argsI interface{}) (i interfac
126134 for _ , kubeconfigContext := range existingKubeconfig .Contexts {
127135 if kubeconfigContext .Name == kubeconfig .Contexts [0 ].Name + "-" + request .ClusterID {
128136 contextFoundInExistingKubeconfig = true
129- kubeconfigContext .Context = k8s. KubeconfigContext {
130- Cluster : kubeconfig .Clusters [0 ].Name + "-" + request .ClusterID ,
131- User : kubeconfig .Users [0 ].Name + "-" + request . ClusterID ,
137+ kubeconfigContext .Context = api. Context {
138+ Cluster : kubeconfig .Clusters [0 ].Name + "-" + request .ClusterID ,
139+ AuthInfo : kubeconfig .AuthInfos [0 ].Name ,
132140 }
133141 break
134142 }
135143 }
136144 if ! contextFoundInExistingKubeconfig {
137- existingKubeconfig .Contexts = append (existingKubeconfig .Contexts , & k8s. KubeconfigContextWithName {
145+ existingKubeconfig .Contexts = append (existingKubeconfig .Contexts , api. NamedContext {
138146 Name : kubeconfig .Contexts [0 ].Name + "-" + request .ClusterID ,
139- Context : k8s. KubeconfigContext {
140- Cluster : kubeconfig .Clusters [0 ].Name + "-" + request .ClusterID ,
141- User : kubeconfig .Users [0 ].Name + "-" + request .ClusterID ,
147+ Context : api. Context {
148+ Cluster : kubeconfig .Clusters [0 ].Name + "-" + request .ClusterID ,
149+ AuthInfo : kubeconfig .AuthInfos [0 ].Name + "-" + request .ClusterID ,
142150 },
143151 })
144152 }
145153
146154 // loop through all users and insert the wanted one if it does not exist
147155 userFoundInExistingKubeconfig := false
148- for _ , user := range existingKubeconfig .Users {
149- if user .Name == kubeconfig .Users [0 ].Name + "-" + request .ClusterID {
156+ for _ , user := range existingKubeconfig .AuthInfos {
157+ if user .Name == kubeconfig .AuthInfos [0 ].Name + "-" + request .ClusterID {
150158 userFoundInExistingKubeconfig = true
151- user .User = kubeconfig .Users [0 ].User
159+ user .AuthInfo . Username = kubeconfig .AuthInfos [0 ].AuthInfo . Username
152160 break
153161 }
154162 }
155163 if ! userFoundInExistingKubeconfig {
156- existingKubeconfig .Users = append (existingKubeconfig .Users , & k8s.KubeconfigUserWithName {
157- Name : kubeconfig .Users [0 ].Name + "-" + request .ClusterID ,
158- User : kubeconfig .Users [0 ].User ,
164+ existingKubeconfig .AuthInfos = append (existingKubeconfig .AuthInfos , api.NamedAuthInfo {
165+ Name : kubeconfig .AuthInfos [0 ].Name + "-" + request .ClusterID ,
166+ AuthInfo : api.AuthInfo {
167+ Username : kubeconfig .AuthInfos [0 ].AuthInfo .Username ,
168+ },
159169 })
160170 }
161171
0 commit comments