Ref T2794. I'm not 100% sold on the design of this and it doesn't interact with any other code yet, but get deployment-related code upstream.
The overall approach I'm taking here is that you build a "plan", which is like a DOM tree of stuff you want to do, then execute the plan.
The only plan we build or execute right now goes like this:
- Phage Plan
- Launch a local Phage agent
- Have that agent run a bunch of commands
- Launch a local Phage agent
...but I think this approach should be flexible enough to accommodate more complicated deployment processes in the future.