From 72acf77a1b0dcf88a573fe2e5b31dee569577bf5 Mon Sep 17 00:00:00 2001 From: Alexander Date: Tue, 15 Apr 2025 10:46:18 +0200 Subject: [PATCH] feat(assist-api): removed jwt auth and added assistKey support --- backend/pkg/server/api/middleware.go | 2 +- ee/backend/cmd/assist-api/main.go | 6 +++++- ee/backend/pkg/assist/api/handlers.go | 4 ++-- ee/backend/pkg/assist/builder.go | 3 --- .../openreplay/charts/assist-api/templates/deployment.yaml | 2 ++ 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/backend/pkg/server/api/middleware.go b/backend/pkg/server/api/middleware.go index 423e7e0d9..aad305393 100644 --- a/backend/pkg/server/api/middleware.go +++ b/backend/pkg/server/api/middleware.go @@ -13,7 +13,7 @@ func (e *routerImpl) health(w http.ResponseWriter, r *http.Request) { func (e *routerImpl) healthMiddleware(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if r.URL.Path == "/" { + if r.URL.Path == "/" || r.URL.Path == "/health" { w.WriteHeader(http.StatusOK) return } diff --git a/ee/backend/cmd/assist-api/main.go b/ee/backend/cmd/assist-api/main.go index c8c104c2a..77ce142f2 100644 --- a/ee/backend/cmd/assist-api/main.go +++ b/ee/backend/cmd/assist-api/main.go @@ -24,6 +24,10 @@ func main() { dbMetric := databaseMetrics.New("assist") metrics.New(log, append(webMetrics.List(), dbMetric.List()...)) + if cfg.AssistKey == "" { + log.Fatal(ctx, "assist key is not set") + } + pgConn, err := pool.New(dbMetric, cfg.Postgres.String()) if err != nil { log.Fatal(ctx, "can't init postgres connection: %s", err) @@ -47,7 +51,7 @@ func main() { log.Fatal(ctx, "failed while creating router: %s", err) } router.AddHandlers(prefix, builder.AssistAPI) - router.AddMiddlewares(builder.Auth.Middleware, builder.RateLimiter.Middleware, builder.AuditTrail.Middleware) + router.AddMiddlewares(builder.RateLimiter.Middleware, builder.AuditTrail.Middleware) server.Run(ctx, log, &cfg.HTTP, router) } diff --git a/ee/backend/pkg/assist/api/handlers.go b/ee/backend/pkg/assist/api/handlers.go index e8eafe725..945562441 100644 --- a/ee/backend/pkg/assist/api/handlers.go +++ b/ee/backend/pkg/assist/api/handlers.go @@ -34,9 +34,9 @@ func NewHandlers(log logger.Logger, cfg *assistAPI.Config, responser *api.Respon } func (e *handlersImpl) GetAll() []*api.Description { - keyPrefix := "" + keyPrefix := "/assist" if e.cfg.AssistKey != "" { - keyPrefix = fmt.Sprintf("/%s", e.cfg.AssistKey) + keyPrefix = fmt.Sprintf("/assist/%s", e.cfg.AssistKey) } return []*api.Description{ {keyPrefix + "/sockets-list/{projectKey}/autocomplete", e.autocomplete, "GET"}, // event search with live=true diff --git a/ee/backend/pkg/assist/builder.go b/ee/backend/pkg/assist/builder.go index fb1cf3410..3165fee79 100644 --- a/ee/backend/pkg/assist/builder.go +++ b/ee/backend/pkg/assist/builder.go @@ -14,13 +14,11 @@ import ( "openreplay/backend/pkg/metrics/database" "openreplay/backend/pkg/metrics/web" "openreplay/backend/pkg/server/api" - "openreplay/backend/pkg/server/auth" "openreplay/backend/pkg/server/limiter" "openreplay/backend/pkg/server/tracer" ) type ServicesBuilder struct { - Auth auth.Auth RateLimiter *limiter.UserRateLimiter AuditTrail tracer.Tracer AssistAPI api.Handlers @@ -44,7 +42,6 @@ func NewServiceBuilder(log logger.Logger, cfg *assist.Config, webMetrics web.Web return nil, err } return &ServicesBuilder{ - Auth: auth.NewAuth(log, cfg.JWTSecret, cfg.JWTSpotSecret, pgconn, nil, prefix), RateLimiter: limiter.NewUserRateLimiter(10, 30, 1*time.Minute, 5*time.Minute), AuditTrail: auditrail, AssistAPI: handlers, diff --git a/scripts/helmcharts/openreplay/charts/assist-api/templates/deployment.yaml b/scripts/helmcharts/openreplay/charts/assist-api/templates/deployment.yaml index 1f6466df3..e8540295b 100644 --- a/scripts/helmcharts/openreplay/charts/assist-api/templates/deployment.yaml +++ b/scripts/helmcharts/openreplay/charts/assist-api/templates/deployment.yaml @@ -49,6 +49,8 @@ spec: value: '{{ .Values.global.kafka.kafkaHost }}:{{ .Values.global.kafka.kafkaPort }}' - name: KAFKA_USE_SSL value: '{{ .Values.global.kafka.kafkaUseSsl }}' + - name: ASSIST_KEY + value: {{ .Values.global.assistKey }} - name: pg_password {{- if .Values.global.postgresql.existingSecret }} valueFrom: