39 lines
1.0 KiB
Go
39 lines
1.0 KiB
Go
package config
|
|
|
|
import "os"
|
|
|
|
type Config struct {
|
|
Port string
|
|
DBDSN string
|
|
JWTSecret string
|
|
JWTRefreshSecret string
|
|
SystemRPCAddr string
|
|
MinIOEndpoint string
|
|
MinIOAccessKey string
|
|
MinIOSecretKey string
|
|
MinIOBucket string
|
|
MinIOUseSSL bool
|
|
}
|
|
|
|
func Load() *Config {
|
|
return &Config{
|
|
Port: getEnv("PORT", "8081"),
|
|
DBDSN: getEnv("DB_DSN", ""),
|
|
JWTSecret: getEnv("JWT_SECRET", ""),
|
|
JWTRefreshSecret: getEnv("JWT_REFRESH_SECRET", ""),
|
|
SystemRPCAddr: getEnv("MUYU_SYSTEM_RPC_ADDR", "127.0.0.1:9001"),
|
|
MinIOEndpoint: getEnv("MINIO_ENDPOINT", "minio:9000"),
|
|
MinIOAccessKey: getEnv("MINIO_ACCESS_KEY", "minioadmin"),
|
|
MinIOSecretKey: getEnv("MINIO_SECRET_KEY", "minioadmin123"),
|
|
MinIOBucket: getEnv("MINIO_BUCKET", "iloom-uploads"),
|
|
MinIOUseSSL: getEnv("MINIO_USE_SSL", "false") == "true",
|
|
}
|
|
}
|
|
|
|
func getEnv(key, fallback string) string {
|
|
if v := os.Getenv(key); v != "" {
|
|
return v
|
|
}
|
|
return fallback
|
|
}
|