fix popeye effective ns
parent
5c214ccda4
commit
f9d2db864e
4
go.mod
4
go.mod
|
|
@ -1,11 +1,11 @@
|
||||||
module github.com/derailed/k9s
|
module github.com/derailed/k9s
|
||||||
|
|
||||||
go 1.13
|
go 1.14
|
||||||
|
|
||||||
require (
|
require (
|
||||||
9fans.net/go v0.0.2
|
9fans.net/go v0.0.2
|
||||||
github.com/atotto/clipboard v0.1.2
|
github.com/atotto/clipboard v0.1.2
|
||||||
github.com/derailed/popeye v0.8.4
|
github.com/derailed/popeye v0.8.6
|
||||||
github.com/derailed/tview v0.3.10
|
github.com/derailed/tview v0.3.10
|
||||||
github.com/drone/envsubst v1.0.2 // indirect
|
github.com/drone/envsubst v1.0.2 // indirect
|
||||||
github.com/fatih/color v1.9.0
|
github.com/fatih/color v1.9.0
|
||||||
|
|
|
||||||
4
go.sum
4
go.sum
|
|
@ -146,6 +146,10 @@ github.com/derailed/popeye v0.8.3 h1:fsZ+EfFlOzgQCAeerJuajJmSrLZTNEGyLI4LfEdUHJ8
|
||||||
github.com/derailed/popeye v0.8.3/go.mod h1:i4ge2tKHDKXgUq3NzFlIhVIBNHS0zFDMJWXsC2bVe2A=
|
github.com/derailed/popeye v0.8.3/go.mod h1:i4ge2tKHDKXgUq3NzFlIhVIBNHS0zFDMJWXsC2bVe2A=
|
||||||
github.com/derailed/popeye v0.8.4 h1:cvsPYPbrLmFhKfhfH1NtzS46rWsrxRSgX4EhIKLnlGQ=
|
github.com/derailed/popeye v0.8.4 h1:cvsPYPbrLmFhKfhfH1NtzS46rWsrxRSgX4EhIKLnlGQ=
|
||||||
github.com/derailed/popeye v0.8.4/go.mod h1:+u3tvVxADQQ2o6iJjgAO8cnQFq/GIWEUPXEWa1N6l54=
|
github.com/derailed/popeye v0.8.4/go.mod h1:+u3tvVxADQQ2o6iJjgAO8cnQFq/GIWEUPXEWa1N6l54=
|
||||||
|
github.com/derailed/popeye v0.8.5 h1:uk60VlJDjTuaqAs0WcY85ihBfbrsF8mBzDsMo76knw4=
|
||||||
|
github.com/derailed/popeye v0.8.5/go.mod h1:+u3tvVxADQQ2o6iJjgAO8cnQFq/GIWEUPXEWa1N6l54=
|
||||||
|
github.com/derailed/popeye v0.8.6 h1:K56ENXB41XVZEQk8nhdEPD90BBfyYClw6akAfEMSOeU=
|
||||||
|
github.com/derailed/popeye v0.8.6/go.mod h1:+u3tvVxADQQ2o6iJjgAO8cnQFq/GIWEUPXEWa1N6l54=
|
||||||
github.com/derailed/tview v0.3.10 h1:n+iQwYh9Ff9STdR5hBhp+rTJRlu59q2xP2pHvwQbYPw=
|
github.com/derailed/tview v0.3.10 h1:n+iQwYh9Ff9STdR5hBhp+rTJRlu59q2xP2pHvwQbYPw=
|
||||||
github.com/derailed/tview v0.3.10/go.mod h1:GJ3k/TIzEE+sj1L09/usk6HrkjsdadSsb03eHgPbcII=
|
github.com/derailed/tview v0.3.10/go.mod h1:GJ3k/TIzEE+sj1L09/usk6HrkjsdadSsb03eHgPbcII=
|
||||||
github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ func (readWriteCloser) Close() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// List returns a collection of aliases.
|
// List returns a collection of aliases.
|
||||||
func (p *Popeye) List(ctx context.Context, _ string) ([]runtime.Object, error) {
|
func (p *Popeye) List(ctx context.Context, ns string) ([]runtime.Object, error) {
|
||||||
defer func(t time.Time) {
|
defer func(t time.Time) {
|
||||||
log.Debug().Msgf("Popeye -- Elapsed %v", time.Since(t))
|
log.Debug().Msgf("Popeye -- Elapsed %v", time.Since(t))
|
||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
|
|
@ -57,10 +57,13 @@ func (p *Popeye) List(ctx context.Context, _ string) ([]runtime.Object, error) {
|
||||||
|
|
||||||
flags, js := config.NewFlags(), "json"
|
flags, js := config.NewFlags(), "json"
|
||||||
flags.Output = &js
|
flags.Output = &js
|
||||||
|
flags.ActiveNamespace = &ns
|
||||||
|
|
||||||
if report, ok := ctx.Value(internal.KeyPath).(string); ok && report != "" {
|
if report, ok := ctx.Value(internal.KeyPath).(string); ok && report != "" {
|
||||||
sections := []string{report}
|
ns, n := client.Namespaced(report)
|
||||||
|
sections := []string{n}
|
||||||
flags.Sections = §ions
|
flags.Sections = §ions
|
||||||
|
flags.ActiveNamespace = &ns
|
||||||
}
|
}
|
||||||
spinach := filepath.Join(cfg.K9sHome(), "spinach.yml")
|
spinach := filepath.Join(cfg.K9sHome(), "spinach.yml")
|
||||||
if c, err := p.Factory.Client().Config().CurrentContextName(); err == nil {
|
if c, err := p.Factory.Client().Config().CurrentContextName(); err == nil {
|
||||||
|
|
|
||||||
|
|
@ -176,6 +176,7 @@ func loadK9s(m ResourceMetas) {
|
||||||
Name: "popeye",
|
Name: "popeye",
|
||||||
Kind: "Popeye",
|
Kind: "Popeye",
|
||||||
SingularName: "popeye",
|
SingularName: "popeye",
|
||||||
|
Namespaced: true,
|
||||||
Verbs: []string{},
|
Verbs: []string{},
|
||||||
Categories: []string{"k9s"},
|
Categories: []string{"k9s"},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -217,12 +217,9 @@ func (t *Tree) reconcile(ctx context.Context) error {
|
||||||
if err := genericTreeHydrate(ctx, ns, table, meta.TreeRenderer); err != nil {
|
if err := genericTreeHydrate(ctx, ns, table, meta.TreeRenderer); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else if err := treeHydrate(ctx, ns, oo, meta.TreeRenderer); err != nil {
|
||||||
if err := treeHydrate(ctx, ns, oo, meta.TreeRenderer); err != nil {
|
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
root.Sort()
|
root.Sort()
|
||||||
if t.query != "" {
|
if t.query != "" {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package render
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/derailed/k9s/internal/client"
|
||||||
"math"
|
"math"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
@ -55,7 +56,7 @@ func (Popeye) Render(o interface{}, ns string, r *Row) error {
|
||||||
return fmt.Errorf("expected Section, but got %T", o)
|
return fmt.Errorf("expected Section, but got %T", o)
|
||||||
}
|
}
|
||||||
|
|
||||||
r.ID = s.Title
|
r.ID = client.FQN(ns, s.Title)
|
||||||
r.Fields = append(r.Fields,
|
r.Fields = append(r.Fields,
|
||||||
s.Title,
|
s.Title,
|
||||||
strconv.Itoa(s.Tally.Score()),
|
strconv.Itoa(s.Tally.Score()),
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ func (p *Popeye) Init(ctx context.Context) error {
|
||||||
if err := p.ResourceViewer.Init(ctx); err != nil {
|
if err := p.ResourceViewer.Init(ctx); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
p.GetTable().GetModel().SetNamespace("*")
|
|
||||||
p.GetTable().GetModel().SetRefreshRate(5 * time.Second)
|
p.GetTable().GetModel().SetRefreshRate(5 * time.Second)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
@ -66,7 +65,7 @@ func (p *Popeye) decorateRows(data render.TableData) render.TableData {
|
||||||
func (p *Popeye) bindKeys(aa ui.KeyActions) {
|
func (p *Popeye) bindKeys(aa ui.KeyActions) {
|
||||||
aa.Delete(ui.KeyShiftA, ui.KeyShiftN, tcell.KeyCtrlS, tcell.KeyCtrlSpace, ui.KeySpace)
|
aa.Delete(ui.KeyShiftA, ui.KeyShiftN, tcell.KeyCtrlS, tcell.KeyCtrlSpace, ui.KeySpace)
|
||||||
aa.Add(ui.KeyActions{
|
aa.Add(ui.KeyActions{
|
||||||
tcell.KeyEnter: ui.NewKeyAction("Goto", p.describeCmd, true),
|
tcell.KeyEnter: ui.NewKeyAction("Goto", p.gotoCmd, true),
|
||||||
ui.KeyShiftR: ui.NewKeyAction("Sort Resource", p.GetTable().SortColCmd("RESOURCE", true), false),
|
ui.KeyShiftR: ui.NewKeyAction("Sort Resource", p.GetTable().SortColCmd("RESOURCE", true), false),
|
||||||
ui.KeyShiftS: ui.NewKeyAction("Sort Score", p.GetTable().SortColCmd("SCORE%", true), false),
|
ui.KeyShiftS: ui.NewKeyAction("Sort Score", p.GetTable().SortColCmd("SCORE%", true), false),
|
||||||
ui.KeyShiftO: ui.NewKeyAction("Sort OK", p.GetTable().SortColCmd("OK", true), false),
|
ui.KeyShiftO: ui.NewKeyAction("Sort OK", p.GetTable().SortColCmd("OK", true), false),
|
||||||
|
|
@ -76,15 +75,13 @@ func (p *Popeye) bindKeys(aa ui.KeyActions) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Popeye) describeCmd(evt *tcell.EventKey) *tcell.EventKey {
|
func (p *Popeye) gotoCmd(evt *tcell.EventKey) *tcell.EventKey {
|
||||||
path := p.GetTable().GetSelectedItem()
|
path := p.GetTable().GetSelectedItem()
|
||||||
if path == "" {
|
if path == "" {
|
||||||
return evt
|
return evt
|
||||||
}
|
}
|
||||||
|
|
||||||
v := NewSanitizer(client.NewGVR("sanitizer"))
|
v := NewSanitizer(client.NewGVR("sanitizer"))
|
||||||
v.SetContextFn(sanitizerCtx(path))
|
v.SetContextFn(sanitizerCtx(path))
|
||||||
|
|
||||||
if err := p.App().inject(v); err != nil {
|
if err := p.App().inject(v); err != nil {
|
||||||
p.App().Flash().Err(err)
|
p.App().Flash().Err(err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue