From 40b3fb6ff5ceead9f268f0fd909ab9a48a792de2 Mon Sep 17 00:00:00 2001 From: Kirill Date: Tue, 13 Jun 2023 19:21:20 +0300 Subject: [PATCH] chore: new env --- README.md | 10 ++++++++-- internal/app/app.go | 10 ++++++---- internal/initialize/api_test.go | 12 ++++++------ internal/initialize/clients.go | 16 ++++++++-------- internal/initialize/clients_test.go | 12 ++++++------ internal/initialize/services_test.go | 12 ++++++------ internal/models/config.go | 10 ++++++++++ 7 files changed, 50 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 581898f..45ddc35 100644 --- a/README.md +++ b/README.md @@ -11,8 +11,12 @@ ## Переменные окружения приложения ``` -HTTP_HOST - хост приложения -HTTP_PORT - порт приложения +HTTP_HOST - хост приложения (HTTP) +HTTP_PORT - порт приложения (HTTP) + +GRPC_HOST - хост приложения (GRPC) +GRPC_PORT - порт приложения (GRPC) +GRPC_DOMEN - домен приложения (GRPC) MONGO_HOST - хост MongoDB MONGO_PORT - порт MongoDB @@ -24,6 +28,8 @@ MONGO_AUTH - имя базы данных Mongo, по которой будет AUTH_MICROSERVICE_USER_URL - ссылка на получение пользователя микросервиса авторизации HUBADMIN_MICROSERVICE_TARIFF_URL - ссылка на получение тарифов (hub admin) CURRENCY_MICROSERVICE_TRANSLATE_URL - ссылка на перевод с одной валюты на другую +DISCOUNT_MICROSERVICE_GRPC_HOST - хост микросервиса discount (GRPC) +PAYMENT_MICROSERVICE_GRPC_HOST - хост микросервиса payment (GRPC) JWT_PUBLIC_KEY - публичный ключ для верификации jwt токена JWT_ISSUER - издатель токена diff --git a/internal/app/app.go b/internal/app/app.go index a23a0d8..a6cdd8a 100644 --- a/internal/app/app.go +++ b/internal/app/app.go @@ -30,11 +30,13 @@ func Run(ctx context.Context, config *models.Config, logger *zap.Logger) error { return fmt.Errorf("failed connection to db: %w", err) } - // TODO: добавить недостающие зависимости clients := initialize.NewClients(&initialize.ClientsDeps{ - Logger: logger, - AuthURL: &config.Service.AuthMicroservice.URL, - HubadminURL: &config.Service.HubadminMicroservice.URL, + Logger: logger, + AuthURL: &config.Service.AuthMicroservice.URL, + HubadminURL: &config.Service.HubadminMicroservice.URL, + CurrencyURL: &config.Service.CurrencyMicroservice.URL, + DiscountServiceConfiguration: &config.Service.DiscountMicroservice, + PaymentServiceConfiguration: &config.Service.PaymentMicroservice, }) repositories := initialize.NewRepositories(&initialize.RepositoriesDeps{ diff --git a/internal/initialize/api_test.go b/internal/initialize/api_test.go index f3462ca..1139c36 100644 --- a/internal/initialize/api_test.go +++ b/internal/initialize/api_test.go @@ -23,12 +23,12 @@ func TestNewAPI(t *testing.T) { }) clients := initialize.NewClients(&initialize.ClientsDeps{ - Logger: logger, - AuthURL: &models.AuthMicroserviceURL{User: ""}, - HubadminURL: &models.HubadminMicroserviceURL{Tariff: ""}, - CurrencyURL: &models.CurrencyMicroserviceURL{}, - DiscountServiceHost: "localhost:8080", - PaymentServiceHost: "localhost:8081", + Logger: logger, + AuthURL: &models.AuthMicroserviceURL{User: ""}, + HubadminURL: &models.HubadminMicroserviceURL{Tariff: ""}, + CurrencyURL: &models.CurrencyMicroserviceURL{}, + DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{}, + PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{}, }) services := initialize.NewServices(&initialize.ServicesDeps{ diff --git a/internal/initialize/clients.go b/internal/initialize/clients.go index b25a835..be2b509 100644 --- a/internal/initialize/clients.go +++ b/internal/initialize/clients.go @@ -7,12 +7,12 @@ import ( ) type ClientsDeps struct { - Logger *zap.Logger - AuthURL *models.AuthMicroserviceURL - HubadminURL *models.HubadminMicroserviceURL - CurrencyURL *models.CurrencyMicroserviceURL - DiscountServiceHost string - PaymentServiceHost string + Logger *zap.Logger + AuthURL *models.AuthMicroserviceURL + HubadminURL *models.HubadminMicroserviceURL + CurrencyURL *models.CurrencyMicroserviceURL + DiscountServiceConfiguration *models.DiscountMicroserviceConfiguration + PaymentServiceConfiguration *models.PaymentMicroserviceConfiguration } type Clients struct { @@ -39,11 +39,11 @@ func NewClients(deps *ClientsDeps) *Clients { }), DiscountClient: client.NewDiscountClient(&client.DiscountClientDeps{ Logger: deps.Logger, - DiscountServiceHost: deps.DiscountServiceHost, + DiscountServiceHost: deps.DiscountServiceConfiguration.HostGRPC, }), PaymentClient: client.NewPaymentClient(client.PaymentClientDeps{ Logger: deps.Logger, - PaymentServiceHost: deps.PaymentServiceHost, + PaymentServiceHost: deps.PaymentServiceConfiguration.HostGRPC, }), } } diff --git a/internal/initialize/clients_test.go b/internal/initialize/clients_test.go index e080a36..0564e35 100644 --- a/internal/initialize/clients_test.go +++ b/internal/initialize/clients_test.go @@ -15,12 +15,12 @@ func TestNewClients(t *testing.T) { assert.NotPanics(t, func() { clients := initialize.NewClients(&initialize.ClientsDeps{ - Logger: logger, - AuthURL: &models.AuthMicroserviceURL{}, - HubadminURL: &models.HubadminMicroserviceURL{}, - CurrencyURL: &models.CurrencyMicroserviceURL{}, - DiscountServiceHost: "localhost:8080", - PaymentServiceHost: "localhost:8081", + Logger: logger, + AuthURL: &models.AuthMicroserviceURL{}, + HubadminURL: &models.HubadminMicroserviceURL{}, + CurrencyURL: &models.CurrencyMicroserviceURL{}, + DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{}, + PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{}, }) assert.NotNil(t, clients) diff --git a/internal/initialize/services_test.go b/internal/initialize/services_test.go index ebaedf2..242117d 100644 --- a/internal/initialize/services_test.go +++ b/internal/initialize/services_test.go @@ -18,12 +18,12 @@ func TestNewServices(t *testing.T) { assert.NotPanics(t, func() { clients := initialize.NewClients(&initialize.ClientsDeps{ - Logger: logger, - AuthURL: &models.AuthMicroserviceURL{}, - HubadminURL: &models.HubadminMicroserviceURL{}, - CurrencyURL: &models.CurrencyMicroserviceURL{}, - DiscountServiceHost: "localhost:8080", - PaymentServiceHost: "localhost:8081", + Logger: logger, + AuthURL: &models.AuthMicroserviceURL{}, + HubadminURL: &models.HubadminMicroserviceURL{}, + CurrencyURL: &models.CurrencyMicroserviceURL{}, + DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{}, + PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{}, }) repositories := initialize.NewRepositories(&initialize.RepositoriesDeps{ diff --git a/internal/models/config.go b/internal/models/config.go index 7f62174..19ceec0 100644 --- a/internal/models/config.go +++ b/internal/models/config.go @@ -29,6 +29,8 @@ type ServiceConfiguration struct { AuthMicroservice AuthMicroserviceConfiguration HubadminMicroservice HubadminMicroserviceConfiguration CurrencyMicroservice CurrencyMicroserviceConfiguration + DiscountMicroservice DiscountMicroserviceConfiguration + PaymentMicroservice PaymentMicroserviceConfiguration JWT JWTConfiguration } @@ -53,6 +55,14 @@ type CurrencyMicroserviceConfiguration struct { URL CurrencyMicroserviceURL } +type PaymentMicroserviceConfiguration struct { + HostGRPC string `env:"PAYMENT_MICROSERVICE_GRPC_HOST,required"` +} + +type DiscountMicroserviceConfiguration struct { + HostGRPC string `env:"DISCOUNT_MICROSERVICE_GRPC_HOST,required"` +} + type AuthMicroserviceURL struct { User string `env:"AUTH_MICROSERVICE_USER_URL,required"` }