Files
old-backend/config/config.go

53 lines
1.6 KiB
Go
Raw Normal View History

2023-09-05 11:37:03 +02:00
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{
2023-09-18 12:27:40 +02:00
2023-09-05 11:37:03 +02:00
Service: Service{
// 9000 DEFAULT FOR DEV ENVIRONMENT
2023-10-12 05:23:34 +02:00
Port: getEnv("NOVATECH_SERVICE_PORT", "9000"),
Environment: getEnv("NOVATECH_SERVICE_ENVIRONMENT", "DEV"),
BlockchainSecret: getEnv("NOVATECH_SERVICE_BLOCKCHAIN_SECRET", "novatech_service_blockchain_secret"),
MapboxAccessToken: getEnv("NOVATECH_SERVICE_MAPBOX_ACCESS_TOKEN", ""),
2023-09-05 11:37:03 +02:00
},
AdminService: Service{
// 8080 DEFAULT FOR DEV ENVIRONMENT
Port: getEnv("NOVATECH_ADMIN_SERVICE_PORT", "8080"),
Environment: getEnv("NOVATECH_ADMIN_SERVICE_ENVIRONMENT", "DEV"),
},
Database: Database{
2023-09-27 08:04:50 +02:00
UserName: getEnv("NOVATECH_DATABASE_USERNAME", "username"),
Password: getEnv("NOVATECH_DATABASE_PASSWORD", "password"),
DatabaseName: getEnv("NOVATECH_DATABASE_NAME", "dbname"),
2023-09-18 12:27:40 +02:00
HostName: getEnv("NOVATECH_DATABASE_ADDRESS", "localhost"),
2023-09-27 08:04:50 +02:00
Port: getEnv("NOVATECH_DATABASE_PORT", "5432"),
2023-09-05 11:37:03 +02:00
},
2023-09-21 11:59:08 +02:00
Blockchain: Blockchain{
NetworkEndpoint: getEnv("NOVATECH_BLOCKCHAIN_NETWORK_ENDPOINT", ""),
ContractAddress: getEnv("NOVATECH_BLOCKCHAIN_CONTRACT_ADDRESS", ""),
WalletAddress: getEnv("NOVATECH_BLOCKCHAIN_WALLET_ADDRESS", ""),
WalletPrivateKey: getEnv("NOVATECH_BLOCKCHAIN_WALLET_PRIVATE_KEY", ""),
},
2023-09-05 11:37:03 +02:00
}
return nil
}