@@ -12,6 +12,7 @@ import qualified Data.Text.Encoding as TE
1212import Data.Time.Clock ( NominalDiffTime )
1313import Database.PostgreSQL.Simple ( Connection )
1414import qualified Database.PostgreSQL.Simple as Sql
15+ import qualified Network.Wai.Handler.Warp as Warp
1516import Options.Applicative
1617 ( Parser
1718 , ParserInfo
@@ -33,7 +34,9 @@ import qualified Options.Applicative as Opt
3334data Opts = Opts
3435 { optDbName :: Text
3536 , optDbUser :: Text
36- , optDbHost :: FilePath
37+ , optDbPass :: Text
38+ , optDbHost :: String
39+ , optDbPort :: Warp. Port
3740 , optDbMetadataTableName :: Text
3841 , optDbConnections :: Int
3942 , optGitURL :: Text
@@ -45,7 +48,9 @@ parseOpts :: Parser Opts
4548parseOpts = Opts
4649 <$> strOption (long " db" <> metavar " DB_NAME" <> help " Name of the database to store and read metadata from" )
4750 <*> strOption (long " db-user" <> metavar " DB_USER" <> help " User to connect to metadata database with" )
51+ <*> strOption (long " db-pass" <> metavar " DB_PASS" <> help " Password to connect to metadata database with" )
4852 <*> strOption (long " db-host" <> metavar " DB_HOST" <> showDefault <> value " /run/postgresql" <> help " Host for the metadata database connection" )
53+ <*> strOption (long " db-port" <> metavar " DB_PORT" <> showDefault <> value 5432 <> help " Port for the metadata database connection" )
4954 <*> strOption (long " db-table" <> metavar " DB_TABLE" <> showDefault <> value " metadata" <> help " Table in the database to store metadata" )
5055 <*> option auto (long " db-conns" <> metavar " INT" <> showDefault <> value 1 <> help " Number of connections to open to the database" )
5156 <*> strOption (long " git-url" <> metavar " GIT_URL" <> help " URL of the metadata registry git repository" )
6166 )
6267
6368pgConnectionString :: Opts -> BC. ByteString
64- pgConnectionString (Opts { optDbName = dbName, optDbUser = dbUser, optDbHost = dbHost }) =
65- TE. encodeUtf8 $ " host=" <> T. pack dbHost <> " dbname=" <> dbName <> " user=" <> dbUser
69+ pgConnectionString (Opts { optDbName = dbName, optDbUser = dbUser, optDbPass = dbPass, optDbHost = dbHost, optDbPort = dbPort }) =
70+ TE. encodeUtf8 $ " host=" <> T. pack dbHost <> " dbname=" <> dbName <> " user=" <> dbUser " password= " <> dbPass " port= " <> dbPort
6671
6772mkConnectionPool
6873 :: BC. ByteString
0 commit comments