// Load Search configuration options func SetSearchConfig(searchSection *configparser.Section) { for key, value := range searchSection.Options() { switch key { case "searchServerLocation": Search.SearchServerLocation = value } } }
// Load Users configuraiton func setUsersConfig(userSection *configparser.Section) { for key, value := range userSection.Options() { switch key { case "avatarDB": Users.AvatarDb = value } } }
// Load Registry configuration func setRegistryConfig(registrySection *configparser.Section) { for key, value := range registrySection.Options() { switch key { case "entryTTL": setUint64Val(value, &ServiceRegistry.EntryTTL) case "cacheRefreshInterval": setUint64Val(value, &ServiceRegistry.CacheRefreshInterval) } } }
// Load Logging configuration func setLogConfig(logSection *configparser.Section) { for key, value := range logSection.Options() { switch key { case "logFile": Logger.LogFile = value case "maxSize": setIntVal(value, &Logger.MaxSize) case "maxBackups": setIntVal(value, &Logger.MaxBackups) case "maxAge": setIntVal(value, &Logger.MaxAge) } } }
// Load Auth configuration func setAuthConfig(authSection *configparser.Section) { for key, value := range authSection.Options() { switch key { case "authenticator": Auth.Authenticator = strings.ToLower(value) case "sessionTimeout": setUint64Val(value, &Auth.SessionTimeout) case "persistentSessions": Auth.PersistentSessions = stringToBool(value) case "allowGuestAccess": Auth.AllowGuest = stringToBool(value) case "allowNewUserRegistration": Auth.AllowNewUserRegistration = stringToBool(value) case "minPasswordLength": setIntVal(value, &Auth.MinPasswordLength) } } }
// Load Database configuration options func setDbConfig(dbSection *configparser.Section) { for key, value := range dbSection.Options() { switch key { case "dbAddr": Database.DbAddr = value case "dbPort": Database.DbPort = value case "useSSL": Database.UseSSL = stringToBool(value) case "dbAdminUser": Database.DbAdminUser = value case "dbAdminPassword": Database.DbAdminPassword = value case "dbTimeout": Database.DbTimeout = value case "mainDb": Database.MainDb = value } } }
// Load Frontend configuration options func SetFrontendConfig(frontendSection *configparser.Section) { execDir, _ := util.GetExecDirectory() for key, value := range frontendSection.Options() { switch key { case "webAppDir": if value[0] != '/' { Frontend.WebAppDir = path.Join(execDir, value) } else { Frontend.WebAppDir = value } case "pluginDir": if value[0] != '/' { Frontend.PluginDir = path.Join(execDir, value) } else { Frontend.PluginDir = value } case "homepage": Frontend.Homepage = value } } }
//Load Notification configuration options func setNotificationConfig(notifSection *configparser.Section) { for key, value := range notifSection.Options() { switch key { case "templateDirectory": Notifications.TemplateDir = value case "useHtmlTemplates": Notifications.UseHtmlTemplates = stringToBool(value) case "mainSiteUrl": Notifications.MainSiteUrl = value case "smtpServer": Notifications.SmtpServer = value case "useSSL": Notifications.UseSSL = stringToBool(value) case "smtpPort": setIntVal(value, &Notifications.SmtpPort) case "smtpUser": Notifications.SmtpUser = value case "smtpPassword": Notifications.SmtpPassword = value case "fromEmail": Notifications.FromEmail = value } } }