Commit Graph

112 Commits

Author SHA1 Message Date
Ian Campbell
d118b588c5 Simple build system for ocaml-based iptables
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-17 18:07:02 +01:00
Justin Cormack
759ad55f03 Update to docker 1.12-dev plus proxy patches, close to what will be rc1
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-14 14:13:36 +01:00
Justin Cormack
f4f41efe09 add openssl for wget helper
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 17:26:29 +01:00
Justin Cormack
96d0225bbf remove syslog restart from setup-disk
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-13 13:44:06 +01:00
Justin Cormack
6f12be49b3 make runlevels closer to standard alpine
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-10 18:43:16 +01:00
Justin Cormack
ab873af79b start hwclock in boot runlevel
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-10 11:10:28 +01:00
Justin Cormack
405784224d Revert "Revert "Merge pull request #184 from justincormack/repositories" (#195)"
This reverts commit 34d44e20d4.
2016-06-10 10:52:13 +01:00
David Sheets
34d44e20d4 Revert "Merge pull request #184 from justincormack/repositories" (#195)
This reverts commit ae1e96055c, reversing
changes made to 99dfa4e4c1.
2016-06-10 10:28:07 +01:00
Justin Cormack
ca767fca66 start klogd in same runlevel as syslogd
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-09 11:38:24 +01:00
Ian Campbell
de6e7f9cbe Point chronyd at gateway when ntp=gateway is given on the kernel cmdline.
Reconfigure chronyd in a udhcpc post-bound hook and restart it, but use
conditionalrestart so it is not started if it isn't running, which is the case
during boot when this hook happens from init.d/networking via ifup, running
"service ... start" in that context results in the daemon running but the
service db saying it isn't.

Doing it in the udhcpc hook leaves a nice hole where support for getting the
NTP server via DHCP can fit in once it is available.

This also switches from using "initstepslew" to "makestep", the former was
responsible for the long delay starting chronyd (meaning we can now drop
"before chronyd" from Docker's init dependencies), while the later will force a
step if the time is out by more than the configured amount (half a second
here), meaning it will be corrected on resume. The rest of the time it chrony
will do the usual slewing to keep the clock accurate. Passing -1 as the limit
to "makestep" ensures the step will always occur, if it were positive it would
only be done that number of times.

We add "iburst" and "minpoll 2" to the default configuration file to speed up
initial sync and resync after sleep respectively, resync after sleep happens in
a couple of seconds. In "ntp=gateway" mode we also patch in "trust", this isn't
in the default config file since we won't be so sure about DHCP provided
servers, but when talking to a host provided NTP we want to use its time (for
sync accross host mounts) even if it has a crazy idea about what the time is.

With this we can also remove the 15min ntp sync, which in turn gets rid of the
need for cron.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-06-08 13:19:35 +01:00
Justin Cormack
ca6663b9a3 Move to 3.4 repositories, openrc
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-08 12:45:07 +01:00
Justin Cormack
8a86af7d1e Update to Alpine 3.4
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-06-03 12:45:15 +01:00
Dave Tucker
202cccd9d9 Remove hupper and mobyconfig watch
Signed-off-by: Dave Tucker <dt@docker.com>
2016-06-02 20:39:25 +01:00
Nathan LeClaire
7f7e470eac Add 'bootflag' script to check kernel flags
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-06-01 15:30:53 -07:00
David Scott
5090fd9599 proxy: add a multiplexing server frontend
On a Hyper-V system we can only register one listening endpoint (with
a GUID), so we need to accept connections, read a header and then
start the proxy.

If the binary has argv[0] == "proxy-vsockd" then run this new frontend.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-22 12:43:18 +01:00
David Scott
ddea73d6d2 tap-vsockd: add tap-vsockd service to bring up eth1
The tap-vsockd service is started from eth1's pre-up script.

On the Mac: the bind of the AF_HYPERV socket fails, and eth1 is skipped.
On Windows: if there is no database then eth1 is skipped.
On Windows: if the database has network=native then eth1 is brought up.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:58:38 +01:00
Dave Scott
58204eab91 Merge pull request #145 from djs55/tap-vsockd-tool
tuntap vsock tool
2016-05-21 13:50:03 -07:00
David Scott
b40c691f89 9pmount-vsock: add to /sbin
This patch adds the binary to /sbin but does not hook it up.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:41:50 +01:00
David Scott
dbd9fb77fd tap-vsockd: add to /sbin
Install the daemon in /sbin, but don't start it up yet.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-05-21 21:15:11 +01:00
Rolf Neugebauer
a29e63d660 moby: revert #126. setup-disk -m depends on syslinux for now
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-05-20 09:42:46 +01:00
Justin Cormack
1c85e91989 We do not seem to need syslinux in the image, and it brings in libpng and things we do not need
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-11 14:56:58 +01:00
Justin Cormack
fc370b0c21 Revert "replace chronyd with sntpc, sync every 15s not 15m"
We should not use ntp.org this frequently, need to work out something
that uses host time mainly.

This reverts commit 382f99529d.
2016-05-10 11:29:16 +01:00
Justin Cormack
382f99529d replace chronyd with sntpc, sync every 15s not 15m
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-05-10 11:00:51 +01:00
Justin Cormack
998e808da1 add resize2fs to build
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-27 12:10:23 +01:00
Justin Cormack
564998505f add oom killer config, so containers die before system daemons, fix #110
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-26 16:00:36 +01:00
Justin Cormack
084761b9db remove mdnstool now we are only using hostnet
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-26 14:45:50 +01:00
Justin Cormack
5c61ee27f3 Switch from busybox mdev to kernel devtmpfs
This is simpler, and as a by-product should resolve
https://github.com/docker/pinata/issues/1968
as it uses the now-more-correct loop device names
that newer util-linux expects.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-25 12:03:32 +01:00
Justin Cormack
53af8a1b14 clean up apk cache after install to make image a little smaller
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-25 10:59:36 +01:00
Ian Campbell
2f38aae743 Stop including nc-vsock in the initrd
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-04-21 10:09:34 +01:00
Justin Cormack
d7b363d348 fix arm build see #101 #96
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-18 11:34:14 +01:00
Rolf Neugebauer
97a338b127 moby: add a cut-down version of gummiboot
The gummiboot EFI stub is used for creting a EFI bootable ISO

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-16 12:50:37 +01:00
Justin Cormack
4cd3d08bdf Merge pull request #92 from djs55/go-diagnostics
moby: rewrite diagnostics server in Go
2016-04-15 16:17:08 +01:00
David Scott
578c037e81 moby: rewrite diagnostics server in Go
This will make it easier to add a vsock interface as well as a regular
TCP/IP one.

As a side-effect, the server is now able to handle more than one concurrent
request!

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-15 16:09:54 +01:00
Rolf Neugebauer
14677a220f alpine: create source tarballs for hvtools and llmnrd
Add them to the initrd under /usr/share/src

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-15 15:10:29 +01:00
Rolf Neugebauer
d4b1dbbf98 chronyd: don't start it when running on Hyper-V
This is a bit ugly as we copied and then modified the chronyd init.d
script as shipped in the package.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-15 15:10:28 +01:00
Rolf Neugebauer
87dae50faf hvtools: tweak startup sequence
- Don't start hv_fcopy_daemon. It seems to exit and we are not
  using it anyway. Also, remove it from the initrd

- Move hv_kvp_daemon and hv_vss_daemon to start earlier
  (before networking and docker being started)

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-15 15:10:28 +01:00
Rolf Neugebauer
e4cff4a1e1 kernel,initrd: add CIFS to the kernel and cifs-utils to the initrd
Needed to enable SMB/CIFS mounts on Windows hosts

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-15 14:51:27 +01:00
Rolf Neugebauer
5f55666718 llmnrd: Add a LLMNR Daemon
LLMNR is the Windows equivalent of mDNS.

Import the LLMNR daemon from https://github.com/tklauser/llmnrd
It needed some small modification to compile cleanly on Moby

LLMNRD is only started when running inside a Hyper-V VM

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-15 14:51:10 +01:00
Dave Tucker
f7e374a717 Add util-linux for K8's
Signed-off-by: Dave Tucker <dt@docker.com>
2016-04-14 18:27:00 +01:00
Justin Cormack
3c9c67bb16 remove 9pinit package, work now done by appropriate packages or mobyconfig tool
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-07 16:40:54 +01:00
Justin Cormack
793265c48d rename database to hostsettings
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-07 15:11:20 +01:00
Justin Cormack
20e6da1cc3 add mobyconfig tool for simpler config
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-07 14:58:12 +01:00
Justin Cormack
b1cbf3e96f move proxy 9p mounting into its own init file
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-07 10:31:08 +01:00
Ian Campbell
be7a9a4cda vsudd: New daemon to proxy vsock to Unix domain sock
Used to proxy vsock 2376 <-> /var/run/docker.sock in the Moby VM.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-04-05 13:50:06 +01:00
Ian Campbell
a887fb110c Add VSOCK patches
These are WIP taken from git@github.com:stefanha/linux.git#vsock
(==4c9d2a6be1c6, using "cherry-pick -x") and correspond to RFC v5 of the
frontend patches posted in
http://thread.gmane.org/gmane.linux.kernel.virtualization/27455

There is no corresponding spec proposal update yet, but this set of patches
correspond (roughly) to addressing the feedback on v4 of the spec proposal
http://thread.gmane.org/gmane.comp.emulators.virtio.devel/1062.

kernel_config.arm modifications copied from x86, not tested.

Added /etc/kernel-patches/ directory to the image to be consumed by the
licensing.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-04-05 13:40:36 +01:00
Ian Campbell
f065ec7fdb Add nc-vsock utility (for testing AF_VSOCK)
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-04-05 13:39:44 +01:00
Justin Cormack
09a98bf3e2 remove 9pudc, unused and not being fixed
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 18:21:01 +01:00
Justin Cormack
a65b7eff5a Do not pin alpine 3.3 version, we do apk upgrade anyway
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 15:56:51 +01:00
David Scott
dc9b79f116 Add skeleton /sbin/proxy program
This will eventually contain the `docker-proxy` replacement.

Signed-off-by: David Scott <dave.scott@docker.com>
2016-04-04 12:41:02 +01:00
Justin Cormack
4b0c50a779 Remove docker-x for now as no longer working, and was not possible to enable. Will rework when strategy for supporting multiple dockers decided
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-04-04 11:47:48 +01:00