Files
linuxkit/projects/swarmd
Ian Campbell 4df5d394e8 Bump yml
Done as follows:

    find -name build.yml | xargs dirname | while read d ; do
        t=$(linuxkit pkg show-tag $d)
        ./scripts/update-component-sha.sh --image ${t%:*} ${t#*:}
    done
    git commit -s test pkg tools blueprints examples projects/kubernetes projects/swarmd docs linuxkit.yml Makefile src

This explicitly excludes projects/* which I did not know whether to update.

Then:

    git reset --hard
    for i in init runc containerd ca-certificates sysctl dhcpcd getty rngd ; do
        o=$(git grep -h "\(image:\|-\) *linuxkit/$i:[0-9a-f]\{40\}" origin/master:linuxkit.yml | awk '// { print $2 }')
        n=$(linuxkit pkg show-tag pkg/$i)
        ./scripts/update-component-sha.sh "$o" "$n"
    done
    git commit --amend projects

This updates any projects which were using components with the same hash as the
top-level linuxkit.yml.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 13:23:45 +01:00
..
2017-10-10 09:55:45 +01:00
2017-07-03 10:35:04 +01:00
2017-10-10 13:23:45 +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.