package initialize import ( "gitea.pena/PenaSide/common/mongo" "github.com/caarlos0/env/v8" ) type Config struct { HttpURL string `env:"HTTP_URL" envDefault:"0.0.0.0:8080"` HttpDomain string `env:"HTTP_DOMAIN" envDefault:"http://localhost:8080"` GrpcURL string `env:"GRPC_URL,required" envDefault:"localhost:9000"` YooMoneyStoreID string `env:"YOOMONEY_STORE_ID" envDefault:"storeid"` YooMoneySecretKey string `env:"YOOMONEY_SECRET_KEY" envDefault:"secret"` IsMock bool `env:"IS_MOCK" envDefault:"false"` MockServiceHost string `env:"MOCK_SERVICE_HOST" envDefault:"http://treasurer-mock:8080"` YooMoneyWebhooksURL string `env:"YOOMONEY_WEBHOOKS_URL" envDefault:"http://treasurer-mock:8080/webhooks"` YooMoneyPaymentsURL string `env:"YOOMONEY_PAYMENTS_URL" envDefault:"http://treasurer-mock:8080/payments"` Database mongo.Configuration } func LoadConfig() (*Config, error) { var config Config if err := env.Parse(&config); err != nil { return nil, err } return &config, nil }