Commit Graph

976 Commits

Author SHA1 Message Date
Tycho Andersen
9cd2f434cf projects: remove unused configs from kernel-config
Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-08 12:06:25 -06:00
Tycho Andersen
42b6b44fa9 projects: split kernel-config build into three phases
...and add straw man implementations of kernel_config.base and
kernel_config.x86 as examples.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-04-14 09:26:10 +00:00
Jose Carlos Venegas Munoz
f2569c0e75 clear-containers: Enable kernel security options used by moby
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-04-14 09:26:10 +00:00
Jose Carlos Venegas Munoz
844f058689 clear-containers: enable PAGE POISONING ZERO
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-04-14 09:26:04 +00:00
Jose Carlos Venegas Munoz
2b1fb70f35 projects: Add Clear Containers intial support
Signed-off-by: Jose Carlos Venegas Munoz <jose.carlos.venegas.munoz@intel.com>
2017-04-14 09:23:37 +00:00
Riyaz Faizullabhoy
9609010ea8 Also update ymls
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-04-13 09:17:14 -07:00