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