Skip to content

Commit dc7cf04

Browse files
committed
backend: headlamp.go: Make delete cluster shorter
Signed-off-by: Vincent T <[email protected]>
1 parent a8e45bb commit dc7cf04

File tree

1 file changed

+33
-23
lines changed

1 file changed

+33
-23
lines changed

backend/cmd/headlamp.go

+33-23
Original file line numberDiff line numberDiff line change
@@ -1377,6 +1377,35 @@ func (c *HeadlampConfig) addContextsToStore(contexts []kubeconfig.Context, setup
13771377
return setupErrors
13781378
}
13791379

1380+
// removeContextFromFile removes the context from the kubeconfig file.
1381+
func removeContextFromFile(w http.ResponseWriter, contextName string) error {
1382+
kubeConfigPersistenceFile, err := defaultKubeConfigPersistenceFile()
1383+
if err != nil {
1384+
logger.Log(logger.LevelError, map[string]string{"cluster": contextName},
1385+
err, "getting default kubeconfig persistence file")
1386+
http.Error(w, "getting default kubeconfig persistence file", http.StatusInternalServerError)
1387+
1388+
return err
1389+
}
1390+
1391+
logger.Log(logger.LevelInfo, map[string]string{
1392+
"cluster": contextName,
1393+
"kubeConfigPersistenceFile": kubeConfigPersistenceFile,
1394+
},
1395+
nil, "Removing cluster from kubeconfig")
1396+
1397+
err = kubeconfig.RemoveContextFromFile(contextName, kubeConfigPersistenceFile)
1398+
if err != nil {
1399+
logger.Log(logger.LevelError, map[string]string{"cluster": contextName},
1400+
err, "removing cluster from kubeconfig")
1401+
http.Error(w, "removing cluster from kubeconfig", http.StatusInternalServerError)
1402+
1403+
return err
1404+
}
1405+
1406+
return nil
1407+
}
1408+
13801409
// deleteCluster deletes the cluster from the store and updates the kubeconfig file.
13811410
func (c *HeadlampConfig) deleteCluster(w http.ResponseWriter, r *http.Request) {
13821411
if err := checkHeadlampBackendToken(w, r); err != nil {
@@ -1418,29 +1447,10 @@ func (c *HeadlampConfig) deleteCluster(w http.ResponseWriter, r *http.Request) {
14181447

14191448
return
14201449
}
1421-
}
1422-
1423-
kubeConfigPersistenceFile, err := defaultKubeConfigPersistenceFile()
1424-
if err != nil {
1425-
logger.Log(logger.LevelError, map[string]string{"cluster": name},
1426-
err, "getting default kubeconfig persistence file")
1427-
http.Error(w, "getting default kubeconfig persistence file", http.StatusInternalServerError)
1428-
1429-
return
1430-
}
1431-
1432-
logger.Log(logger.LevelInfo, map[string]string{
1433-
"cluster": name,
1434-
"kubeConfigPersistenceFile": kubeConfigPersistenceFile,
1435-
}, nil, "Removing cluster from kubeconfig")
1436-
1437-
err = kubeconfig.RemoveContextFromFile(name, kubeConfigPersistenceFile)
1438-
if err != nil {
1439-
logger.Log(logger.LevelError, map[string]string{"cluster": name},
1440-
err, "removing cluster from kubeconfig")
1441-
http.Error(w, "removing cluster from kubeconfig", http.StatusInternalServerError)
1442-
1443-
return
1450+
} else {
1451+
if err := removeContextFromFile(w, name); err != nil {
1452+
return
1453+
}
14441454
}
14451455

14461456
logger.Log(logger.LevelInfo, map[string]string{"cluster": name, "proxy": name},

0 commit comments

Comments
 (0)