* add locking favorite namespaces (#1449) * let favorites be set via type defaultmine
parent
838174a0cc
commit
25e02db101
|
|
@ -326,6 +326,8 @@ K9s uses aliases to navigate most K8s resources.
|
||||||
coolio:
|
coolio:
|
||||||
namespace:
|
namespace:
|
||||||
active: coolio
|
active: coolio
|
||||||
|
# With this set, the favorites list won't be updated as you switch namespaces
|
||||||
|
lockFavorites: false
|
||||||
favorites:
|
favorites:
|
||||||
- cassandra
|
- cassandra
|
||||||
- default
|
- default
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,7 @@ func (c *Config) Validate() {
|
||||||
func (c *Config) Dump(msg string) {
|
func (c *Config) Dump(msg string) {
|
||||||
log.Debug().Msgf("Current Cluster: %s\n", c.K9s.CurrentCluster)
|
log.Debug().Msgf("Current Cluster: %s\n", c.K9s.CurrentCluster)
|
||||||
for k, cl := range c.K9s.Clusters {
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -298,6 +298,7 @@ var expectedConfig = `k9s:
|
||||||
blee:
|
blee:
|
||||||
namespace:
|
namespace:
|
||||||
active: default
|
active: default
|
||||||
|
lockFavorites: false
|
||||||
favorites:
|
favorites:
|
||||||
- default
|
- default
|
||||||
view:
|
view:
|
||||||
|
|
@ -316,6 +317,7 @@ var expectedConfig = `k9s:
|
||||||
fred:
|
fred:
|
||||||
namespace:
|
namespace:
|
||||||
active: default
|
active: default
|
||||||
|
lockFavorites: false
|
||||||
favorites:
|
favorites:
|
||||||
- default
|
- default
|
||||||
- kube-public
|
- kube-public
|
||||||
|
|
@ -338,6 +340,7 @@ var expectedConfig = `k9s:
|
||||||
minikube:
|
minikube:
|
||||||
namespace:
|
namespace:
|
||||||
active: kube-system
|
active: kube-system
|
||||||
|
lockFavorites: false
|
||||||
favorites:
|
favorites:
|
||||||
- default
|
- default
|
||||||
- kube-public
|
- kube-public
|
||||||
|
|
@ -389,6 +392,7 @@ var resetConfig = `k9s:
|
||||||
blee:
|
blee:
|
||||||
namespace:
|
namespace:
|
||||||
active: default
|
active: default
|
||||||
|
lockFavorites: false
|
||||||
favorites:
|
favorites:
|
||||||
- default
|
- default
|
||||||
view:
|
view:
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,9 @@ const (
|
||||||
|
|
||||||
// Namespace tracks active and favorites namespaces.
|
// Namespace tracks active and favorites namespaces.
|
||||||
type Namespace struct {
|
type Namespace struct {
|
||||||
Active string `yaml:"active"`
|
Active string `yaml:"active"`
|
||||||
Favorites []string `yaml:"favorites"`
|
LockFavorites bool `yaml:"lockFavorites"`
|
||||||
|
Favorites []string `yaml:"favorites"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewNamespace create a new namespace configuration.
|
// NewNamespace create a new namespace configuration.
|
||||||
|
|
@ -48,7 +49,7 @@ func (n *Namespace) Validate(c client.Connection, ks KubeSettings) {
|
||||||
// SetActive set the active namespace.
|
// SetActive set the active namespace.
|
||||||
func (n *Namespace) SetActive(ns string, ks KubeSettings) error {
|
func (n *Namespace) SetActive(ns string, ks KubeSettings) error {
|
||||||
n.Active = ns
|
n.Active = ns
|
||||||
if ns != "" {
|
if ns != "" && !n.LockFavorites {
|
||||||
n.addFavNS(ns)
|
n.addFavNS(ns)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue