Skip to content

Commit 35ea650

Browse files
committed
add namespace bar selector for unified perspective
1 parent cd69ed8 commit 35ea650

File tree

9 files changed

+1079
-54
lines changed

9 files changed

+1079
-54
lines changed

pkg/server/routes.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ func setupRoutes(ctx context.Context, cfg *config.Config, authChecker auth.Check
2222
r := mux.NewRouter()
2323
h := handler.Handlers{Cfg: cfg, PromInventory: promInventory}
2424

25+
// Role
26+
r.PathPrefix("/").Subrouter().HandleFunc("/role", getRole(authChecker))
27+
28+
// API role checks
2529
api := r.PathPrefix("/api").Subrouter()
2630
api.Use(func(orig http.Handler) http.Handler {
2731
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
@@ -62,6 +66,19 @@ func setupRoutes(ctx context.Context, cfg *config.Config, authChecker auth.Check
6266
return r
6367
}
6468

69+
func getRole(authChecker auth.Checker) func(http.ResponseWriter, *http.Request) {
70+
return func(w http.ResponseWriter, r *http.Request) {
71+
role := "dev"
72+
if err := authChecker.CheckAdmin(context.TODO(), r.Header); err == nil {
73+
role = "admin"
74+
}
75+
_, err := w.Write([]byte(role))
76+
if err != nil {
77+
logrus.Errorf("Error: %v", err)
78+
}
79+
}
80+
}
81+
6582
func forceCheckAdmin(authChecker auth.Checker, handle func(http.ResponseWriter, *http.Request)) func(http.ResponseWriter, *http.Request) {
6683
return func(w http.ResponseWriter, r *http.Request) {
6784
if err := authChecker.CheckAdmin(context.TODO(), r.Header); err != nil {

0 commit comments

Comments
 (0)