7
7
"path"
8
8
"reflect"
9
9
10
+ "github.com/ghodss/yaml"
11
+ api "github.com/kubernetes-client/go-base/config/api"
10
12
"github.com/scaleway/scaleway-cli/internal/core"
11
13
k8s "github.com/scaleway/scaleway-sdk-go/api/k8s/v1"
12
14
"github.com/scaleway/scaleway-sdk-go/scw"
@@ -74,7 +76,13 @@ func k8sKubeconfigInstallRun(ctx context.Context, argsI interface{}) (i interfac
74
76
apiK8s := k8s .NewAPI (client )
75
77
76
78
// 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 )
78
86
if err != nil {
79
87
return nil , err
80
88
}
@@ -115,7 +123,7 @@ func k8sKubeconfigInstallRun(ctx context.Context, argsI interface{}) (i interfac
115
123
}
116
124
}
117
125
if ! clusterFoundInExistingKubeconfig {
118
- existingKubeconfig .Clusters = append (existingKubeconfig .Clusters , & k8s. KubeconfigClusterWithName {
126
+ existingKubeconfig .Clusters = append (existingKubeconfig .Clusters , api. NamedCluster {
119
127
Name : kubeconfig .Clusters [0 ].Name + "-" + request .ClusterID ,
120
128
Cluster : kubeconfig .Clusters [0 ].Cluster ,
121
129
})
@@ -126,36 +134,38 @@ func k8sKubeconfigInstallRun(ctx context.Context, argsI interface{}) (i interfac
126
134
for _ , kubeconfigContext := range existingKubeconfig .Contexts {
127
135
if kubeconfigContext .Name == kubeconfig .Contexts [0 ].Name + "-" + request .ClusterID {
128
136
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 ,
132
140
}
133
141
break
134
142
}
135
143
}
136
144
if ! contextFoundInExistingKubeconfig {
137
- existingKubeconfig .Contexts = append (existingKubeconfig .Contexts , & k8s. KubeconfigContextWithName {
145
+ existingKubeconfig .Contexts = append (existingKubeconfig .Contexts , api. NamedContext {
138
146
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 ,
142
150
},
143
151
})
144
152
}
145
153
146
154
// loop through all users and insert the wanted one if it does not exist
147
155
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 {
150
158
userFoundInExistingKubeconfig = true
151
- user .User = kubeconfig .Users [0 ].User
159
+ user .AuthInfo . Username = kubeconfig .AuthInfos [0 ].AuthInfo . Username
152
160
break
153
161
}
154
162
}
155
163
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
+ },
159
169
})
160
170
}
161
171
0 commit comments