Files
linuxkit/projects/swarmd
Ian Campbell 5833d1b6bc init: replace ctr with a custom client using the containerd client library
Currently it supports only `service start <SERVICE>`, but it could grow e.g.
`stop`, `exec` etc in the future (although you can still use `ctr` for those).

In order to be able to use go-compile.sh the containerd build needs to move
from /root/go to /go as the GOPATH.

The vendoring situation is not ideal, but since this tool wants to be an exact
match for the containerd it seems tollerable to reuse its vendoring.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-16 11:48:53 +01:00
..
2017-06-07 16:19:40 -06:00
2017-04-04 16:00:03 +01:00

swarmd package

This adds a swarmd package for Moby which contains the standalone swarmkit orchestration daemon (swarmd) and CLI tool (swarmctl).

The package tracks [docker/swarmkit#1965][PR1965] which is a WIP PR adding a containerd executor to swarmkit.

With a suitable moby image (such as swarmd.yml from this directory) something like this should work:

runc exec swarmd swarmctl service create --image docker.io/library/nginx:alpine --name nginx
runc exec swarmd swarmctl service ls

TODO

Currently the swarm state directory needs to be at a path which is identical from the PoV of both the containerd and swarmd processes. For now this means that the swarmkit state is put in /var/lib/containerd/swarmd.

Bootstrapping a cluster needs more invesigation. Tokens and join addresses can currently only be passed on the swarmd command line which is inconvenient for automated image deployment.

Swarmkit [PR 1965][PR1965] also contains a number of TODOs which are not separately listed here.