Files
nettopo-go/internal/config/config.go
T
Andrey Lutsenko cca4477792 Add SNMP v2c probing and results endpoint.
Probe sysName/sysDescr/sysObjectID for alive hosts, persist SNMP outcomes, and expose scan SNMP data via REST.

Made-with: Cursor
2026-04-09 21:56:31 +10:00

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,
}
}