/* * Copyright (C) 2023 Jonni Liljamo * * This file is licensed under AGPL-3.0-or-later, see NOTICE and LICENSE for * more information. */ package config import "git.src.quest/~skye/erya-go/util" var FeluConfig *config type config struct { ServiceName string // Initial email for the admin user, only used if no admin account (e.g. first boot) InitialAdminEmail string // Initial password for the admin user, only used if no admin account (e.g. first boot) InitialAdminPwd string // Data directory, with trailing slash DataDir string FrontendBindAddr string APIBindAddr string DNSBindIP string DNSBindPort int32 // Domain pattern, with leading and trailing dots DNSPattern string } func InitConfig() { FeluConfig = &config { ServiceName: util.LoadEnvStr("FELU_SERVICE_NAME", "FeluDDNS"), InitialAdminEmail: util.LoadEnvStr("FELU_INITIAL_ADMIN_EMAIL", "admin@example.com"), InitialAdminPwd: util.LoadEnvStr("FELU_INITIAL_ADMIN_PWD", "feluadmin"), DataDir: util.LoadEnvStr("FELU_DB_PATH", "/var/felu/"), FrontendBindAddr: util.LoadEnvStr("FELU_FRONTEND_BIND_ADDR", "0.0.0.0:8080"), APIBindAddr: util.LoadEnvStr("FELU_API_BIND_ADDR", "0.0.0.0:8081"), DNSBindIP: util.LoadEnvStr("FELU_DNS_BIND_IP", "0.0.0.0"), DNSBindPort: util.LoadEnvInt32("FELU_DNS_BIND_PORT", 53), DNSPattern: util.LoadEnvStr("FELU_DNS_PATTERN", "."), } }