30 lines
716 B
Haskell
30 lines
716 B
Haskell
|
|
module Main where
|
||
|
|
|
||
|
|
import MiniStack.Rollout
|
||
|
|
( defaultEnv
|
||
|
|
, parseRequest
|
||
|
|
, renderError
|
||
|
|
, renderLog
|
||
|
|
, renderSummary
|
||
|
|
, runRollout
|
||
|
|
)
|
||
|
|
import System.Environment (getArgs)
|
||
|
|
import System.Exit (die)
|
||
|
|
|
||
|
|
main :: IO ()
|
||
|
|
main = do
|
||
|
|
args <- getArgs
|
||
|
|
let inputArg =
|
||
|
|
case args of
|
||
|
|
[] -> "api:production:4"
|
||
|
|
firstArg : _ -> firstArg
|
||
|
|
|
||
|
|
case parseRequest inputArg of
|
||
|
|
Left err -> die err
|
||
|
|
Right request ->
|
||
|
|
case runRollout defaultEnv request of
|
||
|
|
(Left rolloutError, auditLog) -> die (renderError rolloutError ++ "\n" ++ renderLog auditLog)
|
||
|
|
(Right rolloutSummary, auditLog) -> do
|
||
|
|
putStrLn (renderSummary rolloutSummary)
|
||
|
|
putStrLn (renderLog auditLog)
|