30 lines
652 B
Haskell
30 lines
652 B
Haskell
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)
|