monapi support grafana

This commit is contained in:
Ulric Qin 2020-05-28 18:42:42 +08:00
parent 0d2860dd8e
commit 3c1c43ae9c
4 changed files with 10 additions and 1 deletions

View File

@ -59,3 +59,7 @@ redis:
# conn: 500
# read: 3000
# write: 3000
tokens:
- 7dcd606e0462f9df2fea0bf505c9e622

View File

@ -19,6 +19,7 @@ type Config struct {
Cleaner cleanerSection `yaml:"cleaner"`
Link linkSection `yaml:"link"`
Notify map[string][]string `yaml:"notify"`
Tokens []string `yaml:"tokens"`
}
type linkSection struct {

View File

@ -5,10 +5,12 @@ import (
"strings"
"github.com/didi/nightingale/src/model"
"github.com/didi/nightingale/src/modules/monapi/config"
"github.com/gin-contrib/sessions"
"github.com/gin-gonic/gin"
"github.com/toolkits/pkg/errors"
"github.com/toolkits/pkg/slice"
)
func Logined() gin.HandlerFunc {
@ -74,7 +76,7 @@ const internalToken = "monapi-builtin-token"
func CheckHeaderToken() gin.HandlerFunc {
return func(c *gin.Context) {
token := c.GetHeader("x-srv-token")
if token != internalToken {
if token != internalToken && !slice.ContainsString(config.Get().Tokens, token) {
errors.Bomb("token[%s] invalid", token)
}
c.Next()

View File

@ -127,6 +127,8 @@ func Config(r *gin.Engine) {
v1 := r.Group("/v1/portal").Use(middleware.CheckHeaderToken())
{
v1.POST("/endpoint", endpointImport)
v1.GET("/tree", treeGet)
v1.GET("/endpoints/bynodeids", endpointByNodeIdsGets)
}
transferProxy := r.Group("/api/transfer")