731 Commits

Author SHA1 Message Date
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