cca4477792
Probe sysName/sysDescr/sysObjectID for alive hosts, persist SNMP outcomes, and expose scan SNMP data via REST. Made-with: Cursor
52 lines
948 B
Go
52 lines
948 B
Go
package config
|
|
|
|
import "os"
|
|
|
|
type Config struct {
|
|
HTTPAddr string
|
|
DBDSN string
|
|
StoreBackend string
|
|
RunMigrations bool
|
|
SNMPEnabled bool
|
|
SNMPCommunity string
|
|
}
|
|
|
|
func FromEnv() Config {
|
|
addr := os.Getenv("HTTP_ADDR")
|
|
if addr == "" {
|
|
addr = ":8080"
|
|
}
|
|
|
|
dbDSN := os.Getenv("DB_DSN")
|
|
storeBackend := os.Getenv("STORE_BACKEND")
|
|
if storeBackend == "" {
|
|
if dbDSN != "" {
|
|
storeBackend = "postgres"
|
|
} else {
|
|
storeBackend = "memory"
|
|
}
|
|
}
|
|
|
|
runMigrations := true
|
|
if os.Getenv("RUN_MIGRATIONS") == "false" {
|
|
runMigrations = false
|
|
}
|
|
snmpEnabled := true
|
|
if os.Getenv("SNMP_ENABLED") == "false" {
|
|
snmpEnabled = false
|
|
}
|
|
snmpCommunity := os.Getenv("SNMP_COMMUNITY")
|
|
if snmpCommunity == "" {
|
|
snmpCommunity = "public"
|
|
}
|
|
|
|
return Config{
|
|
HTTPAddr: addr,
|
|
DBDSN: dbDSN,
|
|
StoreBackend: storeBackend,
|
|
RunMigrations: runMigrations,
|
|
SNMPEnabled: snmpEnabled,
|
|
SNMPCommunity: snmpCommunity,
|
|
}
|
|
}
|