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)