Commit Graph

2491 Commits

Author SHA1 Message Date
Thomas Gazagnaire
469472b48d miragesdk: add tests for stdout/stderr pipes
And the tests pass!

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 13:40:57 +02:00
Thomas Gazagnaire
60a6936e53 miragesdk: update .gitignore
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 13:40:57 +02:00
Thomas Gazagnaire
5dd3d36954 miragesdk: enable all warnings when compiling the projects
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 13:40:57 +02:00
Thomas Gazagnaire
fb2d6b6252 miragesdk: rework the control plane protocol
Previously, the control plane was using HTTP client/server, that various people
found way too complex to run in a privileged container (for very good reasons).

So switching to a simpler binary protocol, using c-like structures. Will
probably switch to an other serialization protocol later (eg. protobuf
or cap-n-proto).

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-30 13:40:57 +02:00
Thomas Gazagnaire
2ae5b63d02 miragesdk: add mimimal tests for the SDK
Very minimal so far, but the plan is to add much more of them.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-29 15:41:23 +02:00
Thomas Gazagnaire
94c437cf87 miragesdk: add a dev-clean target
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-29 14:28:19 +02:00
Thomas Gazagnaire
5b3f80a104 miragesdk: fix dev target
Paths have changed since 47b9f08b16

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-29 14:27:38 +02:00
Justin Cormack
7d89d68b61 Merge pull request #1408 from samoht/reorg
mirageSDK: re-organise the file hierarchy
2017-03-29 14:05:19 +02:00
Thomas Gazagnaire
47b9f08b16 miragesdk: move files around
The new hiearchy is:
- pkg/{init,mirage-compile}: additional Moby packages
- src/sdk -> the begining of the MirageOS SDK for Moby
- src/dhcp-client -> the code for the MirageOS dhcp-client service

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-29 13:39:20 +02:00
Thomas Gazagnaire
2497528665 miragesdk: first cut of a MirageSDK
Today the SDK only contains helper code to create secure Moby services based on
MirageOS. Today the SDK only defines the architecture and the communication
pipes between the privileged service and the calf; the proper communication
API will be specified after we have a few more use-cases.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-29 12:34:48 +02:00
Thomas Gazagnaire
e18e7ebeb8 miragesdk: minor cleanups
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-29 12:34:41 +02:00
Anil Madhavapeddy
16b09454a5 Merge pull request #1407 from avsm/miragesdk-readme
miragesdk: more tweaks to README markdown
2017-03-28 22:20:18 +01:00
Justin Cormack
38327f2cb2 Merge pull request #1373 from avsm/okernel
kernel: add build config for the experimental "split kernel"
2017-03-28 23:11:12 +02:00
Justin Cormack
5c1b1e6eb6 Merge pull request #1397 from justincormack/more-docs
Architecture overview
2017-03-28 23:10:12 +02:00
Anil Madhavapeddy
738683af14 miragesdk: more tweaks to README markdown
Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-03-28 22:07:15 +01:00
Anil Madhavapeddy
6b017c5524 Merge pull request #1406 from avsm/miragesdk-readme
Add projects/miragesdk README
2017-03-28 22:05:27 +01:00
Anil Madhavapeddy
b198765bc7 projects: remove double word typo in README.md
Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-03-28 19:13:17 +01:00
Anil Madhavapeddy
018d82f70a miragesdk: add a README explaining the background of the project
Also link it to the roadmap and why-dhcp docs, and include review
comments from @yomimono

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-03-28 19:13:17 +01:00
Rolf Neugebauer
af3b4a1d24 Merge pull request #1400 from rneugeba/init
Fix console handling
2017-03-28 14:44:58 +01:00
Anil Madhavapeddy
306aa1781d okernel: Make README more Markdown friendly
Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-03-28 14:32:06 +01:00
Anil Madhavapeddy
85b37697ac kernel: add build config for the experimental "split kernel"
The aim of the split kernel is to introduce a level of intra-kernel
protection into the kernel so that, amongst other things, it can
offer lifetime guarantees over kernel code and data integrity.

These patches only wire in the kernel build from a 4.11-rc3 snapshot.
The userspace tools will follow shortly.  Instructions came via
https://github.com/linux-okernel/linux-okernel (linux-okernel branch)
and via @edwards-n and @t-koulouris.

The build can be done via `cd projects/okernel && make`.

Signed-off-by: Anil Madhavapeddy <anil@docker.com>
2017-03-28 14:32:06 +01:00
Justin Cormack
05339fe60c Architecture overview
- also some tweaks in README.

fix #1394

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-03-28 15:29:34 +02:00
Rolf Neugebauer
a0a1710233 Merge pull request #1401 from rneugeba/kern-up
kernel: Update to 4.9.18/4.10.6/4.4.57
2017-03-28 14:28:27 +01:00
Justin Cormack
4a86053e3a Merge pull request #1395 from samoht/mirage
More progress on the Mirage SDK
2017-03-28 15:04:17 +02:00
Rolf Neugebauer
94613a3cd6 kernel: Update to 4.9.18/4.10.6/4.4.57
For 4.9.18 and 4.10.6 cherry-picked the VMBus leak fix
from Linus' tree instead of char-misc.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-28 13:43:21 +01:00
Thomas Gazagnaire
4e04b01928 miragesdk: re-org source code
Split the bits which can be re-used in other services (e.g. init dance
and the server-side of the control path). `main.ml` now only contains what
is specific to the DHCP logic (+ the /caf directory).

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-28 14:42:02 +02:00
Rolf Neugebauer
273ff3a5b5 Merge pull request #1399 from samoht/typo
Fix typo in `moby run`
2017-03-28 12:01:47 +02:00
Rolf Neugebauer
7c254e1805 init: update yaml files with new init image
Also add tty0 as a console to default moby image

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-28 10:53:44 +01:00
Rolf Neugebauer
f854ed0fad init: Enable tty? as console
Enable tty0 and friends as console and start getty on them.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-28 10:46:58 +01:00
Thomas Gazagnaire
2ed0f4438b miragesdk: update TODO list
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-28 11:11:17 +02:00
Thomas Gazagnaire
b5daec4831 miragesdk: use a custom BPF filter to allow the calf to get a DHCP lease
Plus a few more minor improvements:

- compile with jbuilder.
- start working on the control path.

Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-28 11:09:55 +02:00
Thomas Gazagnaire
549fdeb743 miragesdk: add strace in the init image
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-28 11:09:50 +02:00
Thomas Gazagnaire
844ec5a578 miragesdk: remove dhccpd in the init container
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-28 11:09:50 +02:00
Thomas Gazagnaire
c67e74c35a miragesdk: fork pkg/init to experiment with removal of dhcpcd
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-28 11:09:50 +02:00
Thomas Gazagnaire
a02544ceef Fix typo in moby run
Signed-off-by: Thomas Gazagnaire <thomas@gazagnaire.org>
2017-03-28 11:08:28 +02:00
Justin Cormack
33aec98f0e Merge pull request #1396 from yomimono/why-dhcp
more documentation on why & what we're doing with dhcp
2017-03-27 19:00:12 +01:00
Justin Cormack
0425c0b562 Merge pull request #1392 from justincormack/kernel-nosyslinux
Remove syslinux from kernel build deps
2017-03-27 18:57:57 +01:00
Mindy Preston
ec87a338db more documentation on why & what we're doing with dhcp
Signed-off-by: Mindy Preston <mindy.preston@docker.com>
2017-03-27 11:55:51 -05:00
Justin Cormack
8847edb288 Remove syslinux from kernel build deps
Unused. This should not affect anything, and I didnt actually bump
the kernel version; am working on te build in CI for this...

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-03-27 12:17:09 +01:00
Justin Cormack
32ed7edf4a Merge pull request #1391 from justincormack/readme-go
Fix go install path
2017-03-27 10:53:05 +01:00
Justin Cormack
5a75d9ae01 Fix go install path
Fix #1388

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-03-27 10:41:10 +01:00
Rolf Neugebauer
1c2725d518 Merge pull request #1389 from rneugeba/yaml
Rename .yaml to .yml
2017-03-27 11:06:04 +02:00
Rolf Neugebauer
30914750df Rename .yaml to .yml
docker-compose and other utilities use the .yml extension.
For consistency rename all .yaml to .yml

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-27 09:53:26 +02:00
Justin Cormack
6b05a6e85b Merge pull request #1387 from justincormack/report-26mar
Weekly report 26 March
2017-03-26 14:23:29 +01:00
Justin Cormack
eb15a4428c Weekly report for March 26 2017
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-03-26 12:42:41 +01:00
Justin Cormack
db32baf8ba Add link to reports from main README
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-03-26 12:42:14 +01:00
Justin Cormack
5efef767b6 Merge pull request #1386 from justincormack/containerdup
Update containerd to current master
2017-03-25 20:07:15 +00:00
Justin Cormack
d2caae4c1a Update containerd to current master
- now supports image pull and run end to end
- update runc to last version before spec update fix #1302
- remove ext2 utils from init

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-03-25 18:15:52 +00:00
Justin Cormack
c28e9c57f3 Merge pull request #1385 from rneugeba/infra
infrakit: Move the hyperkit instance plugin into the source directory
2017-03-25 13:28:35 +00:00
Rolf Neugebauer
48845bcfd9 infrakit: Move the hyperkit instance plugin into the source directory
- The tools directory ideally should not contain source code
- Removes double vendoring of packagages
- Makes it easer to hook the build into the top-level Makefile

Eventually, the plugin should be moved to the infrakit repo.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-03-25 13:02:45 +01:00