new file: .env copy

new file:   internal/config/config.go
add configs .env file and config loader
This commit is contained in:
2026-02-02 04:06:19 +05:00
parent 988416199b
commit 6f2d3156ca
2 changed files with 54 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
# DB environment variabels
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=postgres
DB_NAME=mydb
APP_PORT=8080
JWT_SECRET=secret
UPLOAD_PATH=./storage/uploads
ENVIRONMENT=development
LOG_LEVEL=debug
API_ES_APP_PORT=8088
@@ -0,0 +1,42 @@
package config
import (
"os"
)
type Config struct {
DBHost string
DBPort string
DBUser string
DBPassword string
DBName string
JWTSecret string
ServerPort string
UploadPath string
LogLevel string
Environment string
AppPort string
}
func Load() *Config {
return &Config{
DBHost: getEnv("DB_HOST", "localhost"),
DBPort: getEnv("DB_PORT", "5432"),
DBUser: getEnv("DB_USER", "postgres"),
DBPassword: getEnv("DB_PASSWORD", "postgres"),
DBName: getEnv("DB_NAME", "mydb"),
JWTSecret: getEnv("JWT_SECRET", "secret"),
ServerPort: getEnv("SERVER_PORT", "8080"),
UploadPath: getEnv("UPLOAD_PATH", "./storage/uploads"),
LogLevel: getEnv("LOG_LEVEL", "debug"),
Environment: getEnv("ENVIRONMENT", "development"),
AppPort: getEnv("APP_PORT", "8088"),
}
}
func getEnv(key, defaultValue string) string {
if value := os.Getenv(key); value != "" {
return value
}
return defaultValue
}