This makes the configuration simpler but requires us to be able
to set IP addresses on instances.
This also, for simplicity, reduces the number of nodes to 3.
The script does not make assumption about specific IP addresses,
but does assume that the nodes have IP addresses such as:
a.b.c.200, a.b.c.201, and a.b.c.202.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
Instead of specifying the number of instances, provide a list
of IP addresses for instances. These are passed to the instance
plugin as LogicalID.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
InfraKit may pass an optional LogicalID into an instance. It expects
this LogicalID to be returned via DescribeInstances(). If they don't
match, it assumes something is wrong.
Here, we use the LogicalID passed in (or construct one based on
the internal ID) and stash it in the state directory. It is retrieved
in DescribeInstances().
While at it, also improve logging.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This refactors the mount handling, without changing any defaults.
Any specification of a mount destination will override the default,
so if you want to make `sysfs` read only you can add
```
mounts:
- type: sysfs
options: ["ro"]
```
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit implements `moby run gcp` which allows for testing of moby
images on the Google Cloud Platform
This backend attaches (via SSH) to the serial console.
It generates instance-only SSH keys and adds the public key to the
image metadata. These are used by the `moby` tool only.
It will also automatically upload a file and creates an image if the prefix
given to `moby run` is a filename
Signed-off-by: Dave Tucker <dt@docker.com>
This commit uses the older GCP API as it supports both compute and
storage. As a result, we can now use either Application Default
Credentials that are generated using the `gcloud` tool or by supplying the
service account credentials in JSON format
Signed-off-by: Dave Tucker <dt@docker.com>
This adds every capability. We had this before the OCI changes as we
passed these values to Docker. Makes fully privileged containers less verbose.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
In #1485 I was still using a local mobylinux/init containing #1436, even though
I had included the necessary files in the swarmd container.
Switch to the current standard init package and drop the unnecessary bind.
Also `git add .gitignore` which I forgot last time too.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
This is based on https://github.com/docker/swarmkit/pull/1965 which adds a
direct containerd executor to swarmkit. It is very much a work in progress.
With a suitable moby image (such as projects/swarmd/swarmd.yml) 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
Signed-off-by: Ian Campbell <ian.campbell@docker.com>