myriad/src/Main.hs

36 lines
850 B
Haskell
Raw Normal View History

2019-07-09 11:19:41 +02:00
module Main where
2019-07-11 07:00:41 +02:00
import qualified Data.Text as T
import Options.Applicative
2019-07-09 11:19:41 +02:00
import Network.Wai.Handler.Warp (run)
import Myriad.Core
import Myriad.Docker
import Myriad.Server
2019-07-11 07:00:41 +02:00
data Args = Args
{ configInput :: T.Text
}
parseArgs :: IO Args
parseArgs = execParser $ info (helper <*> args) (fullDesc <> progDesc "Run the Myriad server")
where
args = Args <$> option str (mconcat
[ long "config"
, short 'c'
, help "Sets the Dhall configuration"
, metavar "DHALL"
])
2019-07-09 11:19:41 +02:00
main :: IO ()
main = do
2019-07-11 07:00:41 +02:00
Args { configInput } <- parseArgs
env <- initEnv configInput
2019-07-09 11:19:41 +02:00
runMyriadT env do
buildAllImages
startCleanup
2019-07-18 13:40:29 +02:00
logInfo ["Finished Docker-related setup"]
logInfo ["Starting server"]
2019-07-09 11:19:41 +02:00
run (fromIntegral . port . config $ env) $ app env