Add locking favorite namespaces (#1449) (#1519)

* add locking favorite namespaces (#1449)

* let favorites be set via type default
mine
tyzbit 2022-05-19 11:15:40 -04:00 committed by GitHub
parent 838174a0cc
commit 25e02db101
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 4 deletions

View File

@ -326,6 +326,8 @@ K9s uses aliases to navigate most K8s resources.
coolio:
namespace:
active: coolio
# With this set, the favorites list won't be updated as you switch namespaces
lockFavorites: false
favorites:
- cassandra
- default

View File

@ -259,7 +259,7 @@ func (c *Config) Validate() {
func (c *Config) Dump(msg string) {
log.Debug().Msgf("Current Cluster: %s\n", c.K9s.CurrentCluster)
for k, cl := range c.K9s.Clusters {
log.Debug().Msgf("K9s cluster: %s -- %s\n", k, cl.Namespace)
log.Debug().Msgf("K9s cluster: %s -- %+v\n", k, cl.Namespace)
}
}

View File

@ -298,6 +298,7 @@ var expectedConfig = `k9s:
blee:
namespace:
active: default
lockFavorites: false
favorites:
- default
view:
@ -316,6 +317,7 @@ var expectedConfig = `k9s:
fred:
namespace:
active: default
lockFavorites: false
favorites:
- default
- kube-public
@ -338,6 +340,7 @@ var expectedConfig = `k9s:
minikube:
namespace:
active: kube-system
lockFavorites: false
favorites:
- default
- kube-public
@ -389,6 +392,7 @@ var resetConfig = `k9s:
blee:
namespace:
active: default
lockFavorites: false
favorites:
- default
view:

View File

@ -14,8 +14,9 @@ const (
// Namespace tracks active and favorites namespaces.
type Namespace struct {
Active string `yaml:"active"`
Favorites []string `yaml:"favorites"`
Active string `yaml:"active"`
LockFavorites bool `yaml:"lockFavorites"`
Favorites []string `yaml:"favorites"`
}
// NewNamespace create a new namespace configuration.
@ -48,7 +49,7 @@ func (n *Namespace) Validate(c client.Connection, ks KubeSettings) {
// SetActive set the active namespace.
func (n *Namespace) SetActive(ns string, ks KubeSettings) error {
n.Active = ns
if ns != "" {
if ns != "" && !n.LockFavorites {
n.addFavNS(ns)
}
return nil