28 lines
1.0 KiB
Go
28 lines
1.0 KiB
Go
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
|
|
}
|