Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion libs/wire-api/src/Wire/API/SystemSettings.hs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import Servant.OpenApi.Internal.Orphans ()
import Test.QuickCheck
import Wire.Arbitrary

-- | Subset of `Brig.Options.Settings` that is safe to be shown in public.
-- | Subset of `Wire.Options.Settings` that is safe to be shown in public.
--
-- Used to expose settings via the @/system/settings/unauthorized@ endpoint.
-- ALWAYS CHECK WITH SECURITY IF YOU WANT TO ADD SETTINGS HERE.
Expand Down
629 changes: 629 additions & 0 deletions libs/wire-subsystems/src/Wire/Options.hs

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion libs/wire-subsystems/src/Wire/Options/Galley.hs
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ data Opts = Opts
_federator :: !(Maybe Endpoint),
-- | RabbitMQ settings, required when federation is enabled.
_rabbitmq :: !(Maybe AmqpEndpoint),
-- | Disco URL
-- | Disco URL. TODO: Remove
_discoUrl :: !(Maybe Text),
-- | Other settings
_settings :: !Settings,
Expand Down
2 changes: 2 additions & 0 deletions libs/wire-subsystems/wire-subsystems.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ common common-all
, currency-codes
, data-default
, data-timeout
, dns
, email-validate
, errors
, exceptions
Expand Down Expand Up @@ -377,6 +378,7 @@ library
Wire.MigrationLock
Wire.NotificationSubsystem
Wire.NotificationSubsystem.Interpreter
Wire.Options
Wire.Options.Galley
Wire.Options.Keys
Wire.PaginationState
Expand Down
2 changes: 0 additions & 2 deletions services/brig/brig.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,6 @@ library
Brig.IO.Journal
Brig.IO.Logging
Brig.Main
Brig.Options
Brig.Provider.API
Brig.Provider.DB
Brig.Provider.Email
Expand Down Expand Up @@ -257,7 +256,6 @@ library
, imports
, insert-ordered-containers
, iproute >=1.5
, iso639 >=0.1
, jose
, jwt-tools
, lens >=3.8
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/Auth.hs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import Brig.API.Error
import Brig.API.Handler
import Brig.API.Types
import Brig.App
import Brig.Options
import Wire.Options
import Brig.User.Auth qualified as Auth
import Control.Monad.Trans.Except
import Data.CommaSeparatedList
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/Connection.hs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import Brig.Data.Connection qualified as Data
import Brig.Data.Types (resultHasMore, resultList)
import Brig.IO.Intra qualified as Intra
import Brig.IO.Logging
import Brig.Options
import Wire.Options
import Control.Error
import Control.Monad.Catch (throwM)
import Data.Id as Id
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/Connection/Remote.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import Brig.API.Types (ConnectionError (..))
import Brig.App
import Brig.Data.Connection qualified as Data
import Brig.IO.Intra qualified as Intra
import Brig.Options
import Wire.Options
import Control.Comonad
import Control.Error.Util ((??))
import Control.Monad.Trans.Except
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/Connection/Util.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ where
import Brig.API.Types
import Brig.App
import Brig.Data.Connection qualified as Data
import Brig.Options (Settings (userMaxConnections))
import Wire.Options (Settings (userMaxConnections))
import Control.Error (MaybeT, noteT)
import Control.Monad.Trans.Except
import Data.Id (UserId)
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/Federation.hs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import Brig.API.User qualified as API
import Brig.App
import Brig.Data.Connection qualified as Data
import Brig.IO.Intra (notify)
import Brig.Options
import Wire.Options
import Brig.User.API.Handle
import Brig.User.Search.SearchIndex qualified as Q
import Control.Error.Util
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/Handler.hs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import Brig.API.Error
import Brig.AWS qualified as AWS
import Brig.App
import Brig.CanonicalInterpreter (BrigCanonicalEffects, runBrigToIO)
import Brig.Options (allowlistEmailDomains)
import Wire.Options (allowlistEmailDomains)
import Control.Error
import Control.Exception (throwIO)
import Control.Monad.Catch (catches, throwM)
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/Internal.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import Brig.Data.Activation
import Brig.Data.Connection qualified as Data
import Brig.Data.MLS.KeyPackage qualified as Data
import Brig.Effects.UserPendingActivationStore (UserPendingActivationStore)
import Brig.Options hiding (internalEvents)
import Wire.Options hiding (internalEvents)
import Brig.Provider.API qualified as Provider
import Brig.Team.API qualified as Team
import Brig.User.EJPD qualified
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/MLS/KeyPackages/Validation.hs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ where
import Brig.API.Error
import Brig.API.Handler
import Brig.App
import Brig.Options
import Wire.Options
import Control.Applicative
import Data.ByteString qualified as LBS
import Data.Qualified
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/MLS/Util.hs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ module Brig.API.MLS.Util where

import Brig.API.Handler
import Brig.App
import Brig.Options
import Wire.Options
import Control.Error
import Imports
import Wire.ClientSubsystem.Error
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/OAuth.hs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ where
import Brig.API.Error (throwStd)
import Brig.API.Handler (Handler)
import Brig.App
import Brig.Options qualified as Opt
import Wire.Options qualified as Opt
import Cassandra hiding (Set)
import Cassandra qualified as C
import Control.Error
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/Public.hs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ import Brig.Effects.JwtTools (JwtTools)
import Brig.Effects.PublicKeyBundle (PublicKeyBundle)
import Brig.Effects.SFT
import Brig.Effects.UserPendingActivationStore (UserPendingActivationStore)
import Brig.Options hiding (internalEvents)
import Wire.Options hiding (internalEvents)
import Brig.Provider.API
import Brig.Team.API qualified as Team
import Brig.Template (InvitationUrlTemplates)
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/API/User.hs
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ import Brig.Effects.ConnectionStore
import Brig.Effects.UserPendingActivationStore (UserPendingActivation (..), UserPendingActivationStore)
import Brig.Effects.UserPendingActivationStore qualified as UserPendingActivationStore
import Brig.IO.Intra qualified as Intra
import Brig.Options hiding (internalEvents)
import Wire.Options hiding (internalEvents)
import Brig.User.Auth.Cookie qualified as Auth
import Cassandra hiding (Set)
import Control.Error
Expand Down
22 changes: 14 additions & 8 deletions services/brig/src/Brig/AWS.hs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ import Amazonka.DynamoDB qualified as DDB
import Amazonka.SES qualified as SES
import Amazonka.SQS qualified as SQS
import Amazonka.SQS.Lens qualified as SQS
import Brig.Options qualified as Opt
import Control.Exception.Lens
import Control.Lens hiding ((.=))
import Control.Monad.Catch
Expand All @@ -69,12 +68,13 @@ import UnliftIO.Async
import UnliftIO.Exception
import Util.Options
import Wire.AWS (canRetry, sendCatch)
import Wire.Options qualified as Opt

data Env = Env
{ _logger :: !Logger,
_sesQueue :: !(Maybe Text),
_userJournalQueue :: !(Maybe Text),
_prekeyTable :: !Text,
_prekeyTable :: !(Maybe Text),
_amazonkaEnv :: !AWS.Env
}

Expand All @@ -99,20 +99,26 @@ newtype Amazon a = Amazon
instance MonadLogger Amazon where
log l m = view logger >>= \g -> Logger.log g l m

mkEnv :: Logger -> Opt.AWSOpts -> Maybe Opt.EmailAWSOpts -> Manager -> IO Env
mkEnv lgr opts emailOpts mgr = do
mkEnv ::
Logger ->
Opt.SqsOpts ->
Maybe Opt.DynamoDBPrekeySelectionOpts ->
Maybe Opt.EmailAWSOpts ->
Manager ->
IO Env
mkEnv lgr sqsOpts dynamoDBOpts emailOpts mgr = do
let g = Logger.clone (Just "aws.brig") lgr
let pk = Opt.prekeyTable opts
let pk = Opt.tableName <$> dynamoDBOpts
let sesEndpoint = mkEndpoint SES.defaultService . Opt.sesEndpoint <$> emailOpts
let dynamoEndpoint = mkEndpoint DDB.defaultService <$> Opt.dynamoDBEndpoint opts
let dynamoEndpoint = mkEndpoint DDB.defaultService . Opt.dynamoDBEndpoint <$> dynamoDBOpts
e <-
mkAwsEnv
g
sesEndpoint
dynamoEndpoint
(mkEndpoint SQS.defaultService (Opt.sqsEndpoint opts))
(mkEndpoint SQS.defaultService (Opt.sqsEndpoint sqsOpts))
sq <- maybe (pure Nothing) (fmap Just . getQueueUrl e . Opt.sesQueue) emailOpts
jq <- maybe (pure Nothing) (fmap Just . getQueueUrl e) (Opt.userJournalQueue opts)
jq <- maybe (pure Nothing) (fmap Just . getQueueUrl e) (Opt.userJournalQueue sqsOpts)
pure (Env g sq jq pk e)
where
mkEndpoint svc e = AWS.setEndpoint (e ^. awsSecure) (e ^. awsHost) (e ^. awsPort) svc
Expand Down
4 changes: 2 additions & 2 deletions services/brig/src/Brig/App.hs
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ import Bilge.RPC (HasRequestId (..))
import Brig.AWS qualified as AWS
import Brig.Calling qualified as Calling
import Brig.DeleteQueue.Interpreter
import Brig.Options (ElasticSearchOpts, Opts, Settings (..))
import Brig.Options qualified as Opt
import Wire.Options (ElasticSearchOpts, Opts, Settings (..))
import Wire.Options qualified as Opt
import Brig.Provider.Template
import Brig.Queue.Stomp qualified as Stomp
import Brig.Queue.Types
Expand Down
4 changes: 2 additions & 2 deletions services/brig/src/Brig/Calling.hs
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ module Brig.Calling
)
where

import Brig.Options (SFTOptions (..), defSftListLength, defSftServiceName, defSrvDiscoveryIntervalSeconds)
import Brig.Options qualified as Opts
import Control.Exception.Enclosed (handleAny)
import Control.Lens
import Control.Monad.Random.Class (MonadRandom)
Expand Down Expand Up @@ -79,6 +77,8 @@ import UnliftIO.Async qualified as Async
import Wire.API.Call.Config
import Wire.Network.DNS.Effect
import Wire.Network.DNS.SRV
import Wire.Options (SFTOptions (..), defSftListLength, defSftServiceName, defSrvDiscoveryIntervalSeconds)
import Wire.Options qualified as Opts
import Wire.Sem.Delay
import Wire.Sem.Logger.TinyLog

Expand Down
4 changes: 2 additions & 2 deletions services/brig/src/Brig/Calling/API.hs
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ import Brig.Calling
import Brig.Calling qualified as Calling
import Brig.Calling.Internal
import Brig.Effects.SFT
import Brig.Options (ListAllSFTServers (..))
import Brig.Options qualified as Opt
import Wire.Options (ListAllSFTServers (..))
import Wire.Options qualified as Opt
import Control.Error (hush, throwE)
import Control.Lens
import Crypto.Hash qualified as Crypto
Expand Down
4 changes: 2 additions & 2 deletions services/brig/src/Brig/CanonicalInterpreter.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ import Brig.Effects.SFT (SFT, interpretSFT)
import Brig.Effects.UserPendingActivationStore (UserPendingActivationStore)
import Brig.Effects.UserPendingActivationStore.Cassandra (userPendingActivationStoreToCassandra)
import Brig.IO.Intra (runEvents)
import Brig.Options (Settings (consumableNotifications), federationDomainConfigs, federationStrategy)
import Brig.Options qualified as Opt
import Wire.Options (Settings (consumableNotifications), federationDomainConfigs, federationStrategy)
import Wire.Options qualified as Opt
import Brig.Template (InvitationUrlTemplates)
import Brig.User.Search.Index (IndexEnv (..))
import Cassandra qualified as Cas
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/Data/MLS/KeyPackage.hs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ where

import Brig.API.MLS.KeyPackages.Validation
import Brig.App
import Brig.Options
import Wire.Options
import Cassandra
import Control.Arrow
import Control.Error
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/Data/User.hs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module Brig.Data.User
where

import Brig.App
import Brig.Options
import Wire.Options
import Control.Error
import Data.Handle (Handle)
import Data.Id
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/Index/Eval.hs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ where

import Brig.App (initHttpManagerWithTLSConfig, mkIndexEnv)
import Brig.Index.Options as IxOpts
import Brig.Options as Opt
import Wire.Options as Opt
import Brig.User.Search.Index
import Cassandra (ClientState)
import Cassandra.Options
Expand Down
14 changes: 7 additions & 7 deletions services/brig/src/Brig/Index/Options.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ module Brig.Index.Options
cKeyspace,
PostgresSettings (..),
localElasticSettings,
brigOptsToPostgresSettings,
wireConfigToPostgresSettings,
localCassandraSettings,
commandParser,
mkCreateIndexSettings,
Expand All @@ -49,7 +49,6 @@ module Brig.Index.Options
where

import Brig.Index.Types (CreateIndexSettings (..))
import Brig.Options qualified as Opts
import Cassandra qualified as C
import Control.Lens
import Data.Aeson as Aeson
Expand All @@ -71,6 +70,7 @@ import Options.Applicative
import URI.ByteString
import URI.ByteString.QQ
import Util.Options (CassandraOpts (..), Endpoint (..), FilePathSecrets)
import Wire.Options qualified as Opts

data Command
= Create ElasticSettings Endpoint
Expand Down Expand Up @@ -168,12 +168,12 @@ localElasticSettings =
_esDeleteTemplate = Nothing
}

brigOptsToPostgresSettings :: Opts.Opts -> PostgresSettings
brigOptsToPostgresSettings opts =
wireConfigToPostgresSettings :: Opts.WireConfig -> PostgresSettings
wireConfigToPostgresSettings opts =
PostgresSettings
{ pool = opts.postgresqlPool,
passwordFile = opts.postgresqlPassword,
settings = opts.postgresql
{ pool = opts.externalServices.postgresqlPool,
passwordFile = opts.externalServices.postgresqlPassword,
settings = opts.externalServices.postgresql
}

localCassandraSettings :: CassandraSettings
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/InternalEvent/Process.hs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import Brig.App
import Brig.IO.Intra (rmClient)
import Brig.IO.Intra qualified as Intra
import Brig.InternalEvent.Types
import Brig.Options (defDeleteThrottleMillis, deleteThrottleMillis)
import Wire.Options (defDeleteThrottleMillis, deleteThrottleMillis)
import Brig.Provider.API qualified as API
import Control.Monad.Catch
import Data.ByteString.Conversion
Expand Down
2 changes: 1 addition & 1 deletion services/brig/src/Brig/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

module Brig.Main where

import Brig.Options (Opts (postgresql))
import Wire.Options (Opts (postgresql))
import Brig.Run
import Data.Map qualified as Map
import Data.Yaml qualified as Yaml
Expand Down
Loading