generated from PenaSide/GolangTemplate
drop getEnv added caarlos0
This commit is contained in:
parent
95f1c98e11
commit
9ecf87c796
@ -3,16 +3,12 @@ package main
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"gitea.pena/PenaSide/common/encrypt"
|
||||
"gitea.pena/PenaSide/common/mongo"
|
||||
"gitea.pena/PenaSide/common/validate"
|
||||
"gitea.pena/PenaSide/customer/internal/models"
|
||||
"github.com/caarlos0/env/v8"
|
||||
"github.com/gofiber/fiber/v2"
|
||||
"github.com/twmb/franz-go/pkg/kgo"
|
||||
"log"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -69,60 +65,57 @@ func main() {
|
||||
|
||||
// 38 fields
|
||||
func loadConfig() (*models.Config, error) {
|
||||
config := models.Config{
|
||||
ExternalCfg: models.ExternalCfg{
|
||||
JwtCfg: models.JWTConfiguration{
|
||||
PublicKey: os.Getenv("JWT_PUBLIC_KEY"),
|
||||
Audience: os.Getenv("JWT_AUDIENCE"),
|
||||
Issuer: os.Getenv("JWT_ISSUER"),
|
||||
},
|
||||
Database: mongo.Configuration{
|
||||
URL: os.Getenv("MONGO_URL"),
|
||||
DatabaseName: os.Getenv("MONGO_DB_NAME"),
|
||||
},
|
||||
MailClientCfg: models.MailClientCfg{
|
||||
ApiURL: os.Getenv("API_URL"),
|
||||
Sender: os.Getenv("MAIL_SENDER"),
|
||||
ApiKey: os.Getenv("MAIL_API_KEY"),
|
||||
MailAddress: os.Getenv("MAIL_ADDRESS"),
|
||||
},
|
||||
EncryptCommon: encrypt.Encrypt{
|
||||
PrivKey: os.Getenv("ENCRYPT_PRIVATE_KEY"),
|
||||
PubKey: os.Getenv("ENCRYPT_PUBLIC_KEY"),
|
||||
},
|
||||
},
|
||||
ClientHttpURL: os.Getenv("CLIENT_HTTP_URL"),
|
||||
AdminHttpURL: os.Getenv("ADMIN_HTTP_URL"),
|
||||
GrpcURL: os.Getenv("GRPC_URL"),
|
||||
GrpcDomain: os.Getenv("GRPC_DOMAIN"),
|
||||
KafkaBrokers: strings.Split(os.Getenv("KAFKA_BROKERS"), ","),
|
||||
KafkaTopicTariff: os.Getenv("KAFKA_TOPIC_TARIFF"),
|
||||
AuthMicroserviceURL: os.Getenv("AUTH_MICROSERVICE_URL"),
|
||||
HubadminMicroserviceURL: os.Getenv("HUBADMIN_MICROSERVICE_URL"),
|
||||
CurrencyMicroserviceURL: os.Getenv("CURRENCY_MICROSERVICE_URL"),
|
||||
DiscountMicroserviceGRPC: os.Getenv("DISCOUNT_MICROSERVICE_GRPC_URL"),
|
||||
PaymentMicroserviceGRPC: os.Getenv("PAYMENT_MICROSERVICE_GRPC_URL"),
|
||||
VerificationMicroservice: os.Getenv("VERIFICATION_MICROSERVICE_URL"),
|
||||
TemplategenMicroserviceURL: os.Getenv("TEMPLATEGEN_MICROSERVICE_URL"),
|
||||
CodewordMicroserviceGRPC: os.Getenv("CODEWORD_MICROSERVICE_GRPC_URL"),
|
||||
TrashLogHost: os.Getenv("TRASH_LOG_HOST"),
|
||||
NotificationBotToken: os.Getenv("TELEGRAM_TOKEN"),
|
||||
NotificationRsPayChannel: envToInt64(os.Getenv("TELEGRAM_RS_PAY_CHANNEL_ID")),
|
||||
NotificationChannel: envToInt64(os.Getenv("TELEGRAM_NOTIFICATION_CHANNEL_ID")),
|
||||
AdminURL: os.Getenv("ADMIN_FRONT_URL"),
|
||||
//config := models.Config{
|
||||
// ExternalCfg: models.ExternalCfg{
|
||||
// JwtCfg: models.JWTConfiguration{
|
||||
// PublicKey: os.Getenv("JWT_PUBLIC_KEY"),
|
||||
// Audience: os.Getenv("JWT_AUDIENCE"),
|
||||
// Issuer: os.Getenv("JWT_ISSUER"),
|
||||
// },
|
||||
// Database: mongo.Configuration{
|
||||
// URL: os.Getenv("MONGO_URL"),
|
||||
// DatabaseName: os.Getenv("MONGO_DB_NAME"),
|
||||
// },
|
||||
// MailClientCfg: models.MailClientCfg{
|
||||
// ApiURL: os.Getenv("API_URL"),
|
||||
// Sender: os.Getenv("MAIL_SENDER"),
|
||||
// ApiKey: os.Getenv("MAIL_API_KEY"),
|
||||
// MailAddress: os.Getenv("MAIL_ADDRESS"),
|
||||
// },
|
||||
// EncryptCommon: encrypt.Encrypt{
|
||||
// PrivKey: os.Getenv("ENCRYPT_PRIVATE_KEY"),
|
||||
// PubKey: os.Getenv("ENCRYPT_PUBLIC_KEY"),
|
||||
// },
|
||||
// },
|
||||
// ClientHttpURL: os.Getenv("CLIENT_HTTP_URL"),
|
||||
// AdminHttpURL: os.Getenv("ADMIN_HTTP_URL"),
|
||||
// GrpcURL: os.Getenv("GRPC_URL"),
|
||||
// GrpcDomain: os.Getenv("GRPC_DOMAIN"),
|
||||
// KafkaBrokers: strings.Split(os.Getenv("KAFKA_BROKERS"), ","),
|
||||
// KafkaTopicTariff: os.Getenv("KAFKA_TOPIC_TARIFF"),
|
||||
// AuthMicroserviceURL: os.Getenv("AUTH_MICROSERVICE_URL"),
|
||||
// HubadminMicroserviceURL: os.Getenv("HUBADMIN_MICROSERVICE_URL"),
|
||||
// CurrencyMicroserviceURL: os.Getenv("CURRENCY_MICROSERVICE_URL"),
|
||||
// DiscountMicroserviceGRPC: os.Getenv("DISCOUNT_MICROSERVICE_GRPC_URL"),
|
||||
// PaymentMicroserviceGRPC: os.Getenv("PAYMENT_MICROSERVICE_GRPC_URL"),
|
||||
// VerificationMicroservice: os.Getenv("VERIFICATION_MICROSERVICE_URL"),
|
||||
// TemplategenMicroserviceURL: os.Getenv("TEMPLATEGEN_MICROSERVICE_URL"),
|
||||
// CodewordMicroserviceGRPC: os.Getenv("CODEWORD_MICROSERVICE_GRPC_URL"),
|
||||
// TrashLogHost: os.Getenv("TRASH_LOG_HOST"),
|
||||
// NotificationBotToken: os.Getenv("TELEGRAM_TOKEN"),
|
||||
// NotificationRsPayChannel: envToInt64(os.Getenv("TELEGRAM_RS_PAY_CHANNEL_ID")),
|
||||
// NotificationChannel: envToInt64(os.Getenv("TELEGRAM_NOTIFICATION_CHANNEL_ID")),
|
||||
// AdminURL: os.Getenv("ADMIN_FRONT_URL"),
|
||||
//}
|
||||
var config models.Config
|
||||
|
||||
if err := env.Parse(&config); err != nil {
|
||||
log.Fatalf("failed to parse environment variables: %v", err)
|
||||
}
|
||||
|
||||
return &config, nil
|
||||
}
|
||||
|
||||
func envToInt64(str string) int64 {
|
||||
n, err := strconv.ParseInt(str, 10, 64)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return n
|
||||
}
|
||||
|
||||
func validateURLs(urls []string) error {
|
||||
for index, u := range urls {
|
||||
if u == "" {
|
||||
|
@ -9,10 +9,10 @@ import (
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
ClientHttpURL string `env:"CLIENT_HTTP_URL,default=localhost:8080"`
|
||||
AdminHttpURL string `env:"ADMIN_HTTP_URL,default=localhost:8081"`
|
||||
GrpcURL string `env:"GRPC_URL,default=localhost:8081"`
|
||||
GrpcDomain string `env:"GRPC_DOMAIN,default=https://domen.ru"`
|
||||
ClientHttpURL string `env:"CLIENT_HTTP_URL"`
|
||||
AdminHttpURL string `env:"ADMIN_HTTP_URL"`
|
||||
GrpcURL string `env:"GRPC_URL"`
|
||||
GrpcDomain string `env:"GRPC_DOMAIN"`
|
||||
AuthMicroserviceURL string `env:"AUTH_MICROSERVICE_URL,required"` // http://10.8.0.6:59300/user
|
||||
HubadminMicroserviceURL string `env:"HUBADMIN_MICROSERVICE_URL,required"` // http://10.8.0.6:59303/tariff
|
||||
CurrencyMicroserviceURL string `env:"CURRENCY_MICROSERVICE_URL,required"` // http://10.8.0.6:3131/change
|
||||
|
Loading…
Reference in New Issue
Block a user