spindle: engine: consume from knotstream and execute
The engine package currently uses the docker client setup the pipeline
and execute steps. The flow is like so:
- setup pipeline network for all steps to join to
- create a volume for the nix store (to persist packages across steps)
- create a volume for the workspace directory
- build a nixery.dev URL with packages we want in the container
- execute each step command in a new container using the same image
It's pretty unfinished still. Things to be done:
- support for other registries; currently only works with nixpkgs
- custom nixery URL
- ... a lot more that I'm forgetting now
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.sh>