This moves some of the linux specific options like namespaces and
devices to the linux config document. It also removes processes as an
array and replaces it with a single process.
It adds the "platform" struct for OS and Arch and updates many of the
examples to match the changes. I also remove some of the redundant
windows examples on the portable spec document because they did not add
any extra value and many values were the same.
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
These actions need consistent tooling, and they're the sweet spot for
tools like runc. Once you map the container spec to the filesystem,
the other actions (copy, snapshot, upload, download) can all be
handled by existing tools (e.g. POSIX's 'cp', 'btrfs subvolume
snapshot', netcat, etc.). If existing tooling for those actions is
not sufficiently portable, new portable tools can be written, but that
should be separate from the container-specific stuff here.
I'm not sure about the intended meaning of the 'tagged' action. Was
that intended for discoverability ("I want a container named 'Nginx'")
or auth ("Is my local /srv/nginx the same container 'Nginx' that Bob
audited?"). I think both are independent of the container runtime
though.
We had an in-person spec discussion, lets separate the spec into some
high-level sections to clarify future discussion.
Crosby agreed to let me merge to master :)