Repeatr: Reproducible, hermetic Computation. Provision containers from Content-Addressable snapshots; run using familiar containers (e.g. runc); store outputs in Content-Addressable form too! JSON API; connect your own pipelines! (Or, use github.com/polydawn/stellar for pipelines!)
A submodule update to our minor fork of errors to be tolerant of mundane-typed panics.
Dispatch refactored into packages such that an executor can use them without an import cycle.
MVP implementation of input/tar and output/tar, using exec wrapping and blind to hashes.
A very basic nsinit executor. Assumes the existence of a docker0 bridge for outbound networking, does not ensure the existence of a valid DNS configuration, exec wraps nsinit... but works great!
Unresolved:
The executor will create a folder for each output's location. This is great for scripts that assume the existence of an output folder (so basically, every script every written :/ ) but won't be great if an output is supposed to be a single file.
The output tar transport is kinda wacky with its transform call, and both tar transports can be replaced later with native usage of treewalk / etc.
The Output interface method I added currently takes the rootFS path, and is expected to join the output's Location to get something real. This is largely an artefact of our earlier internal conversation + confusion, and I could be easily convinced to bring it in line with the Input interface.
Early days, so a few things are bundled:
errors
to be tolerant of mundane-typed panics.input/tar
andoutput/tar
, using exec wrapping and blind to hashes.docker0
bridge for outbound networking, does not ensure the existence of a valid DNS configuration, exec wrapsnsinit
... but works great!Unresolved: