drop getEnv added caarlos0

This commit is contained in:
Pasha 2024-12-09 13:30:16 +03:00
parent 95f1c98e11
commit 9ecf87c796
2 changed files with 51 additions and 58 deletions

@ -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