refactor(settings): fix merge
This commit is contained in:
parent
51164abc54
commit
7bdd9b648a
177
src/Settings.hs
177
src/Settings.hs
@ -85,180 +85,6 @@ import Utils.Lens.TH
|
|||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
|
|
||||||
|
|
||||||
-- | Runtime settings to configure this application. These settings can be
|
|
||||||
-- loaded from various sources: defaults, environment variables, config files,
|
|
||||||
-- theoretically even a database.
|
|
||||||
data AppSettings = AppSettings
|
|
||||||
{ appStaticDir :: FilePath
|
|
||||||
-- ^ Directory from which to serve static files.
|
|
||||||
, appWebpackEntrypoints :: FilePath
|
|
||||||
, appWellKnownDir :: FilePath
|
|
||||||
, appWellKnownLinkFile :: FilePath
|
|
||||||
, appDatabaseConf :: PostgresConf
|
|
||||||
-- ^ Configuration settings for accessing the database.
|
|
||||||
, appAutoDbMigrate :: Bool
|
|
||||||
, appLdapConf :: Maybe (PointedList LdapConf)
|
|
||||||
-- ^ Configuration settings for CSV export/import to LMS (= Learn Management System)
|
|
||||||
, appLmsConf :: LmsConf
|
|
||||||
-- ^ Configuration settings for accessing the LDAP-directory
|
|
||||||
, appAvsConf :: Maybe AvsConf
|
|
||||||
-- ^ Configuration settings for accessing AVS Server (= Ausweis Verwaltungs System)
|
|
||||||
, appAvsLicenceSynchConf :: AvsLicenceSynchConf
|
|
||||||
-- ^ Configuration settings for automatically synching driving licences with AVS
|
|
||||||
, appLprConf :: LprConf
|
|
||||||
-- ^ Configuration settings for accessing a printer queue via lpr for letter mailing
|
|
||||||
, appSmtpConf :: Maybe SmtpConf
|
|
||||||
-- ^ Configuration settings for accessing a SMTP Mailserver
|
|
||||||
, appWidgetMemcachedConf :: Maybe WidgetMemcachedConf
|
|
||||||
-- ^ Configuration settings for accessing a Memcached instance for use with `addStaticContent`
|
|
||||||
, appRoot :: ApprootScope -> Maybe Text
|
|
||||||
-- ^ Base for all generated URLs. If @Nothing@, determined
|
|
||||||
-- from the request headers.
|
|
||||||
, appHost :: HostPreference
|
|
||||||
-- ^ Host/interface the server should bind to.
|
|
||||||
, appPort :: Int
|
|
||||||
-- ^ Port to listen on
|
|
||||||
, appIpFromHeader :: Bool
|
|
||||||
-- ^ Get the IP address from the header when logging. Useful when sitting
|
|
||||||
-- behind a reverse proxy.
|
|
||||||
|
|
||||||
, appServerSessionConfig :: ServerSessionSettings
|
|
||||||
, appServerSessionAcidFallback :: Bool
|
|
||||||
, appSessionMemcachedConf :: Maybe MemcachedConf
|
|
||||||
, appSessionTokenStart
|
|
||||||
, appSessionTokenExpiration :: Maybe NominalDiffTime
|
|
||||||
, appSessionTokenEncoding :: JwtEncoding
|
|
||||||
, appSessionTokenClockLeniencyStart, appSessionTokenClockLeniencyEnd
|
|
||||||
, appBearerTokenClockLeniencyStart, appBearerTokenClockLeniencyEnd
|
|
||||||
, appUploadTokenClockLeniencyStart, appUploadTokenClockLeniencyEnd :: Maybe NominalDiffTime
|
|
||||||
|
|
||||||
, appMailObjectDomain :: Text
|
|
||||||
, appMailVerp :: VerpMode
|
|
||||||
, appMailRetainSent :: Maybe NominalDiffTime
|
|
||||||
, appMailEnvelopeFrom :: Text
|
|
||||||
, appMailFrom
|
|
||||||
, appMailSender
|
|
||||||
, appMailSupport :: Address
|
|
||||||
, appMailRerouteTo :: Maybe Address
|
|
||||||
, appMailUseReplyToInstead :: Bool
|
|
||||||
, appJobWorkers :: Natural
|
|
||||||
, appJobFlushInterval :: Maybe NominalDiffTime
|
|
||||||
, appJobCronInterval :: Maybe NominalDiffTime
|
|
||||||
, appJobStaleThreshold :: NominalDiffTime
|
|
||||||
, appJobMoveThreshold :: Maybe DiffTime
|
|
||||||
, appNotificationRateLimit :: NominalDiffTime
|
|
||||||
, appNotificationCollateDelay :: NominalDiffTime
|
|
||||||
, appNotificationExpiration :: NominalDiffTime
|
|
||||||
, appSessionTimeout :: NominalDiffTime
|
|
||||||
, appMaximumContentLength :: Maybe Word64
|
|
||||||
, appBearerExpiration :: Maybe NominalDiffTime
|
|
||||||
, appBearerEncoding :: JwtEncoding
|
|
||||||
|
|
||||||
, appHealthCheckInterval :: HealthCheck -> Maybe NominalDiffTime
|
|
||||||
, appHealthCheckDelayNotify :: Bool
|
|
||||||
, appHealthCheckHTTP :: Bool
|
|
||||||
|
|
||||||
, appHealthCheckActiveJobExecutorsTimeout :: NominalDiffTime
|
|
||||||
, appHealthCheckActiveWidgetMemcachedTimeout :: NominalDiffTime
|
|
||||||
, appHealthCheckSMTPConnectTimeout :: NominalDiffTime
|
|
||||||
, appHealthCheckLDAPAdminsTimeout :: NominalDiffTime
|
|
||||||
, appHealthCheckHTTPReachableTimeout :: NominalDiffTime
|
|
||||||
, appHealthCheckMatchingClusterConfigTimeout :: NominalDiffTime
|
|
||||||
|
|
||||||
, appSynchroniseLdapUsersWithin :: Maybe NominalDiffTime
|
|
||||||
, appSynchroniseLdapUsersInterval :: NominalDiffTime
|
|
||||||
, appSynchroniseLdapUsersExpire :: Maybe NominalDiffTime
|
|
||||||
|
|
||||||
, appSynchroniseAvsUsersWithin :: Maybe NominalDiffTime
|
|
||||||
, appSynchroniseAvsUsersInterval :: NominalDiffTime
|
|
||||||
|
|
||||||
, appLdapReTestFailover :: DiffTime
|
|
||||||
|
|
||||||
, appSessionFilesExpire :: NominalDiffTime
|
|
||||||
, appKeepUnreferencedFiles :: NominalDiffTime
|
|
||||||
|
|
||||||
, appPruneUnreferencedFilesWithin :: Maybe NominalDiffTime
|
|
||||||
, appPruneUnreferencedFilesInterval :: NominalDiffTime
|
|
||||||
|
|
||||||
, appInitialLogSettings :: LogSettings
|
|
||||||
|
|
||||||
, appTransactionLogIPRetentionTime :: NominalDiffTime
|
|
||||||
|
|
||||||
, appReloadTemplates :: Bool
|
|
||||||
-- ^ Use the reload version of templates
|
|
||||||
, appMutableStatic :: Bool
|
|
||||||
-- ^ Assume that files in the static dir may change after compilation
|
|
||||||
, appSkipCombining :: Bool
|
|
||||||
-- ^ Perform no stylesheet/script combining
|
|
||||||
, appAuthDummyLogin :: Bool
|
|
||||||
-- ^ Indicate if auth dummy login should be enabled.
|
|
||||||
, appAllowDeprecated :: Bool
|
|
||||||
-- ^ Indicate if deprecated routes are accessible for everyone
|
|
||||||
, appEncryptErrors :: Bool
|
|
||||||
, appClearCache :: Bool
|
|
||||||
|
|
||||||
, appUserDefaults :: UserDefaultConf
|
|
||||||
, appAuthPWHash :: PWHashConf
|
|
||||||
|
|
||||||
, appExternalApisPingInterval
|
|
||||||
, appExternalApisPongTimeout
|
|
||||||
, appExternalApisExpiry :: NominalDiffTime
|
|
||||||
|
|
||||||
, appCookieSettings :: RegisteredCookie -> CookieSettings
|
|
||||||
|
|
||||||
, appMemcachedConf :: Maybe MemcachedConf
|
|
||||||
, appMemcacheAuth :: Bool
|
|
||||||
, appMemcachedLocalConf :: Maybe (ARCConf Int)
|
|
||||||
|
|
||||||
, appUploadCacheConf :: Maybe Minio.ConnectInfo
|
|
||||||
, appUploadCacheBucket, appUploadTmpBucket :: Minio.Bucket
|
|
||||||
, appInjectFiles :: Maybe NominalDiffTime
|
|
||||||
, appRechunkFiles :: Maybe NominalDiffTime
|
|
||||||
, appCheckMissingFiles :: Maybe NominalDiffTime
|
|
||||||
, appFileUploadDBChunksize :: Int
|
|
||||||
|
|
||||||
|
|
||||||
, appFavouritesQuickActionsBurstsize
|
|
||||||
, appFavouritesQuickActionsAvgInverseRate :: Word64
|
|
||||||
, appFavouritesQuickActionsTimeout :: DiffTime
|
|
||||||
, appFavouritesQuickActionsCacheTTL :: Maybe DiffTime
|
|
||||||
|
|
||||||
, appPersistentTokenBuckets :: TokenBucketIdent -> TokenBucketConf
|
|
||||||
|
|
||||||
, appFallbackPersonalisedSheetFilesKeysExpire :: NominalDiffTime
|
|
||||||
|
|
||||||
, appDownloadTokenExpire :: NominalDiffTime
|
|
||||||
|
|
||||||
, appInitialInstanceID :: Maybe (Either FilePath UUID)
|
|
||||||
, appRibbon :: Maybe Text
|
|
||||||
|
|
||||||
, appJobMode :: JobMode
|
|
||||||
|
|
||||||
, appStudyFeaturesRecacheRelevanceWithin :: Maybe NominalDiffTime
|
|
||||||
, appStudyFeaturesRecacheRelevanceInterval :: NominalDiffTime
|
|
||||||
|
|
||||||
, appJobLmsQualificationsEnqueueHour :: Maybe Natural
|
|
||||||
, appJobLmsQualificationsDequeueHour :: Maybe Natural
|
|
||||||
|
|
||||||
, appFileSourceARCConf :: Maybe (ARCConf Int)
|
|
||||||
, appFileSourcePrewarmConf :: Maybe PrewarmCacheConf
|
|
||||||
|
|
||||||
, appBotMitigations :: Set SettingBotMitigation
|
|
||||||
|
|
||||||
, appVolatileClusterSettingsCacheTime :: DiffTime
|
|
||||||
|
|
||||||
, appJobMaxFlush :: Maybe Natural
|
|
||||||
|
|
||||||
, appCommunicationAttachmentsMaxSize :: Maybe Natural
|
|
||||||
, appCommunicationGlobalCC :: Maybe UserEmail
|
|
||||||
|
|
||||||
, appFileChunkingParams :: FastCDCParameters
|
|
||||||
|
|
||||||
, appLegalExternal :: Set LegalExternal
|
|
||||||
|
|
||||||
} deriving Show
|
|
||||||
|
|
||||||
|
|
||||||
data JobMode = JobsLocal { jobsAcceptOffload :: Bool }
|
data JobMode = JobsLocal { jobsAcceptOffload :: Bool }
|
||||||
| JobsOffload
|
| JobsOffload
|
||||||
| JobsDrop
|
| JobsDrop
|
||||||
@ -667,6 +493,7 @@ data AppSettings = AppSettings
|
|||||||
-- ^ Configuration settings for CSV export/import to LMS (= Learn Management System) -- TODO, TODISCUSS: reimplement as user-auth source?
|
-- ^ Configuration settings for CSV export/import to LMS (= Learn Management System) -- TODO, TODISCUSS: reimplement as user-auth source?
|
||||||
, appAvsConf :: Maybe AvsConf
|
, appAvsConf :: Maybe AvsConf
|
||||||
-- ^ Configuration settings for accessing AVS Server (= Ausweis Verwaltungs System) -- TODO, TODISCUSS: reimplement as user-auth source?
|
-- ^ Configuration settings for accessing AVS Server (= Ausweis Verwaltungs System) -- TODO, TODISCUSS: reimplement as user-auth source?
|
||||||
|
, appAvsLicenceSynchConf :: Maybe AvsLicenceSynchConf
|
||||||
, appLprConf :: LprConf
|
, appLprConf :: LprConf
|
||||||
-- ^ Configuration settings for accessing a printer queue via lpr for letter mailing
|
-- ^ Configuration settings for accessing a printer queue via lpr for letter mailing
|
||||||
, appSmtpConf :: Maybe SmtpConf
|
, appSmtpConf :: Maybe SmtpConf
|
||||||
@ -736,6 +563,8 @@ data AppSettings = AppSettings
|
|||||||
, appSynchroniseAvsUsersWithin :: Maybe NominalDiffTime
|
, appSynchroniseAvsUsersWithin :: Maybe NominalDiffTime
|
||||||
, appSynchroniseAvsUsersInterval :: NominalDiffTime
|
, appSynchroniseAvsUsersInterval :: NominalDiffTime
|
||||||
|
|
||||||
|
, appSynchroniseLdapUsersExpire :: Maybe NominalDiffTime
|
||||||
|
|
||||||
, appSessionFilesExpire :: NominalDiffTime
|
, appSessionFilesExpire :: NominalDiffTime
|
||||||
, appKeepUnreferencedFiles :: NominalDiffTime
|
, appKeepUnreferencedFiles :: NominalDiffTime
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user