module Main where import MiniResolution.Plan ( catalog , parseRequest , renderPlan , resolveRequests ) import System.Environment (getArgs) import System.Exit (die) main :: IO () main = do args <- getArgs let inputArgs = case args of [] -> [ "api:production:stable" , "worker:staging:candidate" , "auth:production:stable" ] _ -> args case traverse parseRequest inputArgs of Left err -> die err Right requests -> case resolveRequests catalog requests of Left err -> die err Right deployments -> putStrLn (renderPlan deployments)