Commit Graph

880 Commits

Author SHA1 Message Date
Tycho Andersen
d9135b515c kernel config project: add a writeup
Add a writeup of how the kernel config project designed to behave when
migrating kernel versions.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Closes #1991

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-05-30 13:59:35 +01:00
Rolf Neugebauer
8cff978fab Update YAML files with updated binfmt package
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-29 17:30:57 +01:00