module Main where import MiniAudit.Rollout ( parseJob , renderAudit , renderReport , runRollout ) import System.Environment (getArgs) import System.Exit (die) main :: IO () main = do args <- getArgs let inputArgs = case args of [] -> ["api:production:canary:20:3", "worker:staging:rolling:0:2"] _ -> args case traverse parseJob inputArgs of Left err -> die err Right jobs -> mapM_ ( \job -> do let (report, auditLog) = runRollout job putStrLn (renderReport report) putStrLn (renderAudit auditLog) ) jobs