chore: new env

This commit is contained in:
Kirill 2023-06-13 19:21:20 +03:00
parent de1aced10b
commit 40b3fb6ff5
7 changed files with 50 additions and 32 deletions

@ -11,8 +11,12 @@
## Переменные окружения приложения ## Переменные окружения приложения
``` ```
HTTP_HOST - хост приложения HTTP_HOST - хост приложения (HTTP)
HTTP_PORT - порт приложения HTTP_PORT - порт приложения (HTTP)
GRPC_HOST - хост приложения (GRPC)
GRPC_PORT - порт приложения (GRPC)
GRPC_DOMEN - домен приложения (GRPC)
MONGO_HOST - хост MongoDB MONGO_HOST - хост MongoDB
MONGO_PORT - порт MongoDB MONGO_PORT - порт MongoDB
@ -24,6 +28,8 @@ MONGO_AUTH - имя базы данных Mongo, по которой будет
AUTH_MICROSERVICE_USER_URL - ссылка на получение пользователя микросервиса авторизации AUTH_MICROSERVICE_USER_URL - ссылка на получение пользователя микросервиса авторизации
HUBADMIN_MICROSERVICE_TARIFF_URL - ссылка на получение тарифов (hub admin) HUBADMIN_MICROSERVICE_TARIFF_URL - ссылка на получение тарифов (hub admin)
CURRENCY_MICROSERVICE_TRANSLATE_URL - ссылка на перевод с одной валюты на другую CURRENCY_MICROSERVICE_TRANSLATE_URL - ссылка на перевод с одной валюты на другую
DISCOUNT_MICROSERVICE_GRPC_HOST - хост микросервиса discount (GRPC)
PAYMENT_MICROSERVICE_GRPC_HOST - хост микросервиса payment (GRPC)
JWT_PUBLIC_KEY - публичный ключ для верификации jwt токена JWT_PUBLIC_KEY - публичный ключ для верификации jwt токена
JWT_ISSUER - издатель токена JWT_ISSUER - издатель токена

@ -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) return fmt.Errorf("failed connection to db: %w", err)
} }
// TODO: добавить недостающие зависимости
clients := initialize.NewClients(&initialize.ClientsDeps{ clients := initialize.NewClients(&initialize.ClientsDeps{
Logger: logger, Logger: logger,
AuthURL: &config.Service.AuthMicroservice.URL, AuthURL: &config.Service.AuthMicroservice.URL,
HubadminURL: &config.Service.HubadminMicroservice.URL, HubadminURL: &config.Service.HubadminMicroservice.URL,
CurrencyURL: &config.Service.CurrencyMicroservice.URL,
DiscountServiceConfiguration: &config.Service.DiscountMicroservice,
PaymentServiceConfiguration: &config.Service.PaymentMicroservice,
}) })
repositories := initialize.NewRepositories(&initialize.RepositoriesDeps{ repositories := initialize.NewRepositories(&initialize.RepositoriesDeps{

@ -27,8 +27,8 @@ func TestNewAPI(t *testing.T) {
AuthURL: &models.AuthMicroserviceURL{User: ""}, AuthURL: &models.AuthMicroserviceURL{User: ""},
HubadminURL: &models.HubadminMicroserviceURL{Tariff: ""}, HubadminURL: &models.HubadminMicroserviceURL{Tariff: ""},
CurrencyURL: &models.CurrencyMicroserviceURL{}, CurrencyURL: &models.CurrencyMicroserviceURL{},
DiscountServiceHost: "localhost:8080", DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{},
PaymentServiceHost: "localhost:8081", PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{},
}) })
services := initialize.NewServices(&initialize.ServicesDeps{ services := initialize.NewServices(&initialize.ServicesDeps{

@ -11,8 +11,8 @@ type ClientsDeps struct {
AuthURL *models.AuthMicroserviceURL AuthURL *models.AuthMicroserviceURL
HubadminURL *models.HubadminMicroserviceURL HubadminURL *models.HubadminMicroserviceURL
CurrencyURL *models.CurrencyMicroserviceURL CurrencyURL *models.CurrencyMicroserviceURL
DiscountServiceHost string DiscountServiceConfiguration *models.DiscountMicroserviceConfiguration
PaymentServiceHost string PaymentServiceConfiguration *models.PaymentMicroserviceConfiguration
} }
type Clients struct { type Clients struct {
@ -39,11 +39,11 @@ func NewClients(deps *ClientsDeps) *Clients {
}), }),
DiscountClient: client.NewDiscountClient(&client.DiscountClientDeps{ DiscountClient: client.NewDiscountClient(&client.DiscountClientDeps{
Logger: deps.Logger, Logger: deps.Logger,
DiscountServiceHost: deps.DiscountServiceHost, DiscountServiceHost: deps.DiscountServiceConfiguration.HostGRPC,
}), }),
PaymentClient: client.NewPaymentClient(client.PaymentClientDeps{ PaymentClient: client.NewPaymentClient(client.PaymentClientDeps{
Logger: deps.Logger, Logger: deps.Logger,
PaymentServiceHost: deps.PaymentServiceHost, PaymentServiceHost: deps.PaymentServiceConfiguration.HostGRPC,
}), }),
} }
} }

@ -19,8 +19,8 @@ func TestNewClients(t *testing.T) {
AuthURL: &models.AuthMicroserviceURL{}, AuthURL: &models.AuthMicroserviceURL{},
HubadminURL: &models.HubadminMicroserviceURL{}, HubadminURL: &models.HubadminMicroserviceURL{},
CurrencyURL: &models.CurrencyMicroserviceURL{}, CurrencyURL: &models.CurrencyMicroserviceURL{},
DiscountServiceHost: "localhost:8080", DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{},
PaymentServiceHost: "localhost:8081", PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{},
}) })
assert.NotNil(t, clients) assert.NotNil(t, clients)

@ -22,8 +22,8 @@ func TestNewServices(t *testing.T) {
AuthURL: &models.AuthMicroserviceURL{}, AuthURL: &models.AuthMicroserviceURL{},
HubadminURL: &models.HubadminMicroserviceURL{}, HubadminURL: &models.HubadminMicroserviceURL{},
CurrencyURL: &models.CurrencyMicroserviceURL{}, CurrencyURL: &models.CurrencyMicroserviceURL{},
DiscountServiceHost: "localhost:8080", DiscountServiceConfiguration: &models.DiscountMicroserviceConfiguration{},
PaymentServiceHost: "localhost:8081", PaymentServiceConfiguration: &models.PaymentMicroserviceConfiguration{},
}) })
repositories := initialize.NewRepositories(&initialize.RepositoriesDeps{ repositories := initialize.NewRepositories(&initialize.RepositoriesDeps{

@ -29,6 +29,8 @@ type ServiceConfiguration struct {
AuthMicroservice AuthMicroserviceConfiguration AuthMicroservice AuthMicroserviceConfiguration
HubadminMicroservice HubadminMicroserviceConfiguration HubadminMicroservice HubadminMicroserviceConfiguration
CurrencyMicroservice CurrencyMicroserviceConfiguration CurrencyMicroservice CurrencyMicroserviceConfiguration
DiscountMicroservice DiscountMicroserviceConfiguration
PaymentMicroservice PaymentMicroserviceConfiguration
JWT JWTConfiguration JWT JWTConfiguration
} }
@ -53,6 +55,14 @@ type CurrencyMicroserviceConfiguration struct {
URL CurrencyMicroserviceURL 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 { type AuthMicroserviceURL struct {
User string `env:"AUTH_MICROSERVICE_USER_URL,required"` User string `env:"AUTH_MICROSERVICE_USER_URL,required"`
} }