@@ -1377,6 +1377,35 @@ func (c *HeadlampConfig) addContextsToStore(contexts []kubeconfig.Context, setup
1377
1377
return setupErrors
1378
1378
}
1379
1379
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
+
1380
1409
// deleteCluster deletes the cluster from the store and updates the kubeconfig file.
1381
1410
func (c * HeadlampConfig ) deleteCluster (w http.ResponseWriter , r * http.Request ) {
1382
1411
if err := checkHeadlampBackendToken (w , r ); err != nil {
@@ -1418,29 +1447,10 @@ func (c *HeadlampConfig) deleteCluster(w http.ResponseWriter, r *http.Request) {
1418
1447
1419
1448
return
1420
1449
}
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
+ }
1444
1454
}
1445
1455
1446
1456
logger .Log (logger .LevelInfo , map [string ]string {"cluster" : name , "proxy" : name },
0 commit comments