Commit Graph

976 Commits

Author SHA1 Message Date
Ian Campbell
6659aa0815 kubernetes: refactor final metadata construction to common location
Shared between the master and node cases.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-15 10:30:04 +00:00
Ian Campbell
d88a1e591d Bump runc yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-15 09:34:06 +00:00
Rolf Neugebauer
879ea03277
Merge pull request #2703 from guillaumerose/multi
metadata: handle json with more than 2 levels
2017-11-14 13:39:27 +00:00
Guillaume Rose
74167a5dd1 metadata: update image
Signed-off-by: Guillaume Rose <guillaume.rose@docker.com>
2017-11-13 15:54:48 +01:00
Justin Cormack
1040a9b9ab
Merge pull request #2706 from rn/no-cma
Kernel update to 4.13.12/4.9.61/4.4.97 + disable CMA on arm64
2017-11-13 12:26:38 +01:00
David Scott
eb7eff8ad7 kubernetes: allow yaml to be provided via metadata
Previously the network policy yaml had to be hard-coded in the image.
This patch allows the policy to be added via the metadata directories:

- /var/config/cni/etc/net.d/
- /var/config/kube-system.init/

Signed-off-by: David Scott <dave.scott@docker.com>
2017-11-11 12:04:36 +00:00
Ian Campbell
e7327db49f kubernetes: bump yaml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-10 14:51:23 +00:00
Ian Campbell
c08c77e3c8 kubernetes: bump to cri-containerd master
This includes a bump to use containerd v1.0.0-beta.3.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-10 14:50:11 +00:00
Ian Campbell
cf01aa4c8d kubernetes: Add a simple bridged option for KUBE_NETWORK
This has no kube object(s) but just arranges for the CNI configuration to be
written in the right place. The CNI bridge, loopback etc binaries are already
included since they are in the reference set.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-10 14:50:11 +00:00
Ian Campbell
ed0e79aa9d kubernetes: Refactor network provider selection
KUBE_NETWORK now specifies a yml which is passed to the Moby tool, which can
introduce files into /etc/kubeadm/kube-system.init/ or do other things as it
likes.

In the case of weave this just adds the weave yaml to that directory. To avoid
too much confusion between weave.yml (Moby tool input) and `weave.yaml` (the
kubernetes `ServiceAccount`, `DeamonsSet` etc object specs) name the latter
`kube-weave.yaml`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-10 14:50:11 +00:00
Ian Campbell
22cdd22184 kubernetes: Only build the relevant image for the platform
Building both BIOS and EFI variants is a waste of time in most cases, instead
just build whichever one is relevant to the platform (which currently means EFI
on Darwin and BIOS everywhere else).

At the same time make it possible to pass "KUBE_FORMATS" (a space separated
list of targets) to the build e.g. `make KUBE_FORMATS="iso-efi iso-bios"` will
preserve the behaviour prior to this patch.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-10 14:50:11 +00:00
Ian Campbell
425553d390 kubernetes: better tolerate bad contents of /etc/kubeadm/kube-system.init/
Specifically ignore present-but-empty files entirely and ignore (but log)
failure to apply any one file.

Ignoring an empty file is useful because it means you can clobber a file which
might be referenced from an images binds without needing to override those
binds (since that generally means duplicating the whole lot which is annoying).

Ignoring any failures to apply means the rest gets applied and the rest of the
script (including untaint and the stamp file creation) still happen, resulting
in a system where the admin just has to address the failures rather than the
remaining updates. We touch a file to indicate failure generally plus one to
indicate the specific yaml which failed to apply.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-10 14:50:11 +00:00
Rolf Neugebauer
e1a12cd67d Update YAML files to new kernel versions
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-10 14:20:25 +00:00
Ian Campbell
a5f4da2ebb Bump yml for containerd v1.0.0-beta.3
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-09 10:16:33 +00:00
pgayvallet
179c82e0cb Move kubelet.sh.conf sourcing before exit checks
Signed-off-by: pgayvallet <pierre.gayvallet@gmail.com>
2017-11-06 17:32:59 +01:00
pgayvallet
ba8e01bf13 Add capability to not start kubelet depending on either a configuration file or an environment variable.
Signed-off-by: pgayvallet <pierre.gayvallet@gmail.com>
2017-11-06 15:08:22 +01:00
w9n
7b16f41540 Kubernetes: Autoinit and persistent state by default
Signed-off-by: Robin Winkelewski <w9ncontact@gmail.com>
2017-11-05 13:15:50 +01:00
Rolf Neugebauer
4866a1c4d6 Update YAML files with latest kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-03 15:11:07 +00:00
Rolf Neugebauer
0ab77ee843 Update YAMLs with getty/ip/sshd packages
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-11-03 15:11:06 +00:00
Ian Campbell
a30481dcfb kubernetes: s/NETWORK/KUBE_&/ in Makefile for consistency
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-02 10:51:14 +00:00
Ian Campbell
f2d94ab7f3 kubernetes: Bump hashes.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-02 10:12:35 +00:00
Ian Campbell
678c5b9b7b kubernetes: bump to k8s 1.8.2 and weave 2.0.5
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-02 10:00:34 +00:00
Ian Campbell
fb6f7eef9d kubernetes: Bump to Docker 17.10-ce
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-01 15:21:53 +00:00
Ian Campbell
8511e626fd kubernetes: bump cri-containerd yml to hash containing v1.0.0-alpha.1
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-01 10:24:29 +00:00
Ian Campbell
56ff03da2d kubernetes: bump to cri-containerd v1.0.0-alpha.1
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-01 10:21:24 +00:00
Ian Campbell
06943bb005 kubernetes: Add socat to cri-containerd package.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-11-01 10:20:12 +00:00
Theo Koulouris
10fc7997af okernel: made image building container use '--no-cache' option
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-10-30 15:25:59 +00:00
Theo Koulouris
611d3cb6fd okernel: cleaned-up kernel config
Signed-off-by: Theo Koulouris <theo.koulouris@hpe.com>
2017-10-30 10:42:58 +00:00
Rolf Neugebauer
a8b9693878 Update YAML files to latest kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-28 22:08:20 +01:00
Ian Campbell
b170f62832 Updates for kube+swarmd projects rebuilt with new alpine
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-24 11:49:13 +01:00
Ian Campbell
d194639faf Updates for pkg/* which are rebuilt with new alpine
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-24 11:05:58 +01:00
Ian Campbell
6c7b1c0251 Bump all packages to newest alpine.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-24 10:11:24 +01:00
Ian Campbell
c7c06541a7 Merge pull request #2629 from rn/kup
Kernel updates
2017-10-23 15:24:55 +01:00
Ian Campbell
a571ae62e1 kubernetes: bump image cache hash.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-23 10:23:02 +01:00
Ian Campbell
76d655ebe4 kuberenetes: Bump image cache to v1.8.1
I forgot to do this in #2626.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-23 10:08:15 +01:00
Rolf Neugebauer
456f8f737d Update YAML files to latest kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-22 19:49:15 +01:00
Rolf Neugebauer
0df77e4858 Merge pull request #2612 from rn/rpi3
Initial Raspberry Pi 3 support
2017-10-21 13:31:26 +02:00
Rolf Neugebauer
1a58f16465 Update YAML files to latest kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-20 20:22:03 +01:00
Ian Campbell
2dc52c6d04 kubernetes: Bump yaml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-20 15:03:06 +01:00
Ian Campbell
b93389b239 kubernetes: Update to v1.8.1
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-20 15:01:06 +01:00
Rolf Neugebauer
e80c411ffe Merge pull request #2619 from codergr/master
Update README.md to include link towards Kubernetes project
2017-10-20 15:02:31 +02:00
Sotiris Salloumis
f7677e7178 Update README.md
Addition of a link to the Kubernetes project

Signed-off-by: Sotiris Salloumis <sotiris.salloumis@gmail.com>
2017-10-20 04:54:53 -04:00
Nick Jones
2ccce690fa
Update metadata image ref
Signed-off-by: Nick Jones <nick@dischord.org>
2017-10-19 11:56:52 +01:00
Sotiris Salloumis
5d54dcc6fc Update README.md 2017-10-18 15:12:42 +02:00
Avi Deitcher
da42ced2db Move mounted file from /var/html to /etc/html
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-10-18 10:58:38 +03:00
Ian Campbell
5e6a78821b Update yaml and reenable linuxkit.packages.containerd test
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 17:29:19 +01:00
Ian Campbell
29fc12607f Update various other go base pkgs to newer alpine (go1.9)
These are those which set $GOPATH but don't use go-compile.sh.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:50:47 +01:00
Ian Campbell
1d030172bf Merge pull request #2600 from ijc/containerd-v1.0.0-beta.2
Bump to containerd v1.0.0-beta.2
2017-10-12 16:19:01 +01:00
Ian Campbell
504b5388bd kubernetes: Mount /etc/os-release into docker cotainer too
This makes `docker info` show the same OS as `kubectl get -o wide nodes`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 14:14:46 +01:00
Ian Campbell
510802a245 Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 13:04:16 +01:00
Ian Campbell
27f8cb7283 Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 11:16:46 +01:00
Ian Campbell
466e5db203 kubernetes: Add /etc/os-release to host and bind to kubelet image.
Adding a `PRETTY_NAME` to this causes it to appear in the node information:

    $ kubectl --namespace=kube-system get -o wide nodes
    NAME                    STATUS    ROLES     AGE       VERSION   EXTERNAL-IP   OS-IMAGE                      KERNEL-VERSION    CONTAINER-RUNTIME
    linuxkit-b6e09efea36e   Ready     master    29m       v1.8.0    <none>        LinuxKit Kubernetes Project   4.9.53-linuxkit   containerd://1.0.0-beta.1

Previously it would be `Unknown`.

A later yaml passed to `moby build` can override this by simply duplicating
the path.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 11:15:50 +01:00
Ian Campbell
26d93d613c kubernetes: use copy --from=image-ref
I hadn't realised this was possible, it means we don't need the dummy `FROM ...
AS docker`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 11:09:10 +01:00
Rolf Neugebauer
8173300f76 Update YAML files to new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Ian Campbell
4df5d394e8 Bump yml
Done as follows:

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

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

Then:

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

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

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 13:23:45 +01:00
Ian Campbell
a237b51511 Bump alpine base across the board.
By running:

    ./scripts/update-component-sha.sh --image linuxkit/alpine ad35b6ddbc70faa07e59a9d7dee7707c08122e8d

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 09:55:45 +01:00
Ian Campbell
13d11f49ba Rename "tag*" Makefile targets to "build*"
This better matches the `linuxkit pkg build` nomenclature.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:48:48 +01:00
Ian Campbell
298ef8520d Convert some of projects/kubernetes/* to linuxkit pkg build
This just covers those using pkg/package.mk.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-09 16:40:00 +01:00
Justin Cormack
d0882b9674 Merge pull request #2571 from ijc/linuxkit-pkg
Implement package build, push and show-tag in linuxkit tool
2017-10-09 13:59:02 +01:00
Nick Jones
d73092adca
Update metadata image references
Signed-off-by: Nick Jones <nick@dischord.org>
2017-10-09 12:27:00 +01:00
Ian Campbell
4cdc90e221 Build fields default to false, rename accordingly
Added some test cases for the boolean fields because I kept getting confused.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-06 17:43:38 +01:00
Ian Campbell
ba60937754 Implement package build, push and show-tag in linuxkit tool
This implements the proposal in #2564 and converts a handful of representative
or especially interesting (from a build PoV) packages to use it.

For now those pkg/* affected get a stub-`Makefile`, once all packages are
converted then `pkg/Makefile` can be adjusted and those stubs can be removed.

For now only `pkg/package.mk`'s functionality is implemented. In particular:

- `push-manifest.sh` remains a separate script, to enable calling it on systems
  with just the LinuxKit tools installed arrange to install it under a less
  generic name.
- `kernel` and `tools/alpine` do not use `pkg/package.mk` and those cases are
  not yet fully considered/covered.

I have updated the documentation assuming that the existing uses of
`pkg/package.mk` will be removed quite soon in a follow up PR rather than
trying to document the situation which results after just this commit.

Due to `cmd/linuxkit` now gaining a library the build needs adjusting slightly to
allow both `make bin/linuxkit` and `go build` to work.

`go vet` has forced me to write some rather asinine comments for things that
are rather obvious from the name.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-06 12:59:25 +01:00
Rolf Neugebauer
28303f6858 Update YAML files with new getty/ip/sshd hashes
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-06 11:16:10 +01:00
Rolf Neugebauer
d3b9d06924 Update YAML files with new kernel tags
In particular also fix the wireguard test whose kernel
tag hasn't been updated for quite some time...

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-06 11:15:34 +01:00
David Scott
cecb5a65b7 kubernetes: add optional support for a kubeadm.yaml
Unfortunately some options (such as enabling dynamic registration of
initializers) can only be enabled by a `--config foo.yaml` argument.
Furthermore some command-line options (such as the kubernetes version)
cannot be used in combination with the config file.

This patch checks for a supplied  /etc/kubeadm/kubeadm.yaml and uses
it if it exists, otherwise it falls back to the original command-line.
Note it is safe to use the `--skip-*` options in combination with the
`--config` option.

Signed-off-by: David Scott <dave.scott@docker.com>
2017-10-04 16:24:16 +01:00
Ian Campbell
8d69ed14f4 kubernetes: Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-04 12:22:17 +01:00
Ian Campbell
4386cbcdf9 kubernetes: bookend kubeadm-init with stamp files.
It is possible to get rebooted halfway through the init process, after key
files like `/etc/kubernetes/kubelet.conf` have been created but before full
cluster setup is complete or networking is applied.

Right now the idempotency of kubeadm (or backing out from this half-way state
and resuming the initialisation) is not something I have investigated. By
dropped stamps before and after at least the situation will be somewhat
detectable/diagnosable so the user can e.g. nuke their persistent disk and
start again.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-04 12:17:14 +01:00
Ian Campbell
164c4a30f5 kubernetes: support untainting master via metadata
If a stamp file is present in the metadata then untaint.

This is useful for dev environments where you only want to start a single vm.

The construction of the metadata becomes a little more complex to produce
correct json syntax now that there are two (independent) possible options.

Likewise the kubelet.sh script now takes the presence of /var/config/kubeadm
(rather than /var/config/kubeadm/init) as the signal to use the more structured
setup, since we may now have /var/config/kubeadm/untaint-master but not
/var/config/kubeadm/init so would otherwise end up passing the contents of
`/var/config/userdata` (something like `{ "kubeadm": { "untaint-master": "" }
}`) to `kubeadm` and confusing it enormously.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-04 11:28:48 +01:00
Ian Campbell
eb0fde3a10 kubernetes: update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:18:21 +01:00
Ian Campbell
c0a3656eb3 kubernetes: update to kub dns 1.14.5
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:43 +01:00
Ian Campbell
72dff9059d kubernetes: arrange for kubelet-plugins directory to be persistent
/usr/libexec/kubernetes/kubelet-plugins is a new path in Kube 1.8 (related to
flexvolumes) which should be persisted. Like /etc/cni and /opt/cni we also need
to arrange for this path to be valid in the host environment (since various
system containers will try and mount bind mount it).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:43 +01:00
Ian Campbell
57a2ae4318 kubernetes: adjust for v1.8 bootstrapping arrangements.
With kube 1.8 kubeadm initially configures worker nodes with a
bootstrap-kubelet.conf. Adjust our start of day scripting to DTRT.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:43 +01:00
Ian Campbell
f85208c74a kubernetes: Bump to v1.8.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 15:08:37 +01:00
Ian Campbell
9a99164cf7 kubernetes: Use /etc/kubernetes rather than /var/lib/kubelet
This is a bind mount, but /etc/kubernetes is the path formally expected/create
by kubeadm.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-03 14:59:54 +01:00
Rolf Neugebauer
6e58dc2940 Merge pull request #2532 from eyz/linuxkit-format-device-filter
format: blkid content check, format argument, and verbose argument
2017-10-03 11:30:00 +01:00
Isaac Rodman
0c23a5f3ce updated linuxkit/format tag to linuxkit/format:f180a74d878c8c0c86f6208f9311474c91452a79
Signed-off-by: Isaac Rodman <isaac@eyz.us>
2017-10-02 15:11:13 -07:00
Ian Campbell
9f414f429c kubernetes: bump yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-02 10:53:12 +01:00
Ian Campbell
6d387bf59d kubernetes: do not try to re-init the cluster on subsequent boots
If `kubelet.conf` already exits then don't try to redo `kubeadm`, no matter
what the metadata requests.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-02 10:50:06 +01:00
Ian Campbell
6ae72e8f50 kubernetes: update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-29 10:07:11 +01:00
Ian Campbell
f02c79e733 kubernetes: cri-containerd v1.0.0-alpha.0
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-29 10:04:16 +01:00
Ian Campbell
5804f9db3c kubernetes: rename /etc/kubelet.conf to /etc/kubelet.sh.conf
To help reduce confusion from this file (which configures our `kubelet.sh`
wrapper) vs `/var/lib/kubeadm/kubelet.conf` (which is created by `kubeadm` and
configures `kubelet` itself).

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-29 10:04:16 +01:00
Rolf Neugebauer
ab2333d70e Update YAML files with new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-09-28 15:45:23 +01:00
Ian Campbell
f626f0ee65 kubernetes: Update yml for cri-containerd
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 17:04:37 +01:00
Ian Campbell
2e5b1579e0 kubernetes: bump to latest cri-containerd
This vendors containerd v1.0.0-beta.1

Enable seccomp support at build time.

Requires /dev bind mount so it can use /dev/disk/by-uuid to resolve devices to
uuids.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 17:01:07 +01:00
Ian Campbell
c227c31e75 kubernetes: try and make exec-id unique
Hopefully hostname + local pid should be unlikely to clash.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 17:01:07 +01:00
Ian Campbell
1bdf0df8b6 Update yml for new linuxkit/mount package.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-27 16:44:40 +01:00
Ian Campbell
f30996438d kubernetes: bump yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-26 11:11:28 +01:00
Ian Campbell
a2d052b3df kubernetes: disable cAdvisor (in kubelet) from listening on 0.0.0.0:4194
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-26 11:00:51 +01:00
Ian Campbell
dcd01314c7 kubernetes: add openssl to kubelet container
This is needed for certificate operations, such as signing a new user's csr.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-26 11:00:51 +01:00
Ian Campbell
f6f23cbb0b kubernetes: build kube{let,adm,ctl} from source
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-26 11:00:44 +01:00
Ian Campbell
563ee76cb5 Update yml
Pulling in containerd v1.0.0-beta.1.

Fixes #2533.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-25 13:54:24 +01:00
Rolf Neugebauer
cc200d296a Merge pull request #2527 from eyz/linuxkit-dhcpcd-CAP_SYS_ADMIN
added capability to pkg/dhcpcd for sethostname
2017-09-21 20:53:16 +01:00
Isaac Rodman
542ad766b7 switched linuxkit/dhcpcd hash to d4408777ed for PR #2527
Signed-off-by: Isaac Rodman <isaac@eyz.us>
2017-09-21 10:47:06 -07:00
Justin Cormack
a5054d5ad4 Update containerd hashes
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-09-20 14:35:37 -07:00
Ian Campbell
ac6b8dcf6a kubernetes: more flexible selection of network stack
Also move to 50 in the ordering so things can be added before as well as after.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-20 16:45:56 +01:00
Ian Campbell
451fe22c82 kubernetes: update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-20 15:26:41 +01:00
Ian Campbell
615f135d61 kubernetes: use coreutils in kubelet container for full fat du
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-20 15:24:18 +01:00
Ian Campbell
5c4c25cac6 kubernetes: support auto-init via metadata
Set KUBE_MASTER_AUTOINIT when using boot.sh to enable. User will need to pick
up the token for other nodes using `kubeadm token list`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-20 15:23:27 +01:00
Ian Campbell
3ce260cb9a kubernetes: rework kubelet and kubeadm start of day interations
Rework the kubelet.sh script by adding an explicit step which waits for the
configuration to be valid, either by finding appropriate metadata or by waiting
explicitly for kubelet.conf to be created (e.g. by kubeadm) before launching
kubelet. The previous construct was implicitly waiting for kubelet.conf to be
created since kubelet fails if that file is not present.

Pull the set of start of day yaml files to be applied (currently just weave)
out of the kubelet image and into the LinuxKit yaml by providing a directory
which is searched for *.yaml after init.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-20 15:23:27 +01:00
Ian Campbell
7145b40947 kubernetes: bump to cri-containerd a2dbc6ec1ce6
Adds some bug fixes and support for copy up of anonymous volume contents from
the underlying image.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-09-20 15:23:27 +01:00
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