30 lines
652 B
Haskell
Raw Permalink Normal View History

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)