@@ -21,12 +21,6 @@ const tpl = `
21
21
<head>
22
22
<meta charset="UTF-8">
23
23
<title>Cortex Ring Status</title>
24
- <script>
25
- function showIngesterTokens() {
26
- document.getElementById('ingesterTokens').style.display = "block";
27
- document.getElementById('showTokensButton').style.display = "none";
28
- }
29
- </script>
30
24
</head>
31
25
<body>
32
26
<h1>Cortex Ring Status</h1>
@@ -64,10 +58,12 @@ const tpl = `
64
58
</tbody>
65
59
</table>
66
60
<br>
67
- <input id="showTokensButton" type="button" name="showTokens" style="display:block" value="Show Ingester Tokens" onclick="showIngesterTokens()" />
68
- <div id="ingesterTokens" style="display:none;">
61
+ {{ if .ShowTokens }}
62
+ <input type="button" value="Hide Ingester Tokens" onclick="window.location.href = '/ring'" />
63
+ {{ else }}
64
+ <input type="button" value="Show Ingester Tokens" onclick="window.location.href = '/ring?tokens=true'" />
65
+ {{ end }}
69
66
<pre>{{ .Ring }}</pre>
70
- </div>
71
67
</form>
72
68
</body>
73
69
</html>`
@@ -139,14 +135,23 @@ func (r *Ring) ServeHTTP(w http.ResponseWriter, req *http.Request) {
139
135
})
140
136
}
141
137
138
+ tokensParam := req .URL .Query ().Get ("tokens" )
139
+ var ringDescString string
140
+ showTokens := false
141
+ if tokensParam == "true" {
142
+ ringDescString = proto .MarshalTextString (r .ringDesc )
143
+ showTokens = true
144
+ }
142
145
if err := tmpl .Execute (w , struct {
143
- Ingesters []interface {}
144
- Now time.Time
145
- Ring string
146
+ Ingesters []interface {}
147
+ Now time.Time
148
+ Ring string
149
+ ShowTokens bool
146
150
}{
147
- Ingesters : ingesters ,
148
- Now : time .Now (),
149
- Ring : proto .MarshalTextString (r .ringDesc ),
151
+ Ingesters : ingesters ,
152
+ Now : time .Now (),
153
+ Ring : ringDescString ,
154
+ ShowTokens : showTokens ,
150
155
}); err != nil {
151
156
http .Error (w , err .Error (), http .StatusInternalServerError )
152
157
return
0 commit comments