From 400e26cfff6178f6e92f3e05ea68b8259dbe087b Mon Sep 17 00:00:00 2001 From: timka Date: Wed, 17 Dec 2025 18:04:49 +0300 Subject: [PATCH] fix auth interceptors in task and user services; --- compose.yaml | 29 +++++++++++++++++++++++++++++ internal/task/server/server.go | 7 +++++++ internal/user/config/config.go | 4 +++- internal/user/server/server.go | 13 +++++++++++++ 4 files changed, 52 insertions(+), 1 deletion(-) diff --git a/compose.yaml b/compose.yaml index 48956cb..837b49c 100644 --- a/compose.yaml +++ b/compose.yaml @@ -142,6 +142,35 @@ services: restart: unless-stopped shm_size: 4mb + user: + build: + context: . + dockerfile: Containerfile + args: + SERVICE: user + depends_on: + postgres: + restart: false + condition: service_healthy + required: true + redis: + restart: false + condition: service_healthy + required: true + auth: + restart: false + condition: service_started + required: true + env_file: + - path: ./infrastructure/user/.env.template + required: true + - path: ./infrastructure/user/.env + required: false + networks: + - default + restart: unless-stopped + shm_size: 4mb + nginx: image: docker.io/nginx:1.29-alpine configs: diff --git a/internal/task/server/server.go b/internal/task/server/server.go index bcce31a..d567570 100644 --- a/internal/task/server/server.go +++ b/internal/task/server/server.go @@ -17,6 +17,7 @@ import ( "github.com/jmoiron/sqlx" _ "github.com/lib/pq" "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/reflection" ) @@ -46,6 +47,12 @@ func (s *Server) Start() error { } s.db = db + authConn, err := grpc.Dial(s.config.AuthSvcAddr, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + return fmt.Errorf("failed to connect to auth service: %w", err) + } + s.authConn = authConn + if err := s.registerGRPCServices(); err != nil { return fmt.Errorf("failed to register gRPC services: %w", err) } diff --git a/internal/user/config/config.go b/internal/user/config/config.go index 6b7ea01..bb40b72 100644 --- a/internal/user/config/config.go +++ b/internal/user/config/config.go @@ -21,6 +21,7 @@ type Config struct { DBPassword string DBName string JWTSecret string + AuthSvcAddr string } func Load() (*Config, error) { @@ -37,6 +38,7 @@ func Load() (*Config, error) { DBPassword: getEnv("POSTGRES_PASSWORD", "postgres"), DBName: getEnv("POSTGRES_DATABASE", "postgres"), JWTSecret: getEnv("JWT_SECRET", "your-secret-key-change-in-production"), + AuthSvcAddr: getEnv("AUTH_SVC_ADDR", "localhost:50051"), }, nil } @@ -73,4 +75,4 @@ func (c Config) BuildPostgresConnStr() string { func (c Config) BuildPostgresDSN() string { return fmt.Sprintf("postgresql://%s:%s@%s/%s?sslmode=disable", c.DBUser, c.DBPassword, net.JoinHostPort(c.DBHost, strconv.Itoa(c.DBPort)), c.DBName) -} \ No newline at end of file +} diff --git a/internal/user/server/server.go b/internal/user/server/server.go index 1eeb22c..f039941 100644 --- a/internal/user/server/server.go +++ b/internal/user/server/server.go @@ -17,6 +17,7 @@ import ( "github.com/jmoiron/sqlx" _ "github.com/lib/pq" "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/reflection" ) @@ -46,6 +47,12 @@ func (s *Server) Start() error { } s.db = db + authConn, err := grpc.Dial(s.config.AuthSvcAddr, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + return fmt.Errorf("failed to connect to auth service: %w", err) + } + s.authConn = authConn + if err := s.registerGRPCServices(); err != nil { return fmt.Errorf("failed to register gRPC services: %w", err) } @@ -100,5 +107,11 @@ func (s *Server) Stop() { } } + if s.authConn != nil { + if err := s.authConn.Close(); err != nil { + log.Printf("failed to close auth connection: %v", err) + } + } + log.Println("user server stopped") }