46 lines
1.2 KiB
Go
46 lines
1.2 KiB
Go
package config
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/joho/godotenv"
|
|
)
|
|
|
|
// AppConfig contains application configuration
|
|
var AppConfig Config
|
|
|
|
// Load application configuration
|
|
func Load() error {
|
|
|
|
// load .env file
|
|
err := godotenv.Load()
|
|
|
|
if err != nil {
|
|
log.Println(".env file not presented. Retrieving configuration from environment variables")
|
|
}
|
|
|
|
AppConfig = Config{
|
|
|
|
Service: Service{
|
|
// 9000 DEFAULT FOR DEV ENVIRONMENT
|
|
Port: getEnv("NOVATECH_SERVICE_PORT", "9000"),
|
|
Environment: getEnv("NOVATECH_SERVICE_ENVIRONMENT", "DEV"),
|
|
BlockchainSecret: getEnv("NOVATECH_SERVICE_BLOCKCHAIN_SECRET", "novatech_service_blockchain_secret"),
|
|
},
|
|
AdminService: Service{
|
|
// 8080 DEFAULT FOR DEV ENVIRONMENT
|
|
Port: getEnv("NOVATECH_ADMIN_SERVICE_PORT", "8080"),
|
|
Environment: getEnv("NOVATECH_ADMIN_SERVICE_ENVIRONMENT", "DEV"),
|
|
},
|
|
Database: Database{
|
|
UserName: getEnv("NOVATECH_DATABASE_USERNAME", "root"),
|
|
Password: getEnv("NOVATECH_DATABASE_PASSWORD", "root"),
|
|
DatabaseName: getEnv("NOVATECH_DATABASE_NAME", "postgres"),
|
|
HostName: getEnv("NOVATECH_DATABASE_ADDRESS", "localhost"),
|
|
Port: getEnv("NOVATECH_DATABASE_PORT", " "),
|
|
},
|
|
}
|
|
|
|
return nil
|
|
}
|