Stop hiding kubernetes topologies in the backend.

This commit is contained in:
Tom Wilkie
2016-03-23 12:43:47 +00:00
parent ae4eb5c60e
commit 4f6066f0ff
3 changed files with 28 additions and 34 deletions

View File

@@ -18,28 +18,6 @@ var (
topologyRegistry = &registry{
items: map[string]APITopologyDesc{},
}
kubernetesTopologies = []APITopologyDesc{
{
id: "pods",
renderer: render.PodRenderer,
Name: "Pods",
Rank: 3,
Options: map[string][]APITopologyOption{"system": {
{"show", "System pods shown", false, render.FilterNoop},
{"hide", "System pods hidden", true, render.FilterSystem},
}},
},
{
id: "pods-by-service",
parent: "pods",
renderer: render.PodServiceRenderer,
Name: "by service",
Options: map[string][]APITopologyOption{"system": {
{"show", "System services shown", false, render.FilterNoop},
{"hide", "System services hidden", true, render.FilterSystem},
}},
},
}
)
func init() {
@@ -106,6 +84,28 @@ func init() {
Rank: 4,
Options: map[string][]APITopologyOption{},
},
APITopologyDesc{
id: "pods",
renderer: render.PodRenderer,
Name: "Pods",
Rank: 3,
HideIfEmpty: true,
Options: map[string][]APITopologyOption{"system": {
{"show", "System pods shown", false, render.FilterNoop},
{"hide", "System pods hidden", true, render.FilterSystem},
}},
},
APITopologyDesc{
id: "pods-by-service",
parent: "pods",
renderer: render.PodServiceRenderer,
Name: "by service",
HideIfEmpty: true,
Options: map[string][]APITopologyOption{"system": {
{"show", "System services shown", false, render.FilterNoop},
{"hide", "System services hidden", true, render.FilterSystem},
}},
},
)
}
@@ -121,9 +121,10 @@ type APITopologyDesc struct {
parent string
renderer render.Renderer
Name string `json:"name"`
Rank int `json:"rank"`
Options map[string][]APITopologyOption `json:"options"`
Name string `json:"name"`
Rank int `json:"rank"`
HideIfEmpty bool `json:"hide_if_empty"`
Options map[string][]APITopologyOption `json:"options"`
URL string `json:"url"`
SubTopologies []APITopologyDesc `json:"sub_topologies,omitempty"`
@@ -241,10 +242,6 @@ func decorateWithStats(rpt report.Report, renderer render.Renderer) topologyStat
}
}
func (r *registry) enableKubernetesTopologies() {
r.add(kubernetesTopologies...)
}
func renderedForRequest(r *http.Request, topology APITopologyDesc) render.Renderer {
renderer := topology.renderer
for param, opts := range topology.Options {

View File

@@ -27,7 +27,7 @@ func TestAPITopology(t *testing.T) {
if err := decoder.Decode(&topologies); err != nil {
t.Fatalf("JSON parse error: %s", err)
}
equals(t, 3, len(topologies))
equals(t, 4, len(topologies))
for _, topology := range topologies {
is200(t, ts, topology.URL)
@@ -65,7 +65,7 @@ func TestAPITopologyAddsKubernetes(t *testing.T) {
if err := decoder.Decode(&topologies); err != nil {
t.Fatalf("JSON parse error: %s", err)
}
equals(t, 3, len(topologies))
equals(t, 4, len(topologies))
// Enable the kubernetes topologies
rpt := report.MakeReport()

View File

@@ -157,9 +157,6 @@ func RegisterReportPostHandler(a Adder, router *mux.Router) {
return
}
a.Add(ctx, rpt)
if len(rpt.Pod.Nodes) > 0 {
topologyRegistry.enableKubernetesTopologies()
}
w.WriteHeader(http.StatusOK)
}))
}