Commit Graph

976 Commits

Author SHA1 Message Date
Rolf Neugebauer
ffe6de1119 Update YAMLs to new kernel versions
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-20 12:14:40 +01:00
Rolf Neugebauer
60dd54670f Update YAML files with new getty, ip, and sshd package hashes
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-20 11:52:42 +01:00
Ian Campbell
7d7b65aa19 kubernetes: simpler rune to get image digest
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 13:31:38 +01:00
Ian Campbell
b7721daa69 kubernetes: bump yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:55:56 +01:00
Ian Campbell
965635ab86 kubernetes: Bump to latest cri-containerd
Fixes access to GCR private registries and implements mount point propagation.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:52:51 +01:00
Ian Campbell
3018c8add1 kubernetes: Add force{tag,push} targets to image-cache build
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:34:18 +01:00
Ian Campbell
faecbffff2 kubernetes: Bump to v1.7.6
Also pickup Weave 2.0.6 and CNI 0.6.0. Note that the CNI plugins have moved to
a new directory.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:28:18 +01:00
Ian Campbell
50ddffb1a5 kubernetes: Autogenerate file with image cache digests
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:28:14 +01:00
Ian Campbell
605c4b6675 kubernetes: Move images for caches into separate file
Will be auto-generated.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-19 11:28:14 +01:00
Justin Cormack
2010d999ca update hashes for init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-09-18 11:53:02 -07:00
Ian Campbell
5ab6c03a08 kubernetes: Add yaml metadata
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:44:40 +01:00
Ian Campbell
7e19d38821 kubernetes: use a common base kube yml file
With the master tailoring for docker now being in docker-master.yml,
kube-master and kube-node are identical, so just use a single kube.yml.

The reference to kube-master.yml in README.md is obsolete, so just drop it.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:44:27 +01:00
Ian Campbell
1fa059bbd2 kubernetes: allow selection of runtime engine (docker vs cri-containerd)
Currently this is at build time

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:43:23 +01:00
Ian Campbell
445dcc0ac2 kubernetes: Add cri-containerd package
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:39:22 +01:00
Ian Campbell
80dff9fe99 kubernetes: update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:37:39 +01:00
Ian Campbell
b6fbc82e41 kubernetes: Configuration of kubelet via file
This allows cri-containerd and docker based systems to pass the correct options
via composition of yml files, while keeping the kubelet service stanza common.

Since bind mounts are not conditional on the presence of the source we need to
create an empty file in the docker case.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
b6d7f769be kubernetes: Link /etc/kubernetes to /var/lib/kubeadm
In some configurations /etc/kubernetes needs to be a valid host path.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
1e15243b11 kubernetes: Enable net.ipv4.ip_forward
This doesn't seem to be necessary when using Docker Engine as the CRI backend,
but in general it is.

The sysctl container must be writeable to allow the
/etc/sysctl.d/01-kubernetes.conf mount point to be created. See #2503.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
825e43f7c4 kubernetes: bind /run with rshared,rbind
Depending on the configuration/components used the system can expect to be able
to share `/var/run/netns` (=`/run/netns` via symlink) bind mounts with other
system level containers, which requires exposing those to the host.

This doesn't appear to be needed when using Docker engine but it is with
cri-containerd.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
9397b9480a kubernetes: populate host CNI paths by binding from kubernetes service.
Kubernetes assumes (for now) that various paths are valid at the host level to
be mounted into containers, including /opt/cni and /etc/cni.

We cannot (easily) use symlinks here because the weave.yml mounts /opt and /etc
rather than /opt/cni and /etc/cni (this seems likely to be common pattern). So
if /etc/cni were a symlink to the persistent disk (under /var/lib) then it will
be dangling link within the weave container.

So add bind mounts to the runtime configuration of the kubernetes image. This
also means we must create the target mount points in the yml.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
07e4f515a4 kubernetes: add basic cni plugins dynamically
This avoids a slightly tricky sequence of nested bind mounts by just unpacking
a tarball on boot (with a stamp so it only happens once).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:54 +01:00
Ian Campbell
1074b4a8d4 kubernetes: point kubelet at /var/lib/cni directly
Still need the /opt bind to host for weave.yaml but no need for etc any longer.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 14:25:25 +01:00
Ian Campbell
35542e493c kubernetes: drop /rootfs from kubelet container
Since 424203cd9c we can use /var/lib/cni/{etc,opt} directly.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Ian Campbell
67fa0ad662 kubernetes: allow users to add kubelet options by overriding the command
For example to tell kubelet to use cri-containerd:

    command: ["/usr/bin/kubelet.sh", "--container-runtime=remote", "--container-runtime-endpoint=unix:///var/run/cri-containerd.sock"]

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Ian Campbell
32e53cf769 kubernetes: Add boot.sh options to preserve state dir and to set MAC
Not having to redo the kubeadm-init.sh step massively speeds up the test/dev
cycle. Having the same MAC (and hence same IP) is useful there too since you
don't need to figure out the mac on each boot.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Ian Campbell
b6725a1b11 kubernetes: give more resources to worker nodes.
The sock-shop demo[0] requires around 5G of images on a worker node and 3G of
RAM (if there is only one worker node and therefore everything runs on that
node).

Since the master is more than happy with the 4G disk and 1G RAM it is given
today split the settings into master and node specific and bump only the
latter.

KUBE_PORT_BASE is unused and was already removed in 54ddde0d43 but
accidentally reintroduced (by me) in 62aa9248a4, whack it again.

[0] https://microservices-demo.github.io/microservices-demo

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-18 12:24:59 +01:00
Rolf Neugebauer
2d20ef1014 Update YAML files to new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-14 17:21:01 +01:00
David Scott
2b80ff5a0f Update init version in YAML files
Signed-off-by: David Scott <dave.scott@docker.com>
2017-09-14 11:47:38 +01:00
Rolf Neugebauer
11d9dc1e99 Update YAML files to latest kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-12 11:49:52 +01:00
Rolf Neugebauer
a1dcdd6495 Update YAML files with latest kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-08 15:46:02 +01:00
Ian Campbell
b7ec19bb1f Update yml for containerd beta.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-07 18:46:40 +01:00
Rolf Neugebauer
ed8d367e2a Update 4.9.x/4.4.x kernel version in YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-04 17:58:16 +01:00
Thomas Gazagnaire
14a5b64dcc Update to latest capnp & capnp-rpc
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-09-04 16:21:53 +02:00
Justin Cormack
e27807b733 Merge pull request #2478 from justincormack/formats
Change "output" to "format" in moby tool
2017-09-02 12:00:13 +01:00
Justin Cormack
91207540e4 Change "output" to "format" in moby tool
This is less confusing as there is also an output option to set the file.

See https://github.com/moby/tool/pull/146

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-09-01 23:52:25 +01:00
Theo Koulouris
1c14f278b2 okernel build dockerfile now gets openssl package from alpine base image
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-09-01 14:26:00 +01:00
Riyaz Faizullabhoy
fb8a1bf39f Merge pull request #2464 from rn/dock-up
Update DinD from 17.06.1-ce to 17.07.0-ce
2017-08-31 09:43:53 -07:00
Rolf Neugebauer
2d1242e271 Merge pull request #2465 from t-koulouris/ok_build_updates
Updates to okernel project build files
2017-08-31 15:47:22 +01:00
Theo Koulouris
27e8c1145c Streamlined how Makefile handles okernel versions
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-08-31 14:31:41 +01:00
Theo Koulouris
c51f89a600 Removed unused device drivers and options from okernel config file
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-08-31 13:43:39 +01:00
Theo Koulouris
88a2415ff5 Stop using deprecated linuxkit/kernel-compile in okernel build Dockerfile
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-08-31 13:42:07 +01:00
Rolf Neugebauer
419deee158 Update Linux kernel versions to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 19:23:45 +01:00
Rolf Neugebauer
94cdc5aee8 Update DinD from 17.06.1-ce to 17.07.0-ce
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-30 16:52:15 +01:00
Theo Koulouris
2b6f533891 Updates to okernel project build files (multi-stage builds, clean-ups, etc)
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-08-30 15:33:34 +01:00
Ian Campbell
b34aaee4db kubernetes: document the final step for bridged networking
Having described all the setup describing the acgual usage seems useful!

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 21:25:09 +01:00
Ian Campbell
d78321d701 Update hashes for init and containerd
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-29 01:05:50 +01:00
Justin Cormack
baf76d5e0c update hashes for init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-23 16:43:18 +01:00
Justin Cormack
1c4e8c3ae2 Update Docker CE image to 17.06.1
Bug fix update.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-22 10:54:26 +01:00
Justin Cormack
6f1e4add2e Merge pull request #2444 from justincormack/cni-persistence
Kubernetes improvements
2017-08-21 20:03:30 +01:00
Justin Cormack
4fec826d22 Update kube hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 17:57:08 +01:00
Justin Cormack
c857b91e64 Update Kubernetes to 1.7.4
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 17:54:21 +01:00
Justin Cormack
498d5a1966 Merge pull request #2442 from justincormack/tools-additions
Add some more tools to base image and only clone containerd once
2017-08-21 17:00:23 +01:00
Justin Cormack
6264912489 Restrict kubernetes to amd64
- currently no arm64 binary downloads available

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 16:07:49 +01:00
Justin Cormack
1597ddb72f Update weave yaml to k8s 1.7
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:58:13 +01:00
Justin Cormack
ea87b6df79 Use standard LinuxKit base image to build Kubernetes container
- now has everything we need in it.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:51:26 +01:00
Justin Cormack
424203cd9c Move Kubernetes CNI paths to /var so they persist
Currently they will be on a read only partition so broken;
previously this would have been a non persistent read write partition
in an initramfs but this no longer works.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:46:18 +01:00
Justin Cormack
0cda27d4ef Update hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 15:40:17 +01:00
Justin Cormack
534026e3ea Use new runtime mkdir instead of mkdir container
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-21 12:01:18 +01:00
Justin Cormack
3e494f7762 Update hashes for metadata
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-19 19:30:04 +01:00
Rolf Neugebauer
efe8292e25 Update YAML files to new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-18 18:08:33 +01:00
Justin Cormack
9506d45d49 Merge pull request #2413 from justincormack/runtime-config
Add a runtime config
2017-08-18 17:45:10 +01:00
Justin Cormack
a9bf2a0735 Update hashes for metadata
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 15:03:23 +01:00
Justin Cormack
2f915b8cf2 Update init, containerd, runc images
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-17 13:54:51 +01:00
Justin Cormack
6107c866b3 Add documentation for how to run a single node Kube cluster
As I keep forgetting where this is documented...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-16 13:52:38 +01:00
Thomas Leonard
86b4f01e17 Update https-unikernel to released capnp-rpc 0.1 API
Also, separate out RPC encoding from application logic.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2017-08-15 14:16:35 +01:00
Justin Cormack
a7b3384205 Merge pull request #2405 from rn/kern-up
Update kernels to 4.9.43/4.4.82
2017-08-14 14:54:47 +01:00
Rolf Neugebauer
2007c4eef0 Update YAML files to 4.9.43/4.4.82 kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-14 11:02:30 +01:00
Rolf Neugebauer
ead41d0904 Update YAML files to 4.9.42 and 4.4.81 kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-14 10:52:15 +01:00
Tim Potter
6f90d7a154 Update ssh_into_kubelet.sh to use ctr tasks exec
PR #1299 moved "ctr exec" into "ctr tasks exec" so update the kubernetes project to reflect this.

Signed-off-by: Tim Potter <tpot@hpe.com>
2017-08-14 13:52:24 +10:00
Ian Campbell
6f0d9d855b Update yml for containerd v1.0.0-alpha4 and runc v1.0.0-rc4
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-11 16:21:42 +01:00
Justin Cormack
fae7a76009 update runc and containerd images
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-10 14:33:21 +01:00
Justin Cormack
d2b7782419 Merge pull request #2393 from justincormack/kube-iso
Use ISO for kubernetes
2017-08-10 11:17:27 +01:00
Justin Cormack
56fe83292b Use ISOs to boot in the Kubernetes example
Because Kubernetes is 1.5GB, ISO makes sense as the files do not
take up memory, so you can boot a 1GB machine rather than a 4GB one.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-09 13:15:42 +01:00
Rolf Neugebauer
9beaf45a07 Update YAML files with new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-08 17:46:22 +01:00
Ian Campbell
431c8ebdd7 kubernetes: Assume moby and linuxkit tools are in $PATH
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-08 16:25:37 +01:00
Justin Cormack
e61794a344 Merge pull request #2365 from deitch/test-dev-existence-getty
Test dev existence getty
2017-08-07 20:32:39 +01:00
Justin Cormack
9e26ffbc6c update init hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-07 15:04:42 +01:00
Ian Campbell
3a71c4a291 Update yml for new runc and containerd.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-07 12:11:32 +01:00
Avi Deitcher
944fc95e31 Update example gettt hash
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-08-06 10:27:54 +03:00
Justin Cormack
0b2e34301b Merge pull request #2357 from justincormack/arm64-rngd
Support rngd on arm64
2017-08-04 16:13:46 +01:00
Justin Cormack
d164bcf283 update hashes for rngd
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-04 14:10:51 +01:00
Justin Cormack
ee349da98a update hashes for sysctl (arm and x86)
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-04 13:34:14 +01:00
Rolf Neugebauer
633195cbe3 Update YAML files with new multi-arch packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-03 17:46:11 +01:00
Justin Cormack
dc91e84223 Merge pull request #2347 from justincormack/less-binfmt
Remove binfmt from most examples
2017-08-03 17:33:49 +01:00
Rolf Neugebauer
47af521e14 Merge pull request #2343 from justincormack/x-sys-unix-rngd
rngd improvements
2017-08-03 15:45:40 +01:00
Justin Cormack
842d089a1b Remove binfmt from most examples
It is not in any wa=y a required container, and now that arm64
and other architecture machines are widely available we should
start to deprecate it, as it has many issues, eg requires patches
to qemu for Go support, will mislabel images etc.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-03 15:06:49 +01:00
Justin Cormack
db20aad611 update metadata hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-03 14:39:04 +01:00
Justin Cormack
075dd61efe update rngd hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-02 21:03:46 +01:00
Ian Campbell
007fb04406 kubernetes: do not bind /run as rbind,rshared.
There are no mounts here which need propagating

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-02 10:32:46 +01:00
Ian Campbell
0e51fc5063 kubernetes: Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-01 16:25:42 +01:00
Ian Campbell
94ec6a7506 kubernetes: Re-add k8s-dns-{sidecar,kube-dns,dnsmasq-nanny}-amd64 to cache
These were removed as unused in 8acecf1b62 but with the update to 1.7.2 they
are now pulled in (again?) by the default system.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-01 16:20:43 +01:00
Ian Campbell
6139293b88 Bump to Kube 1.7.2
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-01 16:20:43 +01:00
Ian Campbell
fcd5afa152 kubernetes: Adjust for /var/run->/run symlink
PR #2314 turned /var into a tmpfs (possibly overmounted by a persistent disk)
and made /var/run into a symlink to /run. Adjust various containers and bind
mount settings to allow for this change. In particular ensuring that everything
can find the correct shared /var/run/docker.sock, which due to the symlink is
now actually at /run.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-01 15:53:59 +01:00
Ian Campbell
e2ef7c0055 kubernetes: Bump getty and sshd to latest
getty seems to have been missed in #2326.

sshd was missed sometime earlier.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-08-01 15:18:40 +01:00
Justin Cormack
4daf008956 Merge pull request #2331 from justincormack/rng-golang
Replace rngd with a Go version
2017-08-01 10:56:10 +01:00
Justin Cormack
3bcd6b5113 update sysctl hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 23:10:25 +01:00
Justin Cormack
ded8ebd280 add init hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 21:11:33 +01:00
Justin Cormack
0a3d78e47f Update hashes for rngd and add a one shot example in sshd
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 20:18:20 +01:00
Justin Cormack
157b9f27aa update hashes for mount
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 17:33:58 +01:00
Justin Cormack
26b6a0cbdd update hash for init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 15:27:22 +01:00
Justin Cormack
782d40bf28 update hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 13:57:41 +01:00
Rolf Neugebauer
c57cea4757 Merge pull request #2318 from rn/kern-up
Update kernel to 4.9.40/4.4.79, remove 4.11.x
2017-07-28 22:28:10 +01:00
Rolf Neugebauer
9812d0e5ea Update YAML files with new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-28 20:17:13 +01:00
Justin Cormack
927028cb96 update sysctl hash
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-28 17:56:41 +01:00
Justin Cormack
f1bd7c2e4d Merge pull request #2312 from mbentley/fix-compose-docker
Fixed commands and resolv.conf in docker example
2017-07-28 09:51:17 +01:00
Matt Bentley
e7cb367674
Fixed commands and resolv.conf in docker and compose project examples
Signed-off-by: Matt Bentley <matt.bentley@docker.com>
2017-07-27 16:39:39 -04:00
Justin Cormack
7211045ba6 update binfmt hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-27 15:11:14 +01:00
Avi Deitcher
8f10f69fd3 Merge pull request #2233 from dave-tucker/ns-detect
getty: Detect if you are in a namespace
2017-07-27 16:50:02 +03:00
Avi Deitcher
d4f5878669 Update hashes in examples 2017-07-27 15:45:19 +03:00
Avi Deitcher
5cda493a21 Update hashes for getty
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-07-27 15:01:29 +03:00
Ian Campbell
017d3304fc Update yml after containerd bump
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-27 11:45:56 +01:00
Justin Cormack
4ab25657d1 Merge pull request #2299 from justincormack/runc-go-startup
Switch runc and containerd startup to be entirely Go
2017-07-26 17:59:37 +01:00
Justin Cormack
b853e05d9c Update init, runc, containerd hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-26 16:51:11 +01:00
Ian Campbell
d4479cbe10 kubernetes: update hashes
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 16:21:33 +01:00
Ian Campbell
dda7d30182 kubernetes: provide /etc/resolv.conf to kube and docker containers.
After #2289 we need to bind /etc/resolv.conf into the docker and kubelet
containers on both node and master.

Also since #2289 the metadata container requires /etc/resolv.conf to be
populated on the host, which means running DHCP earlier in oneshot onboot mode,
do so.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 16:19:40 +01:00
Justin Cormack
5194bf13d1 Merge pull request #2296 from justincormack/service-does-more
Make service start up containerd and services
2017-07-26 15:34:03 +01:00
Dave Tucker
7434ed10e7 examples: Update to use new mount and format images
Signed-off-by: Dave Tucker <dt@docker.com>
2017-07-26 13:27:21 +01:00
Justin Cormack
74e067748a Update hashes for containerd
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-26 12:08:09 +01:00
Justin Cormack
09dc4c1c88 Merge pull request #2291 from ijc/kubernetes
Kubernetes bump to 1.6.7 and improved functionality on Linux platform
2017-07-26 10:38:20 +01:00
Ian Campbell
828ac913e8 kubernetes: Update yml files
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 17:25:08 +01:00
Ian Campbell
d5a53968fe kubernetes: Documentation updates for Linux platform
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 17:23:29 +01:00
Ian Campbell
6c3dd4e54a kubernetes: allow configuration of networking
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 17:23:29 +01:00
Justin Cormack
64ba3eaaca update hashes for resolv.conf changes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 16:26:38 +01:00
Ian Campbell
8acecf1b62 kubernetes: Drop k8s-dns-* from image cache
These contribute ~140M to the common image cache but do not appear to be used
by either the base system nor the sock-shop demo. They can/will still be pulled
on demands as necessary.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:57 +01:00
Ian Campbell
d5bcb62419 kubernetes: Bump to 1.6.7 and other updates
Bumps kubernetes and associated tools and images to v1.6.7 (from v1.6.1).

Updates weave from v1.9.4 to v2.0.1

Updates cni from a snapshot to v0.5.2. Note that the download location has
changed and the tarball no longer includes the `bin` subdirectory, so adjust
build to compensate.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:57 +01:00
Ian Campbell
7d7001c573 kubernetes: ssh_into_kubelet.sh for Linux
Only with networking in bridge (or probably tap) modes, not user mode.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:20:48 +01:00
Ian Campbell
9f04b403e4 kubernetes: Use ijc25/alpine-ssh for ssh_into_kubelet.sh
Much smaller than the CentOS based one.

Note that ijc25/alpine-ssh has entrypoint==ssh.

Drop Compression=yes, this is used for local ssh so no point compressing (just uses CPU).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:18:08 +01:00
Ian Campbell
1dbec1ef30 kubernetes: inline ssh.sh into ssh_into_kubelet.sh
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:50 +01:00
Ian Campbell
62aa9248a4 kubernetes: Expose VM parameters as envvars in boot.sh
Allows users to override.

I debated separate master and node options but decided not for now.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
54ddde0d43 kubernetes: avoid OS specifics in boot.sh
Remove `-publish` (which is currently Linux/QEMU specific) and replace with a
generic $KUBE_RUN_ARGS envvar. Usage:

   KUBE_RUN_ARGS="-publish 2222:22" ./boot.sh

KUBE_PORT_BASE is thus obsolete and removed.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Ian Campbell
09609bc6ce kubernetes: update ssh_into_kubelet.sh to use ctr
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-25 16:17:22 +01:00
Riyaz Faizullabhoy
2ecb3d2fb8 Merge pull request #2283 from ijc/swarmd
swarmd: Bump getty again
2017-07-24 10:06:56 -07:00
Ian Campbell
3652288cf7 swarmd: Bump getty again
I think this was missed by #2274 due to a race with #2272.

Nothing else was missed AFAICT.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-24 17:00:58 +01:00
Justin Cormack
9a79ebc0f4 Update hashes for new init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-24 15:09:30 +01:00
Rolf Neugebauer
7ccc2786ae Update kernel version in all YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-24 11:05:40 +01:00
Avi Deitcher
95af248ac8 Merge pull request #2274 from deitch/mount-var-log-getty-ssh
Mount /var/log to getty and ssh again
2017-07-24 12:31:28 +03:00
Avi Deitcher
afc1e1e970 Updated hashes for getty and sshd
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-07-21 19:16:38 +03:00
Ian Campbell
e2daca734f swarmd: Update yml for swarmd package
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-21 16:35:49 +01:00
Ian Campbell
c17cf1f969 swarmd: Update swarmd package to current docker/swarmkit#2299
The PR has been rebased to containerd v1.0.0-alpha1.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-21 16:13:12 +01:00
Ian Campbell
b348957068 swarmd: Update to Weave 2.0.1
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-21 16:12:55 +01:00
Ian Campbell
85f0f008a9 swarmd: update getty to latest
Matching top-level linuxkit.yml

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-21 16:12:33 +01:00
Nathan Dautenhahn
b47c64f525 Add Memorizer to projects
This commits an initial version of the Memorizer tracing tool. It collects and
outputs detailed data on the objects (traced from kmalloc/kmem_cache_alloc) and
accesses, tracking the context of each event with respect to thread ID, program
counter, and for allocations name of process.

Signed-off-by: Nathan Dautenhahn <ndd@cis.upenn.edu>
2017-07-20 16:05:03 -04:00
Rolf Neugebauer
c76096e4d5 Merge pull request #2259 from ijc/apk-in-login-packages
Add apk to login (sshd & getty) containers
2017-07-20 16:50:58 +01:00
Jason A. Donenfeld
332c4edf62 wireguard: move documentation into docs/
Now that this isn't a project, we move the last remains into the right
place.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-07-20 16:51:53 +02:00
Jason A. Donenfeld
a09a2a4b22 wireguard: integrate tools into alpine
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-07-20 16:51:53 +02:00
Jason A. Donenfeld
e24cc5c77f wireguard: add into default kernel
This integrates the WireGuard module directly into the kernel build
system.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-07-20 16:51:18 +02:00
Ian Campbell
d01aa72670 Update ymls
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-20 15:08:27 +01:00
Justin Cormack
5545f3085a Merge pull request #2258 from ijc/containerd-v1.0.0-alpha1
Containerd v1.0.0 alpha1
2017-07-20 15:07:24 +01:00
Ian Campbell
19207bb81b Update yml and moby version
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-20 14:13:20 +01:00
David Scott
13ff6d5d94 Update to linuxkit/metadata:428093dd1c4178e8ba1952af44b46c0fd16f8e79
Signed-off-by: David Scott <dave.scott@docker.com>
2017-07-20 11:24:18 +01:00
Rolf Neugebauer
83f079eb8b Merge pull request #2247 from zx2c4/update-wireguard
wireguard: update to latest snapshot
2017-07-19 16:25:06 +01:00
Jason A. Donenfeld
0441a379af wireguard: update links
WireGuard moved from .io to .com.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-07-19 16:27:59 +02:00
Jason A. Donenfeld
6e0da8877b wireguard: update to latest snapshot
It's slightly embarrassing that this old snapshot was kept around here
rotting for so long, but thankfully something is finally being done
about it.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-07-19 16:15:15 +02:00
Ian Campbell
5e93077a17 kubernetes: update image cache hashes
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 11:00:30 +01:00
Ian Campbell
27d96c2f99 kubernetes: just use the docker images as a base
Since we just want the client we don't need dind.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 10:57:50 +01:00
Ian Campbell
87a6e19770 kubernetes: add "show-tags" target to image-cache
Apart from adding the recursive target itself this required:

- Unescaping the @ in the image names, this was confusing `make` into always
  rebuilding and wasn't necessary (I had previously thought I had seen oddities
  due to these being interpreted by the `patsubst`, but I think that was just the
  colons.
- Making the recursive rules silent (prepending an @), those command lines are
  not especially enlightening and they obscure the output in the show-tags case.

With this the output is like:

    $ make --no-print-directory -C image-cache/ show-tags
    linuxkitprojects/kubernetes-image-cache-common:94a0715c6b3604e909bc0da74260dc7f1142d90d-dirty
    linuxkitprojects/kubernetes-image-cache-control-plane:94a0715c6b3604e909bc0da74260dc7f1142d90d-dirty

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:36 +01:00
Ian Campbell
ee7d785b84 kubernetes: minimise size of image cache images
The total size of the images in the common and control-plane cache is 251M and
528M respectively.

This changes drops the size of the cache images from 353M to 274M and from 630M
to 530M, reducing the overhead from ~100M to ~20M.

The initrd images shrink from 273M to 246M and from 416M to 363M (the initrd's
are compressed).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:36 +01:00
Ian Campbell
58227545b2 kubernetes: Only explictly include *.tar in images
No need to have Dockerfile etc.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:36 +01:00
Ian Campbell
4b030f2fc6 kubernetes: use digests for cached images
This ensures rebuilds will always get the same things.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:36 +01:00
Ian Campbell
56a8d2468a kubernetes: modernise image cache builds
This updates the build of the two image caches to use the `pkg/package.mk`
infrastructure, albeit in a slightly (ok, very) atypical way.

In order to share the bulk of the build code (including the `Dockerfile` and
the `Makefile` machinery to download the images) we arrange for the necessary
bits to be copied at build time into distinct subdirectories and for the
`pkg/package.mk` to be aware of this possibility.

Since pkg/package.mk is only set up to build a single package we use a single
`image-cache/Makefile` to drive the whole process and recurse into
`Makefile.pkg` to build individual packages.

One particular subtlety is that the package hash is based on the `image-cache`
directory (which is in `git`) rather than the generated subdirectories (which
are not in `git`). Since all the generators (and their inputs) are in the
`image-cache` directory this is what we want. This means that the two images
are given the same tag, but this is deliberate and desirable.

The generated directories are completely temporary to avoid picking up stale
versions of images when versions are updated. Images are hardlinked into place.

The images are moved to the linuxkitprojects org. Using a dev tag for now, will
update once everything is in place.

Also use "tag" rather than "build" where appropriate in the Makefile.

There is no point in the .dockerignore now, but add a .gitignore.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:51:32 +01:00
Ian Campbell
0d8c4789a1 kubernetes: update clean rule
The kernel has been -kernel rather than -bzImage for some time. Likewise the
disk moved the state dir.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 09:33:54 +01:00
Rolf Neugebauer
118816b4c3 Merge pull request #2231 from samoht/dhcp-split
[WIP] Split the DHCP client into three components communicating via RPCs
2017-07-18 20:05:02 +01:00
Avi Deitcher
0f725c366e Merge pull request #2241 from deitch/fix-getty-background
flag in init and background only if not in init
2017-07-18 21:39:53 +03:00
Justin Cormack
09e9357499 Merge pull request #2235 from justincormack/use-library-docker
Use the upstream dind package to run docker
2017-07-18 17:27:45 +01:00
Avi Deitcher
03244e3776 Change hash for getty in examples
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-07-18 17:47:36 +03:00
Justin Cormack
ae039ac141 update hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-18 14:22:16 +01:00
Justin Cormack
a4650b242f Use the upstream dind package to run docker
It is pretty close to our docker package, if we adjust the command
that is run to avoid the actual dind startup script. We can't use
the normal docker image as it does not have mkfs and so on.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-18 11:15:38 +01:00
Thomas Gazagnaire
f5716ce985 Split the DHCP client into three components communicating via named pipes
3 components:

- network: read eht0 and proxy only DHCP traffic
- engine: read DHCP traffic, handle DHCP client state machine, and call the
  host actuator to change the host config when a lease is obtained
  host system configuration.
- actuator: perform the acutall net syscalls, read and write host configuration
  files, etc

These three components can either be linked together in a single binary
(see src/dhcp-client/main.ml) or can be used as 3 binaries communicating
over cap-n-proto.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-07-17 17:46:17 +02:00
Ian Campbell
c495ccb8fb kubernetes: Update yml files.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:45:55 +01:00
Ian Campbell
d48cc7998b kubernetes: Use pkg/metadata
Still a flat/unstructured config space, but at least uses the mounting
machinery.

`boot.sh` continues to just work without modification.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
23d6649de0 kubernetes: Format scripts to be more readable.
These were originally generated by some box builder runes and then taken
wholesale here. Format them to be more readable.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
f18ed90d4f kubernetes: Add local scripts after downloads
Caches much better.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
a08a312d1f kubernetes: Use image labels for image-cache bind mounts
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
20c0d080df kubernetes: use image labels to simplify yaml requirements
Also `net: host` is the default, so drop.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
f853fab1f9 kubernetes: disable content trust for gcr.io
It doesn't support it. This makes "make cache-images" work. Previously it would
fail with various:

    Error: remote trust data does not exist for gcr.io/google_containers/pause-amd64: gcr.io does not have trust data for gcr.io/google_containers/pause-amd64

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:11 +01:00
Ian Campbell
cd43b44e7c kubernetes: Build image using Dockerfile and standard build system
This is a pretty straight port of the previous box stuff, without much attempt
to clean things up.

Image label is a placeholder, will update once a batch of changes are complete.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:42:09 +01:00
Ian Campbell
d208078aa0 kubernetes: cmdline drop page_poison and put console=ttyS0 last
Following the trend started in a5b9464a4e.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:41:05 +01:00
Ian Campbell
4a27008397 kubernetes: Update to latest pkg/mount.
I somehow managed to miss these in #2209

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-17 13:41:05 +01:00
Ian Campbell
32506bd7f7 kubernetes: Drop custom mounts image and use standard one
Apart from the /var/lib mount itself the custom package:

- Made host /etc/cni and /opt/cni rshared. This has been handled by init make /
  rshared since 3c326bebdf ("Make / rshared").
- Make /var/lib/kubeadm after mount. For now handle this with a dedicated start
  of day container instead.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-17 13:41:03 +01:00
Ian Campbell
2cfac0e8bb kubernetes: Expose each node's ssh port on the host starting from 2222
Port base is configurable (via $KUBE_PORT_BASE envvar). Master uses this and
nodes use subsequent ports.

Check that the node number is numeric so we can add them to things, but avoid
worker node 0 since the port will clash with master.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-17 13:37:46 +01:00
Rolf Neugebauer
fcac29681b Update kernels in YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-17 11:04:18 +01:00
Justin Cormack
79f9a66027 update init hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-15 14:13:25 +01:00
Justin Cormack
07469ac60b Merge pull request #2207 from justincormack/getty-x
remove -x from getty script
2017-07-15 12:38:52 +01:00
Justin Cormack
b0800cba59 update getty hash
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-14 18:38:36 +01:00
Riyaz Faizullabhoy
469ba103db Merge pull request #2209 from ijc/expurgate-set--x
pkg/mount: Remove set -x
2017-07-14 09:58:36 -07:00
Justin Cormack
497122126f update runc hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-14 15:54:11 +01:00
Ian Campbell
0fbea002dc Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-14 15:21:09 +01:00
Ian Campbell
074431eebe Update yml to linuxkit/containerd:b6ffbb669248e3369081a6c4427026aa968a2385
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-14 13:53:51 +01:00
Justin Cormack
f8a0b332f2 Update hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-14 11:08:50 +01:00
Ian Campbell
fa1ac99dfb Update yml's to linuxkit/containerd:389e67c3c1fc009c1315f32b3e2b6659691a3ad4
Only those which used the same value as linuxkit.yml are updated.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-13 10:45:45 +01:00
Ian Campbell
a2d3be0e6f Update runc and containerd
pull in newer containerd v1.0.0-alpha0 via updated alpine base, update runc to
429a5387123625040bacfbb60d96b1cbd02293ab which is vendored by that version of
containerd (and also update alpine base for runc)

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-13 10:37:15 +01:00
Justin Cormack
298f4aab32 Consistently don't use quotes around image names
These are not needed, but we are inconsistent. Been waiting for a
quiet moment to fix this since I noticed while doing a presentation...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-09 17:47:30 +01:00
Rolf Neugebauer
561c204de6 Merge pull request #2167 from rn/kern-up
Update kernel to 4.11.9/4.9.36/4.4.76
2017-07-07 19:48:24 +01:00
Rolf Neugebauer
dca5671fc1 Update kernel version in all YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-07 18:41:33 +01:00
Rolf Neugebauer
6147b0a592 Update all YAML files to latest metadata package.
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-07 18:30:10 +01:00
Thomas Leonard
815f5599fc Update https-unikernel example to latest API
Also, stop static linking for now, as it generates a lot of warnings
with glibc.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2017-07-07 15:09:54 +01:00
Ian Campbell
4fba9d8545 pkg: Update content trust handling.
Firstly add option to disable content trust, for the use of e.g. projects which
are pushing to the linuxkitprojects org (which has no trust setup) rather than
the main linuxkit org.

Secondly, when trust _is_ enabled then enable it globally, in particular it is
now active for the `docker build` and hence containers referenced in
Dockerfiles via "FROM" will be checked.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-06 16:20:34 +01:00
Justin Cormack
779fdc9499 Update init and containerd hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-03 14:51:23 +01:00
Ian Campbell
f0ca8cdabd swarmd: Update README.md
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:35:04 +01:00
Ian Campbell
4437fe84e2 swarmd: Update tag after recent updates.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:35:01 +01:00
Ian Campbell
ee61fa03df swarmd: Move to linuxkitprojects hub org
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:31:17 +01:00
Ian Campbell
0277df421d swarmd: support networking via Weave and the CNI reference plugins
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:31:17 +01:00
Ian Campbell
dcb40158c6 swarmd: Remove APK residuals from output image
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:30:20 +01:00
Ian Campbell
974b622c06 swarmd: Update to latest WIP code
This version is more up to date and works with the current containerd packages.

swarmd needs /tmp to share /tmp/containerd with containerd.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:30:20 +01:00
Ian Campbell
415bdd396c swarmd: Use common package.mk to simplify Makefile
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:30:20 +01:00
Ian Campbell
fc5d166eb5 swarmd: Add a getty container, drop console=tty0
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:30:20 +01:00
Ian Campbell
35c84cd0e6 swarmd: Sync init with linuxkit.yml
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-03 10:30:08 +01:00
Rolf Neugebauer
89c40eaddb Update hashes in YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-01 19:24:16 +01:00
Rolf Neugebauer
699a864302 pkg: Update to new Alpine base
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-01 18:11:45 +01:00
Justin Cormack
6c837b28b6 Merge pull request #2133 from samoht/fdd
sdk: add a yml example on how to use fdd to create container channels
2017-07-01 10:51:58 +01:00
Rolf Neugebauer
4c6e0264b9 Update kernels in YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-30 18:23:29 +01:00
Thomas Gazagnaire
5525937c10 sdk: add fdd exec to map socketpair shares to local fds
To enable this:

```
$ fdd init &
$ fdd share /tmp/foo

$ fdd exec -m /tmp/foo:1:2 -- echo hello world!

$ fdd exec -m /tmp/foo:0 -- cat
hello world!
```

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-30 16:11:41 +02:00
Thomas Gazagnaire
b4feb71f78 sdk: add a yml example on how to use fdd to create container channels
Lots of boilerplate for now on, will work on upstreaming that in the tool
properly if needed later.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-30 16:11:41 +02:00
Rolf Neugebauer
736713dc8f Merge pull request #2120 from dave-tucker/getty
Make it more obvious that getty/sshd are namespaced
2017-06-29 23:30:17 +01:00
Riyaz Faizullabhoy
eacb1d31f3 Merge pull request #2129 from samoht/fdd
sdk: add a file-descriptor sharing server
2017-06-29 14:41:43 -07:00
Thomas Gazagnaire
875b877047 sdk: add Dockerfile root pivot runs + static linking
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-29 18:17:02 +02:00
Thomas Gazagnaire
56229e486b sdk: add a file-descriptor sharing server
```
$ fdd init &
$ fdd share /tmp/foo # serve a fresh socketpair on that path
$ fdd test /tmp/foo  # read the socketpair and test that it works
```

Instead of `fdd test` (which is only useful for testing), users are expected to
connect to the unix domain socket and call `recvmsg(2)`. They will get one side
of the socketpair. Two different processes can do this and they will be able to
talk to each other.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-29 17:53:49 +02:00
Justin Cormack
c8a8bb047c Update docker-ce in Yaml files
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-29 15:30:45 +01:00
Dave Tucker
71bccd6967 examples: Update to use new getty and sshd images
Signed-off-by: Dave Tucker <dt@docker.com>
2017-06-29 15:01:33 +01:00
Rolf Neugebauer
093dae22d5 Update YAML files
- Use the new style kernel tags with the full kernel version
- Update packages with new alpine base and new/simplified Makefiles.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-27 19:56:08 +01:00
Ian Campbell
b6071df200 Update getty and sshd sha's in *.yml to current.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-26 11:52:41 +01:00
Ian Campbell
ea79748830 pkg/containerd: Add /etc/localtime set to UTC
containerd/ctr includes this in the default set of bind mounts for a container.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-26 11:52:30 +01:00
Sebastiaan van Stijn
4e1c91fc6e
Update ASCII whale
The logo changed, and no longer has waves,
so removing them from the ASCII whale as well

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2017-06-20 23:22:23 -07:00
Rolf Neugebauer
d3e0898fb7 Update containerd hash in all YAML files
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-19 11:04:58 -07:00
Rolf Neugebauer
43ac05e4dd Merge pull request #2072 from samoht/sdk-upstream-cleanup
Sdk upstream cleanup
2017-06-19 10:01:14 -07:00
Thomas Gazagnaire
be7a54b5c7 sdk: update Docker to pin dev versions of upstream libraries
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-19 17:33:28 +02:00
Thomas Gazagnaire
681781651f sdk: add empty mli files to executable to catch up more warnings
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-19 17:33:28 +02:00
Thomas Gazagnaire
2ef504405b sdk: remove some dead-code
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-19 17:33:28 +02:00
Thomas Gazagnaire
852468bc99 sdk: use upstream libraires for SDK helpers
- IO has been upstreamed in mirage-flow-lwt
- Init.Flow.Fd has been upstreamed in mirage-flow-unix
- Init.Flow.Rawlink has been upstreamed in mirage-flow-rawlink
- Remove some dead-code in unikernel.ml

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-19 17:33:28 +02:00
Thomas Gazagnaire
821a9f2e06 sdk: add missing files
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-19 16:57:49 +02:00
Justin Cormack
3dbcf0d053 Merge pull request #2041 from ijc/service-client
Custom containerd client for use in init.
2017-06-16 09:29:43 -07:00
Justin Cormack
88d9fb3211 Merge pull request #1981 from talex5/https-unikernel
Add https example
2017-06-16 09:18:59 -07:00
Ian Campbell
9d2da9cabc Update to containerd c215531a8f63a98a69134e804fea4ee6d354bb90
This includes https://github.com/containerd/containerd/pull/994 and hence
requires updating the various instances of `/etc/containerd/config.toml`.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-16 13:42:24 +01:00
Ian Campbell
d51784adc0 Allow /etc/init.d/010-containerd to exit when complete
Don't think there is a need for it to remain and it drops an unnecessary
process.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-16 11:49:52 +01:00
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
Ian Campbell
f7b2a739ee pkg/getty: Stop bind mounting /tmp/ctr
This doesn't exist with newer ctr or in systems where service containers are
not started using the ctr tool. All it contains today are the stdio FIFOs,
which are not in general useful to access after container creation.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-16 11:21:40 +01:00
Justin Cormack
684b77d62b Merge pull request #2048 from MagnusS/vpnkit-docker-ce
pkg/docker-ce: add vpnkit-expose-port
2017-06-15 15:18:54 -07:00
Rolf Neugebauer
7e989ca773 Merge pull request #2051 from rn/kup
kernel update to 4.11.5/4.9.32/4.4.72 + init update
2017-06-15 15:17:31 -07:00
Magnus Skjegstad
cc59b458f1 Update to latest pkg/docker-ce
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-06-15 21:50:07 +01:00
Justin Cormack
32f505469b Merge pull request #2027 from justincormack/mobyup
Use the user's ssh key automatically in ssh examples
2017-06-15 13:33:35 -07:00
Rolf Neugebauer
9b6f708fc3 Update init in all YAML files
The new init adds the usermode helper which is needed with
the soon to be pushed new 4.11 kernel update.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 13:17:28 -07:00
Justin Cormack
c2f2141473 Use the user's ssh key automatically in ssh examples
This requires moby tool update to support `~` in paths, but
makes everything much nicer.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-15 11:28:25 -07:00
Riyaz Faizullabhoy
9d432095d0 Merge pull request #2044 from riyazdf/update-getty
Update getty image for setsid changes
2017-06-15 10:05:57 -07:00
Justin Cormack
d2278286ec Merge pull request #2042 from tych0/kernel-config-docs
Kernel config project docs
2017-06-15 18:17:26 +02:00
Riyaz Faizullabhoy
6dedac2fe9 Update getty image for setsid changes
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-06-15 09:16:12 -07:00
Justin Cormack
7cf06bb284 Merge pull request #2038 from rn/cold-plug
Support cold-plugging devices
2017-06-15 18:07:17 +02:00
Tycho Andersen
d9135b515c kernel config project: add a writeup
Add a writeup of how the kernel config project designed to behave when
migrating kernel versions.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-14 14:58:26 -07:00
Tycho Andersen
9757a33bf9 kernel config project: makeconfig.sh takes config as args
Instead of figuring out which config files to use inside of makeconfig.sh,
let's figure that out in the Dockerfile and pass them into the script.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-14 14:58:26 -07:00
Tycho Andersen
502c2c674f kernel-config: less special casing for PANIC_ON_OOPS
Instead of having a special case sed script, we can just put this in the
.debug config file, and have a special case when it's being checked.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-14 14:58:25 -07:00
Tycho Andersen
d14412810a kernel config project: s/x86/x86_64
Let's use the kernel machine architecture for this value.

Also remove a broken check. The "arch" binary on OSX outputs different
stuff than on linux. Since we don't need this check anyway  (the variable
is mostly to demonstrate how cross platform stuff would work, not to
actually do it yet), let's just remove the check.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-14 14:58:25 -07:00
Thomas Gazagnaire
eb2d2ee112 sdk: update the mirage-dhcp example to use latest parts
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 16:14:27 +01:00
Thomas Gazagnaire
fe86bad838 sdk: remove local fork of init package
The upstream init doesn't hardcode anything about dhcpcd anymore, so we can
just use it.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 16:13:52 +01:00
Thomas Gazagnaire
e76d6c09a4 sdk: fix dhcp's Dockerfile
The rootfs were containing way too much binaries and runc command where not
started in the correct directory.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 16:13:40 +01:00
Thomas Gazagnaire
6fb3820925 sdk: push images to miragesdk org on hub
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 12:09:02 +01:00
Thomas Gazagnaire
03cd4d6fd3 sdk: replace custom transport protocol by Capnproto
Initial patch by @talex5

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-14 11:43:27 +01:00
Riyaz Faizullabhoy
a914c0cd2b Merge pull request #2035 from tych0/shiftfs
projects: add shiftfs project
2017-06-13 16:00:01 -07:00
Rolf Neugebauer
90c441ef67 Update YAML files to new init
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-13 15:57:24 -07:00
Tycho Andersen
35292a63d5 fix typo
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-13 14:05:42 -06:00
Tycho Andersen
d29b2a909c projects: add shiftfs project
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-13 11:08:29 -06:00
Ian Campbell
c47b2c770c kubernetes: Create disk in state dir
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 11:08:44 +01:00
Ian Campbell
d4f601f6fb kubernetes: give each instance a specific state directory
In particular avoid all nodes sharing the same default directory.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 09:31:43 +01:00
Ian Campbell
ec2b56da5a kubernetes: Combine boot-{master,node}.sh into a single script
Easier to get a global view on what is happening.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 09:31:43 +01:00
Ian Campbell
4162cfb834 kubernetes: update to latest init
and add the getty container.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-13 09:31:43 +01:00
Thomas Leonard
387caf8df7 Ignore inlining warnings
Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2017-06-12 12:12:06 +01:00
Justin Cormack
3e904fe760 Change Moby to LinuxKit
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-12 11:51:15 +02:00
Justin Cormack
1b9720a9eb Move roadmap to README where there is only one
This way something comes up when you click on the project on
github, rather than having to hunt for something to explain the
project.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-12 11:44:29 +02:00
Mindy Preston
1ab32f9ca7 use dhcp_client_lwt instead of dhcp_client_mirage
Use the `with-cdhcpc` branch of charrua-client, which exposes `Dhcp_client_lwt`.  Dhcp_client_lwt exposes similar functions to `Dhcp_client_mirage`, but does not impose the structure of a Mirage_types_lwt.ipv4_config on the returned object, rather returning the full lease; the engine can then expose whatever information from the lease it finds to be pertinent.

Signed-off-by: Mindy Preston <mindy.preston@docker.com>
2017-06-09 13:57:07 -05:00
Mindy Preston
bcb0c52fff nudge some build updates around
build from (now-released) canpnproto 0.6.0; use the latest jbuilder beta.

Signed-off-by: Mindy Preston <mindy.preston@docker.com>
2017-06-09 13:38:55 -05:00
Riyaz Faizullabhoy
8726adaa78 s/moby/linuxkit for run
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-06-08 17:10:14 -07:00
Riyaz Faizullabhoy
9c8e82734d fix disk size arg
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-06-08 17:09:52 -07:00
Tycho Andersen
a208413ac0 fix package builds in some cases
0eb21735ae accidentally broke some package
builds by switching linuxkit/alpine to linuxkit/containerd. Let's revert
the ones that shouldn't be there.

Closes #1991

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-07 16:19:40 -06:00
Thomas Leonard
c7c33b9a56 Add example https-unikernel
This is mainly a test for the Cap'n'Proto RPC support.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
2017-06-07 16:34:59 +01:00
Dave Tucker
1598b11375 Update YAML files to use new containerd package
Signed-off-by: Dave Tucker <dt@docker.com>
2017-06-07 15:30:39 +01:00
Ian Campbell
0eb21735ae Update to containerd bdf9f5f7388e8203e63a74b89800f7f3dd4a7743
Note that this is not the latest (which was 95efd45db073 at time of writing)
but the next commit 6428b4bad0c2 merges "Port ctr to use client package" breaks
the use of `ctr run --runtime-config` (by removing that option).

This contains https://github.com/containerd/containerd/pull/954 which was
causing some services to fail to start.

All previous uses of 15541037b9 are updated to
5749f2e9e6.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-07 09:38:10 +01:00
Justin Cormack
9f4c6da4e5 Update containerd in yaml
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-06 22:14:30 +01:00
Anil Madhavapeddy
5652987f63 projects: mark aws as completed in a new section in README
Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-06-06 21:24:29 +01:00
Anil Madhavapeddy
4b7e0e11a8 projects/aws: remove remaining files now that #1964 is merged
The AWS support has gone mainline so no need for the project anymore.

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-06-06 20:56:39 +01:00
Thomas Gazagnaire
c4c44253cb sdk: the tests need logs.fmt
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-06 13:42:45 +02:00
Thomas Gazagnaire
c0d999dbab sdk: use mtime 1.0
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-06-06 13:42:42 +02:00
Riyaz Faizullabhoy
b845703a79 Merge pull request #1952 from avsm/sdk-yaml
projects/miragesdk: add a frontend yaml format for dhcp-client
2017-06-05 15:09:57 -07:00
Anil Madhavapeddy
2da4aefb37 projects/miragesdk: add a frontend yaml format for dhcp-client
The intention with the yaml fragment is that it specifies the
set of processes that form the daemon, with minimal privileges
for each component and each running inside a separate container.

In addition to the normal container capabilities, there is also
a new field which lets a startup process establish an RPC channel,
based on a Capnp specification. This allows for extremely
unprivileged components to be started, such as the `dhcp-engine`
in this example which can only communicate with the outside world
via the `dhcp-network` (to transmit) or `dhcp-actuator` (to alter
the state of the local Linux distribution).

This is a first cut at the yaml interface and the capnp, with the
intention to refine it as we combine it with the rest of the existing
prototype (which currently doesnt have an RPC layer).  Expect
more changes...

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-06-05 16:49:54 +01:00
Justin Cormack
982bddb185 Merge pull request #1961 from deitch/compose-examples
add compose dynamic
2017-06-04 16:25:04 +01:00
Avi Deitcher
e4512864ac add compose dynamic
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-06-04 16:18:34 +03:00
Ian Campbell
183d692e00 swarmd: Enable ip_forward
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-01 15:51:09 +01:00
Ian Campbell
36d3445258 swarmd: do not need explicit host net namespace anymore
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-01 15:51:09 +01:00
Ian Campbell
04c7bae77e swarmd: Build from my WIP branch
This is much more functional (includes networking).

Requires switching to an alpine base because CNI networking backends (such as
weave) can expect iptables binaries to be present, or may want to shell out to
scripts etc.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-01 15:50:58 +01:00
Ian Campbell
5cc219cf72 swarmd: Modernize build
Uses the alpine base container. Networking is not disabled because we still
clone at build time.

No swarmd.yml update because the commit referenced here no longer exists in the
upstream repo after a force push. This will change in the next commit.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-01 12:08:51 +01:00
Ian Campbell
6d495fc92f swarmd: allow all capabilities
The existing set was randomly rather than carefully chosen, lets just be honest
and use "all" until the proper set can be determined.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-01 11:50:28 +01:00
Ian Campbell
eaedbd454c Update containerd to 7fc91b05917e93d474fab9465547d44eacd10ce3
Update everything including the current
linuxkit/containerd:b1766e4c4c09f63ac4925a6e4612852a93f7e73b to the new
linuxkit/containerd:deaf5bf838bf7f131c2287ecff3ed9835b0497e2.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-31 17:05:24 +01:00
Justin Cormack
a902e90a23 Remove unnecessary namespace I missed
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 16:30:50 +01:00
Justin Cormack
5bb90f166a Merge pull request #1934 from justincormack/default-ns-change
Default ns change
2017-05-30 16:20:38 +01:00
Rolf Neugebauer
8cbf7cb064 Merge pull request #1883 from ijc25/qemu-ga
Add a simple qemu guest agent package
2017-05-30 16:15:55 +01:00
Justin Cormack
d92e19f020 Update the yaml files with new builds
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 15:40:51 +01:00
Justin Cormack
599f2d6f5b Update yaml files with new init
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 14:15:16 +01:00
Ian Campbell
497b07e57b Add a simple qemu guest agent package
We don't actually build it here, we just use the alpine package, which is
already included in the linuxkit/alpine base.

Can be instantiated with a service stanza such as:
  - name: qemu-ga
    image: "linuxkit/qemu-ga:e5fbcf55926f6e1a96b3e49a392e547e8be1022c"
    binds:
      - /dev/vport0p1:/dev/vport0p1

The only functionality I've tested is to report IP addresses to the host (e.g.
via `virsh domifaddr`).

The image is configured to use `/dev/vport0p1` by default. If your VM image is
using a different port number then you can either incorporate the rename into
the bind ("/dev/vport1p1:/dev/vport0p1") or override the command with:
    command: ["/usr/bin/qemu-ga", "-p", "/dev/vport1p1"]

The mdev tool appears to not create the symlinks which udev would provide
`/dev/virtio-ports/org.qemu.guest_agent.0` hence the need to hardcode the
potentially unstable `/dev/vportNp1`, `N` seems to depend on the number and
order of virtio devices in use. I don't know if it is possible to get mdev to
create these links. For reference the udev rule is:

    SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"

See https://wiki.libvirt.org/page/Qemu_guest_agent for more info on the guest
agent.

A suitable stanza is added to `projects/swarmd/swarmd.yml` since that is where
I am using it.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-30 13:59:35 +01:00
Rolf Neugebauer
8cff978fab Update YAML files with updated binfmt package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Rolf Neugebauer
b70410a478 Update YAML files to updated metadata package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00
Riyaz Faizullabhoy
42c2333fa1 Merge pull request #1915 from tych0/wireguard-fixups
Wireguard fixups
2017-05-26 16:12:49 -07:00
Tycho Andersen
4501627923 wireguard: trust everything from linuxkit org
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 16:11:09 -06:00
Tycho Andersen
336d92de3b wireguard-tools: use linuxkit/alpine as base image
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 15:55:33 -06:00
Tycho Andersen
8c96d38ca3 wireguard tools: use ORG pattern as in other makefiles
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 15:45:41 -06:00
Tycho Andersen
2b8756ac16 ima-namespacing utils: use ORG pattern as in other makefiles
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 15:43:59 -06:00
Tycho Andersen
a53e251908 wireguard: update kernel build
We were pointing to the old mobylinux docker hub repo. Let's update the
kernel build to be the new style one.

Note that I didn't bump the kernel version or update the patches at all. We
should do this soon, but for the purposes of our probational channel PoC,
I'm leaving wireguard at the old version for now.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 15:35:32 -06:00
Tycho Andersen
ddf333685c wireguard project: s/kernel-wireguard/kernel
-wireguard is redundant, and with a standardized name, we can merge patches
"automatically", for our probational channel.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 15:35:32 -06:00
Tycho Andersen
d6d9a696ad wireguard project: move to new-style init
Rather than re-build the whole init, let's just include the wireguard tools
in a tools repo.

This also moves *most* of the stuff to new linuxkit infrastructure, instead
of the legacy mobylinux. And checks an item off the TODO list.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 15:35:31 -06:00
Tycho Andersen
26d0dc20ec ima-namespace: use images that actually exist
We have a linuxkit/{kernel-ima,ima-utils} now, let's use the images that
are uploaded there!

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 14:48:39 -06:00
Tycho Andersen
06d7157e3c ima-namespace: only build utils if it doesn't exist
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 14:31:38 -06:00
Tycho Andersen
4a69a57557 ima namespace project: account for new -output in moby tool
The moby tool requires us to specify outputs on invocation. Let's do that.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 14:27:59 -06:00
Rolf Neugebauer
9bdfcb5b12 Update YAML files with new packages, config, and trust data
- Update to packages using the Alpine 3.6 base image
- Remove config for packages which now supply it
- Update/add trust section

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-26 16:23:55 +01:00
Justin Cormack
00737bd859 Remove outputs from the yaml files
The latest version of the `moby` tool now requires that the output formats
be specified in the CLI not in the yaml file.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-26 13:55:06 +01:00
Justin Cormack
8d97247d8c Merge pull request #1877 from tych0/real-kernel-config-impl
kernel-config project: add a real implementation of kernel configs
2017-05-24 16:16:33 +01:00
Rolf Neugebauer
ae5dfc6d7d Update all YAML files to use the new binfmt, dhcpcd and rngd packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-23 15:55:40 +01:00
Tycho Andersen
ef4bd01de8 kernel-config project: add draft of kernel configs
The kernel configs themselves are stored as diffs of what we want vs. each
version's defconfig.

Thus, things like e.g. CONFIG_DEVKMEM drop out after it was made
non-default. The implication of this is (I hope) that as upstream adopts
security features, our delta can shrink (or more realistically, only
include the next-next gen features).

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-22 17:51:09 -06:00
Tycho Andersen
d6269d8504 kernel-config project: add kcimport script
This is the script I used with [1] to generate the config diffs and
separate out the arch specific bits. Included mostly just so people can
play around with it if they want to generate their own diffs.

[1]: https://github.com/ulfalizer/Kconfiglib

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-22 16:58:50 -06:00
Tycho Andersen
8a140cefd8 projects: update list of kernels in kernel-config
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-22 16:58:50 -06:00
Tycho Andersen
ee4d74aca6 projects: be more clever about merging kernel config
In particular, let's start with a defconfig and edit it, rather than try to
generate the config entirely from our own diff.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-22 16:58:50 -06:00
Tycho Andersen
e60f9d3946 projects: run check-kernel-config.sh at kernel build time
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-22 16:58:50 -06:00
Rolf Neugebauer
a6d834ddf0 Merge pull request #1865 from justincormack/go-compile
more Go compile fixes
2017-05-21 11:18:45 +01:00
Rolf Neugebauer
4377ae3209 Merge pull request #1861 from justincormack/containerd-build
Update containerd
2017-05-21 11:13:07 +01:00
Justin Cormack
e52bf2f745 Update sysctl and sysfs in yaml files
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-20 11:16:48 +01:00
Justin Cormack
702ad5d9d9 Update git hashes for sysctl
And remove all the config options as they are now in the label.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-19 22:05:15 +01:00
Justin Cormack
a3ea4646e5 Update containerd in yaml files
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-19 11:52:12 +01:00
Justin Cormack
ac31862c42 Merge pull request #1857 from tych0/add-ima-project
projects: add IMA namespacing project
2017-05-18 22:12:02 +01:00
Tycho Andersen
3fd6337a45 ima: use ima-utils package instead of new init
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-18 13:44:04 -06:00
Tycho Andersen
4b29c738e0 projects: add a blurb about ima namespacing
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-18 13:43:59 -06:00
Tycho Andersen
d80e880f28 projects: add IMA namespacing project
This is a project with a v1 of the IMA namespacing patches. See the readme
for details on use.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-18 12:25:07 -06:00
Rolf Neugebauer
6bea56c185 Update all YAML files to use the new packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-18 18:55:22 +01:00
Justin Cormack
5eff65a688 Merge pull request #1818 from jadametz/fix-1817
Specifies root user in projects/kubernetes ssh_into_kubelet script
2017-05-13 10:21:56 +01:00
Jesse Adametz
547e2dca95 Specifies root user in projects/kubernetes ssh_into_kubelet script
Signed-off-by: Jesse Adametz <jesseadametz@gmail.com>
2017-05-12 15:17:26 -07:00
Justin Cormack
60500940ab Merge pull request #1816 from ijc25/swarmd
projects/swarmd: Updates
2017-05-12 23:06:21 +01:00
Jesse Adametz
2ece5ac28a Add rm flag to projects/kubernetes ssh script
Signed-off-by: Jesse Adametz <jesseadametz@gmail.com>
2017-05-12 14:25:18 -07:00
Ian Campbell
0fb3d1c6e9 Updated swarmd commit
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:48:52 +01:00
Ian Campbell
a28d34f18c Modernise swarmd pkg build
Uses multi stage builds and the tree-sh as tag.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:48:01 +01:00
Ian Campbell
5eee4c0607 pkg/runc: WORKDIR as first item in second stage
Works around https://github.com/moby/moby/issues/33176 and fixes #1807.

Updated al users of linuxkit/runc:2649198589ef0020d99f613adaeda45ce0093a38 to
this new build.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:23:27 +01:00
Ian Campbell
1b31a0ea3b swarmd: Mount persistent disk on /var/lib/swarmd
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:11:45 +01:00
Ian Campbell
14b0c00133 swarmd: Switch to oneshot DHCP
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:11:45 +01:00
Ian Campbell
6c87493ec5 swarmd: Add metadata service
Also update other users of linuxkit/metadata to the newest build while I'm
here.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:10:49 +01:00
Ian Campbell
5b0f92fb9e swarmd: Update to latest images (from linuxkit.yml)
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:02:25 +01:00
Ian Campbell
f5732b2cb5 swarmd: Add ntpd
Follows https://github.com/docker/moby/pull/1576

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:02:25 +01:00
Ian Campbell
8e90e67eea swarmd: host pid namespace for CNI access to /proc/PID/ns/net
Since containers are spawned by containerd (which is in the host PID namespace)
and not in the swarmd container's namespace.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-12 19:02:23 +01:00
Justin Cormack
6a5f8099a4 Remove extra files from init
fix #1807

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-12 15:36:13 +01:00
Magnus Skjegstad
1da0b14e23 logging: update example to use latest init/containerd
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-05-11 21:08:23 +02:00
Magnus Skjegstad
37ddf42b5b logging: add log capture to onboot and service startup
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-05-11 21:07:58 +02:00
Magnus Skjegstad
4a9a5afd03 logging: update init scripts to latest version with containerd
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-05-11 20:59:55 +02:00
Justin Cormack
66d6d3a6e3 Update containers to use containerd
Now the issues seem fixed, switch over to containerd.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-11 11:25:06 +01:00
Justin Cormack
b14f8a2337 Update yaml files with new init
Note these are only the ones using the `containerd` based `init` as
the `runc` ones are still using an old one.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-10 11:39:29 +01:00
Rolf Neugebauer
477a56432b Merge pull request #1787 from tych0/kernel-config
projects: add a project that re-works how we manage kernel config
2017-05-09 20:56:53 +01:00
Tycho Andersen
1c10661069 collapse kernel build back into one file
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-09 11:13:32 -06:00
Justin Cormack
9ca3ba489a Update yaml files to new Docker CE
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-09 11:12:39 +01:00
Justin Cormack
61bbbf0808 Change containerd and runc to use multistage builds from new Alpine base
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 22:37:59 +01:00
Tycho Andersen
9cd2f434cf projects: remove unused configs from kernel-config
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-08 12:06:25 -06:00
Tycho Andersen
42b6b44fa9 projects: split kernel-config build into three phases
...and add straw man implementations of kernel_config.base and
kernel_config.x86 as examples.

First, splitting the build: to avoid duplication, we split the build into
three parts: a "source" stage, a "config" stage, and a "build" stage. The
"source" stage allows us to use a cached image, so we don't have to
re-download the kernel source every time. The "config" step applies our
patches and generates (and checks) the kernel config. I've left this as a
separate step for now so that we can build just an image with a config in
it, without having to ^C the build. However there's no real reason it needs
to be a separate step, assuming that this kernel config design is
acceptable. The third step is the actual kernel build.

Then there is kernel config management: the bulk of it occurs in
makeconfig.sh, with the idea being that we can specify base, arch, and
version specific config options as necessary.

The config files themselves are lists of options (both positive and
negative). We include the negative options, because we want to explicitly
turn off things that are on in the default config (e.g. CONFIG_USELIB), and
it seems cleaner to do things this way then to have some sort of negative
options list.

The options files are sorted with the default behavior of the "sort"
command, which ignores comment lines, meaning that negative options and
positive options are inline with each other. I don't have a strong opinion
on whether or not to group all negative options, or whether this default
behavior makes sense, so I just left it.

Finally, obviously the .base and .x86 files are incomplete. I mostly
selected a few options with interesting dependencies or special issues
(CONFIG_PANIC_ON_OOPS) with how we manage things, so as to demo how
everything would work. It's not really clear to me that there's a good way
to generate e.g. kernel_config.base, without a lot of painstaking work
(which I'm happy to do if we agree this is a good approach).

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-08 12:06:25 -06:00
Tycho Andersen
1e0021d969 projects: add kernel-config project
This is just a direct import of the current kernel/ directory, with a
slight splitting up of the dockerfiles to build a kernel-source and kernel
image.

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-08 12:06:25 -06:00
Rolf Neugebauer
423957cfef Update YAML files to new packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-08 16:49:39 +01:00
Rolf Neugebauer
21f1646ce2 Update YAML files with new package hashes
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-04 22:27:59 +01:00
Nathan Dautenhahn
f8f9ed9965 Spelling error: Dautenhan -> Dautenhahn
Signed-off-by: Nathan Dautenhahn <ndd@cis.upenn.edu>
2017-05-03 14:04:29 -04:00
Justin Cormack
3bd53067fb Update yaml files with new ca-certificates
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-03 16:43:24 +01:00
Ian Campbell
bb50dd9781 projects/kubernetes: Allow linuxkit to pick default backend
Drop `hyperkit` from the `linuxkit run` invocation, thus causing the linuxkit
tool to pick the platform's default backend (which is qemu on my Linux system,
which works better than hyperkit in this environment).

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-03 09:11:32 +01:00
Justin Cormack
dae0e4efae Fix typo "ndodev"
Not sure when this arrived but it was stopping anything running.
Appears not to be in the older test `init` containers.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-27 18:01:05 +01:00
Justin Cormack
713046e158 Update ca-certificates to be based on Alpine and use nested build
We were using Debian but Alpine more consistent. Use nested build.

Currently extract the hash in a nasty way but this can be fixed later
when we switch over hashing method.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-26 15:24:26 +01:00
Justin Cormack
98159fd13f Merge pull request #1708 from rneugeba/binfmt
Move binfmt to a multi-stage build
2017-04-26 12:19:09 +01:00
Rolf Neugebauer
115b09faad Merge pull request #1704 from ijc25/fix-unique-fallback-hostname
Switch fallback hostname to linuxkit-* from moby-*
2017-04-26 09:54:19 +01:00
Tiago Pires
60c632dc35 Use linuxkit on boot scripts instead of moby
Fixes #1711

Signed-off-by: Tiago Pires <tandrepires@gmail.com>
2017-04-25 23:13:51 +01:00
Rolf Neugebauer
cb732e7f80 YAML: Update files to use the new binfmt package
Checked that /proc/sys/fs/binfmt_misc/status is enabled for
architectures specified.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-25 15:55:10 +01:00
Ian Campbell
20cfa2af2c Switch fallback hostname to linuxkit-* from moby-*
This was missed when things were renamed.

The intention with this code was (apparently) to provide a (pseudo)unique
hostname in the case where something more specific was not provided (e.g. by
DHCP). Make this a little clearer by using '(none)' rather than 'linuxkit' as
the default, in the normal case this will be overwritten by something more
specific and if it isn't we will change it to something somewhat unique derived
from the MAC address (as before). nb: '(none)' is already used by Debian so I
think it is a safe choice as the sentinel value.

The use of both CONFIG_DEFAULT_HOSTNAME and the explicit /etc/hostname from
mkimage.sh is likely to be redundant in some cases, but neither seems to
completely cover all cases so keep both.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-04-25 14:09:38 +01:00
Rolf Neugebauer
77941b7216 demo: Rename ./project/demo to ./project/etcd
With redis-os and README documentation moved elsewhere,
the demo directory only contains the etcd demo setup.
Rename it.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-25 13:17:05 +01:00
Rolf Neugebauer
db6d3d7ed2 docs: Consolidate mac tips & tricks in ./docs/mac.md
We had serveral files with instructions, in particular for
networking, for macOS/Docker for Mac. Let's have just one place.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-25 13:17:04 +01:00
Rolf Neugebauer
855f8f2722 demo: Move redis example to ./examples
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-25 13:17:04 +01:00
Theo Koulouris
f1508901f4 Updated okernel README.md
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-04-20 15:52:27 +01:00
Theo Koulouris
19e0433637 Updated references to 'linuxkit', added 'examples' subdirectory, improved build files
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-04-20 15:26:00 +01:00
Rolf Neugebauer
fc1e7e4ca5 Merge pull request #1663 from technolo-g/k8s_shell_to_ash
Migrate the Kubernetes shell to ash
2017-04-20 08:58:59 -05:00
Rolf Neugebauer
be47b771d0 Merge pull request #1669 from rneugeba/demo-up
Update DockerCon 2017 demo files
2017-04-19 18:37:35 -05:00
Rolf Neugebauer
722ab1848d demo: Update READMEs
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@gmail.com>
2017-04-19 18:09:07 -05:00
Rolf Neugebauer
ff1279d9b0 demo: Use redis instead of nginx
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-19 14:58:27 -05:00
Rolf Neugebauer
238436616d demo: Add prometheus server configuration
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-19 14:58:27 -05:00
Rolf Neugebauer
c854d58ca4 demo: Update etcd
- Add prometheus node monitor
- Make the hyperkit VMs slightly bigger
- Add GCP upload
- Use env vars in infrakit startup script

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-19 14:58:27 -05:00
Rolf Neugebauer
846c96384f demo: Update nginx build
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-19 14:36:09 -05:00
Mindy Preston
f74d9eaa7d typo fixes
Signed-off-by: Mindy Preston <mindy.preston@docker.com>
2017-04-19 13:52:18 -05:00
Matt Bajor
7686c1a153 Migrate the Kubernetes shell to ash
The Kubernetes images have been migrated to Alpine Linux which
does not include bash by default.

Signed-off-by: Matt Bajor <matt@notevenremotelydorky.com>
2017-04-18 19:34:06 -05:00
Magnus Skjegstad
0511fdb431 Add logging project
Adds a logging daemon that collects logs in a ring buffer in a runc container.
The tools logwrite and logread can be used to read/write logs. The logging
daemon can be sent open file descriptors that will be read and included
in the logs.

Modifies init to start the daemon and use logwrite to capture logs from runc.

Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-04-16 21:08:57 +02:00
Ilya Dmitrichenko
e5faae5c6e Remove tini, it is not needed in host PID namespace
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-16 10:42:37 -05:00
Ilya Dmitrichenko
81e8c39203 Rebase Kubernetes images on Apline
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-16 10:31:11 -05:00
Ilya Dmitrichenko
37f2375c37 Rename images
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-16 07:13:38 -05:00
Rolf Neugebauer
5c1340b13d demo: Remove sysctl container from nginx sample
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-15 17:51:15 -05:00
Rolf Neugebauer
8eb39e6b9e demo: Rename intro into my-nginx
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-15 17:15:11 -05:00
Rolf Neugebauer
cbbd9b44ee demo: add a env file for setting up the environment for the demo
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-15 17:13:32 -05:00
Rolf Neugebauer
f69bab3451 demo: Clean up the etcd directory, update docs
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-15 11:05:20 -05:00
Rolf Neugebauer
49ab5bc719 demo: Minor tweak to the demo setup
- Specify the specific version of nginx
- Reduce memory for etcd cluster nodes

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-15 09:34:37 -05:00
Rolf Neugebauer
38863774e6 demo: Update to use containerd
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-14 19:20:13 -05:00
Rolf Neugebauer
e374cb3543 demo: Update etcd demo to use linuxkit
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-14 11:57:24 -05:00
Rolf Neugebauer
8462e34d6e demo: Update README
latest DfM has all the bits you need...

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-14 11:57:24 -05:00
Rolf Neugebauer
d526707240 demo: Switch intro to use linuxkit
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-14 11:57:24 -05:00
Justin Cormack
72c3f9cfa2 More renames to LinuxKit
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-14 11:47:24 -05:00
Thomas Gazagnaire
94583013aa miragesdk: simplify the build by using multi-stage Dockerfile
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-14 17:05:36 +02:00
Justin Cormack
ea39f0b87d Merge pull request #1614 from riyazdf/ineffassign-bump
Bump go-compile with ineffassign
2017-04-14 07:30:10 -05:00
Jose Carlos Venegas Munoz
b485f729e8 clear-containers: Add script to launch base OS and kernel
This commit adds the script qemu.sh that will be used in a
docker container (created with Dockerfile).

This script will crate qemu instance to lauch a Clear Container
base OS with a kernel generated with moby.

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-04-14 09:26:10 +00:00
Jose Carlos Venegas Munoz
f2569c0e75 clear-containers: Enable kernel security options used by moby
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-04-14 09:26:10 +00:00
Jose Carlos Venegas Munoz
844f058689 clear-containers: enable PAGE POISONING ZERO
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-04-14 09:26:04 +00:00
Jose Carlos Venegas Munoz
2b1fb70f35 projects: Add Clear Containers intial support
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-04-14 09:23:37 +00:00
Riyaz Faizullabhoy
9609010ea8 Also update ymls
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-04-13 09:17:14 -07:00
Rolf Neugebauer
85d6492d5d kernel: Use linuxkit images for compilingi/packaging the kernel
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-12 21:28:17 +01:00
Rolf Neugebauer
36749ea5c4 build: Switch using c-compile from linuxkit hub org
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-12 21:28:17 +01:00
Justin Cormack
c5c6c26b3f Merge pull request #1610 from samoht/sdk-roadmp
miragesdk: update roadmap
2017-04-12 19:40:47 +01:00
Thomas Gazagnaire
1e83a9f9b4 miragesdk: update roadmap
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 17:47:42 +02:00
Rolf Neugebauer
a1ce71cd0a Update YAML files with new metadata package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-12 16:20:41 +01:00
Justin Cormack
45c2921c7c Merge pull request #1606 from rneugeba/meta2
Improve/Fix metadata package and use it
2017-04-12 15:55:54 +01:00
Justin Cormack
c01d0e2777 Merge pull request #1587 from errordeveloper/kubernetes
Kubernetes with Weave CNI networking
2017-04-12 15:50:04 +01:00
Rolf Neugebauer
0cd867d315 demo: Update etcd YAML to new metadata package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-12 15:42:48 +01:00
Thomas Gazagnaire
238879f2d4 miragesdk: add temporary auto-gen files
The capnp compiler is not yet available in alpine.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 16:29:49 +02:00
Thomas Gazagnaire
a0546bba88 miragesdk: use cap-n-proto instead of custom binary protocol for calf/priv API
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 16:29:49 +02:00
Ilya Dmitrichenko
385f1a6634 Use LinuxKit
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-12 15:08:16 +01:00
Ilya Dmitrichenko
340e97ae53 Kubernetes with Weave CNI networking
For the time being I've decided to exploit shared mounts to make
`/opt/cni` and `/etc/cni` work as expected. We need these directories
to appear writable on the host, and allow Weave Net pod to bind-mount
out them in order to install plugin binaries, and allow for vanilla
CNI plugins to be also accessible to kubelet.

Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-12 15:02:03 +01:00
Thomas Gazagnaire
0a18bf3a00 miragesdk: update to latest base init
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 15:56:29 +02:00
Justin Cormack
e4213f1582 Merge pull request #1602 from justincormack/slash-rshared
Make / rshared
2017-04-12 13:39:31 +01:00
Thomas Gazagnaire
2cc09805c9 Merge pull request #1543 from samoht/mac
miragesdk: do not generate a random mac
2017-04-12 14:29:19 +02:00
Justin Cormack
3c326bebdf Make / rshared
Previously only `/var` was `rshared` but some people need to share
mounts in `/opt` etc so let us make everything `rshared` for now.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-12 13:10:46 +01:00
Rolf Neugebauer
b0629176ab examples: Don't use a file section if you don't need it
Exception is ./moby.yaml where it serves as an example.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-12 12:26:30 +01:00
Rolf Neugebauer
a59e24b4fa example: Don't use the full @sha25t version of images
The sha1 tag should be sufficient to uniquely identify the image
and the sha256 versions are just very long...

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-12 12:24:02 +01:00
Thomas Gazagnaire
dc4ff8accd miragesdk: update DHCP client example to use latest images
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 12:09:30 +02:00
Thomas Gazagnaire
2b0009ee06 miragesdk: be a bit less verbose in debug mode
It's not very interesting to see the forwarded stdout/stderr messages as
they will end-up being printed anyway.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 12:08:32 +02:00
Thomas Gazagnaire
b18d50b5e4 miragesdk: rebase init pkg to catch up with upstream changes
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 12:06:50 +02:00
Thomas Gazagnaire
396ffabc41 miragesdk: tune down some debug code
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 11:04:33 +02:00
Thomas Gazagnaire
df9833ed68 miragesdk: add missing Sdk.Net files
Probably my inconscient which refused to show the world these hacks.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 11:04:16 +02:00
Thomas Gazagnaire
abe96b0447 miragesdk: use the interface's MAC address instead of using a random one
The priv container populate the `/mac` key on startup, that the calf can
then read.

Also add more fine-grained control over read/write delete capabilities attached
to the routes, e.g. the calf can read /mac but not write to it.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 11:04:16 +02:00
Thomas Gazagnaire
0d7e584e32 miragesdk: remove dead-code and code repetition
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 11:04:16 +02:00
Thomas Gazagnaire
95d362ab7e miragesdk: clean error handling for Sdk.Ctl.Client
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 11:04:16 +02:00
Thomas Gazagnaire
703657a54f miragesdk: update Dockerfiles
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-04-12 11:04:16 +02:00
Justin Cormack
f47bc385c6 Merge pull request #1588 from rneugeba/meta-up
demo: Switch etcd to use metadata
2017-04-11 20:08:16 +01:00
Rolf Neugebauer
049993fc3d demo: Switch etcd to use metadata
Also add more services.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-11 19:10:32 +01:00
Justin Cormack
25f8036bc4 Merge pull request #1585 from errordeveloper/kubernetes
Basic multi-node Kubernetes cluster
2017-04-11 16:17:31 +01:00
Ilya Dmitrichenko
52ba02b9c8 Basic multi-node support
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-11 15:42:57 +01:00
Justin Cormack
2c7628c101 Support dhcpcd in one shot mode as well
This is needed for cloud environments that want to get their metadata in
the onboot phase over the network.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-11 14:58:57 +01:00
Ilya Dmitrichenko
89b8021f62 Create /var/lib/kubelet at runtime, after /var is mounted
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-11 13:59:38 +01:00
Ilya Dmitrichenko
7bcca5cf7f Sync with examples/doecker.yml
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-11 13:59:37 +01:00
Ilya Dmitrichenko
73a29022ce Cache Kubernetes images, update image names, add boot-master.sh
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-11 13:59:30 +01:00
Justin Cormack
64933fa292 Merge pull request #1572 from errordeveloper/kubernetes
Working single-node Kubernetes setup
2017-04-11 09:56:35 +01:00
Ilya Dmitrichenko
85b54d5717 Fix shared mounts – working single-node Kubernetes setup
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-11 09:43:07 +01:00
Riyaz Faizullabhoy
5f90faeafa init: update main moby example and tests
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-04-10 11:59:23 -07:00
Ilya Dmitrichenko
91c4278c77 Use new modular init containers, flatten kubelet image
Signed-off-by: Ilya Dmitrichenko <errordeveloper@gmail.com>
2017-04-10 17:43:12 +01:00
Justin Cormack
84034a0370 Merge pull request #1570 from justincormack/containerd-toml-default
Use the real default containerd toml config
2017-04-10 17:32:36 +01:00
Justin Cormack
bc23fde1c2 Use the real default containerd toml config
Rather than an empty one.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-10 16:25:13 +01:00
Rolf Neugebauer
34af633552 infrakit: rename the Moby property to kernel+initrd
The infrakit plugin is not specific to Moby and should be able
to boot other Linux systems as long as a kernel image and
initial RAM disk are supplied. Reflect this in the property
passed to the plugin.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-10 16:12:08 +01:00
Justin Cormack
bd5780e46d Merge pull request #1565 from justincormack/var-rework-again
Rework how /var is mounted
2017-04-10 14:27:40 +01:00
Rolf Neugebauer
29ad037125 demo: Remove jq and sfdisk from etcd image
They are no longer needed as the mounting happens in the
mount container.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-10 11:41:17 +01:00
Justin Cormack
9ee52aa966 Rework how /var is mounted
Instead of mounting a new filesystem, revert to doing a `rw` bind.

However do not make `/` `rshared`, just `/var` as that is where we expect
filesystems to be mounted for persistence. Also only make the actual
container rootfs writeable, not the whole directory.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-04-10 11:28:00 +01:00
Justin Cormack
ce70127028 Merge pull request #1561 from riyazdf/landlock-makefile-dockerfile
Landlock: kernel build materials and example yml
2017-04-10 10:48:37 +01:00
Rolf Neugebauer
baab60ea87 demo: Update etcd to use the new mount container
Rolling updates still work

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-04-09 20:50:10 +01:00
Riyaz Faizullabhoy
3aead78f36 landlock: example yml
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-04-09 12:09:06 -07:00
Riyaz Faizullabhoy
b95ca1b358 landlock: gitignore for kernel build
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-04-09 12:08:53 -07:00
Riyaz Faizullabhoy
f89bd06edb landlock: Makefile with kernel-landlock name
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-04-09 12:07:10 -07:00