Files
linuxkit/projects/swarmd
Ian Campbell 29fc12607f Update various other go base pkgs to newer alpine (go1.9)
These are those which set $GOPATH but don't use go-compile.sh.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:50:47 +01:00
..
2017-07-03 10:35:04 +01:00
2017-10-12 13:04:16 +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 ijc's container-wip branch. Compared with mainline swarmkit (which container a basic containerd executor merged in PR1965) this reworks the executor to use the container client library and adds support for CNI networking.

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

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

Note that swarmd uses the "swarmd" containerd namespace, so to see swarmd managed containers you will need to use -n swarmd on all ctr commands e.g.:

ctr -n swarmd containers ls

Alternatively you may export CONTAINERD_NAMESPACE=swarmd.

TODO

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

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