Commit Graph

136 Commits

Author SHA1 Message Date
Justin Cormack
69346b6cf4 Explicitly build the containers we want in alpine/ directory
This will be kept for editions until the new fully containerised
version can replace it.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-04 14:47:00 +01:00
Justin Cormack
3f81edee37 Move kernel directory to top level
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-04 09:17:16 +01:00
Riyaz Faizullabhoy
a29b6c1391 Revert to non-development containerd and runc until nats port is sorted out
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-02-02 11:57:28 -08:00
David Gageot
b4e2bfbab6 Fix the bucket used to upload gce images
Signed-off-by: David Gageot <david@gageot.net>
2017-02-02 11:55:34 +01:00
Justin Cormack
7b7e672270 Move test directory to top level
This is temporary, it should be under `containers/` just as soon
as we have a manifest setup.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-01 23:34:21 +00:00
Justin Cormack
d61ae694d0 Merge pull request #1131 from justincormack/mv-containers
Move containers directory to top level
2017-02-01 23:08:47 +00:00
Justin Cormack
2db23f8d18 Move containers directory to top level
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-01 22:56:55 +00:00
Justin Cormack
9fe9e95349 Replace mkinitrd.sh with a tool to convert base image to initrd
Better split between content and tools.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-01 22:32:34 +00:00
Justin Cormack
1dfa213db0 Move ebpf to top level
Do not build by default, as we are not using yet.

Clean up the gitignores at the same time as they were affected.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-02-01 10:58:52 +00:00
Riyaz Faizullabhoy
56899b318d reformat tags before digests
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-01-31 09:33:06 -08:00
Justin Cormack
699560aaad Clean up GCE image build
In line with the others, support any file names on input.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-30 22:04:34 +00:00
Justin Cormack
0fca0245c4 Cleanup BIOS ISO builds
- do not require specific filenames for input
- change EFI build to use `docker run`

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-30 15:18:06 +00:00
Justin Cormack
dfa8321eba Split kernel files into their own image
This means the base system build and kernel build can be split
without dependencies, and just assembled later.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-29 21:07:20 +00:00
Justin Cormack
7d14547e87 Rework container creation
- simplify the process by having the riddler container build the rootfs and config
- output tarred up rootfs and config.json as otherwise file ownership not preserved
- allow easy build of a collection of container tarballs with another conversion script

This makes it easy to choose which container images you want and just convert any
set to a initrd image
```
tar cf - container1.tar container2.tar | docker run -i tartar2initrd > initrd.img
```

Next stage will use a manifest to select the ones to add for each edition.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-25 22:53:28 +00:00
Justin Cormack
53c146d804 Clean up gce image
Was missing in `make clean` and not noticed as we do not build by default.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-25 00:22:08 +00:00
Justin Cormack
f27c3ff5ed Move ebpf to its own directory
Unlike the other images in `base` this needs parts from the
Moby build so move it for now.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-24 18:50:38 +00:00
Justin Cormack
b53e83d695 Merge pull request #1086 from justincormack/new-containerd
Shift to development track containerd
2017-01-24 17:50:45 +00:00
Justin Cormack
89e98eefa0 Shift to development track containerd
Move to the development track of `containerd` not the legacy 0.2
branch. The commands have changed a bit.

This does increase the image size as we are bundling the Docker
copy and our copy, and the new one is larger as it is growing features.
Hopefully Docker will shrink eventually. Also we may replace `ctr`
with a library.

Fix #1029

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-24 15:39:44 +00:00
Justin Cormack
321c180c60 Split config database setup by platform
Add basic database setup for AWS, GCP although these are not yet used
by the setup code but will be useful later.

Currently each is gated by `mobyplatform` but this can be removed once we
construct Moby per platform, and once these are containerised so they
are not run from `openrc`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-23 18:08:26 +00:00
Riyaz Faizullabhoy
6b6eb0af8d Merge pull request #1058 from justincormack/windowsnet
Split out windowsnet into its own package directory
2017-01-19 15:18:10 +00:00
Justin Cormack
a0318c7f4c Split out windowsnet into its own package directory
This makes it easier to containerise and split per editions configs

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 15:02:26 +00:00
Justin Cormack
4638df2a9a Remove annoying output of dd
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-19 14:28:48 +00:00
Justin Cormack
0f73fd6e68 Remove some pushes to :latest
Missed these before, noticed while making a new one.

Also a copy paste error left one shasum incorrect.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-10 17:34:24 +00:00
Justin Cormack
5b838d53a6 Merge pull request #945 from justincormack/ebpf-container
Add a development eBPF container build
2017-01-05 15:07:14 +00:00
Justin Cormack
f6c2143197 Add a development eBPF container build
See `docs/ebpf.md` for how to use. This is built by CI or you can build
manually if you customise the kernel.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-01-05 11:59:28 +00:00
David Gageot
84a7672bd5 Complete target to upload to GCE
+ Use `make gce-upload` to auth and upload
 + Use `FORCE_GSUTIL_AUTH=0 make gce-upload` to
reuse previous auth information

Signed-off-by: David Gageot <david@gageot.net>
2017-01-04 17:16:20 +01:00
David Gageot
8640c4e4be Change the path of GCE image
Signed-off-by: David Gageot <david@gageot.net>
2016-12-30 16:03:54 +01:00
Justin Cormack
4ac42402e5 Update base images to Alpine 3.5
excludes
- Go base images as not yet available
- perf which does not build with latest image

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-28 18:09:08 +00:00
David Gageot
a54f2ae179 Specific init.d script for GCP
Signed-off-by: David Gageot <david@gageot.net>
2016-12-23 12:03:20 +01:00
David Gageot
86c29efe87 Change the bucket where Moby is pushed for GCE
And make the image public

Signed-off-by: David Gageot <david@gageot.net>
2016-12-22 19:03:55 +01:00
David Gageot
054b49ccca Update mobylinux/mkimage-gce image
Signed-off-by: David Gageot <david@gageot.net>
2016-12-22 18:44:33 +01:00
Justin Cormack
ade4d6cc4b Run cpio in a container
This way it runs as root so files always owned by root.

Fix #887

This is the simplest fix for 1.13, we can also use this for
creating the main system initrd, but that needs more changes
so leaving for 1.14.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-14 17:56:57 -08:00
French Ben
d01892df11 Added simple upload of the image to bucket
Signed-off-by: French Ben <frenchben@docker.com>
2016-12-14 10:18:54 -08:00
Justin Cormack
9245dd656f Build a GCE image
- this is a raw 1GB filesystem image with syslinux for booting
- built with libguestfs so does not need any privileges
- need not be built on GCE
- there is a target that runs the image in qemu for local tests

Does not yet have a script to upload the image to cloud storage or create image from it.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 19:17:24 -08:00
Justin Cormack
8ab9746203 Rename the bios build image to mkimage-iso-bios
About to add more images so use a consistent naming scheme.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 15:53:44 -08:00
Justin Cormack
7195763e66 Use an image to pad initrd files to 4 bytes
This saves a lot of duplicated nasty Makefile code, means and generally
cleans things up.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-12 14:12:13 -08:00
Justin Cormack
a7f57526a5 Containerize test suite
- run test suite under containerd
- in future this should be converted to Go not shell see #860
- test suite is now in its own initrd, can be run on any platform not just qemu

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-09 17:13:16 -08:00
Justin Cormack
f190512e2e Add some missing --rm in docker run
Some of these were missing, leaving strays around.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-09 09:08:22 -08:00
Justin Cormack
ba50adfc36 Push a copy of the Moby base image to mobylinux/mobylinux
This will be used for ongoing security scanning.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-07 12:10:39 -08:00
Justin Cormack
960f52d18c Split the initrd into base and containers
In future this will allow easier customisation of the containers
for each edition.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-02 18:13:45 +00:00
Justin Cormack
72d4d5aefc Align compressed initrd to 4 bytes
Allows appending another initrd.

Also build initrd on tmpfs as should be a bit faster now we have to do
another copy.

Fix #618

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-02 16:05:49 +00:00
Justin Cormack
933372e45a Run rngd inside a system container
- this needs an init as it does not respond to stop signals, so include tini
- needs CAP_SYS_ADMIN to write to kernel entropy estimate
- set kernel.random.write_wakeup_threshold so that rngd does not need sysctl write access
- build patches from Alpine, but statically linked
- remove rngd from base image, means we no longer need community repository

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-12-02 14:00:12 +00:00
Riyaz Faizullabhoy
4011d4842a Use digests instead of tags where possible
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2016-12-01 09:39:02 -08:00
Justin Cormack
8d3691fabb Containerize binfmt_misc
- statically make containerd symlinks so rootfs can be read only
- run binfmt_misc in a containerd container
- ship arm, aarch64, ppc64le qemu static versions that always "just work" as this is supported in Linux 4.8

fix #53

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-30 12:49:37 +00:00
Justin Cormack
99a8a959b7 Add Moby git commit to image
Fix #345

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-11-24 13:09:58 +00:00
Nathan LeClaire
b737435985 Add support for building smaller Azure VHD for development
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-11-04 17:14:33 -07:00
Justin Cormack
cfbdc7d067 do not remove build containers
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-11 16:12:40 +01:00
Justin Cormack
0ac6beff82 Do not create latest tags for base images
As we never use these, do not create them.

Also update images where applicable.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-10-10 14:55:48 +01:00
Justin Cormack
fa19d3259b Use build container id rather than tagging builds
This means that multiple builds will not conflict, so we can
remove the lock from the CI. Also quieter when no errors.

Some still left to do, only done the ones used in build and CI
initially. Some of the others will be cleaned up anyway later.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2016-09-29 20:21:17 +01:00
Nathan LeClaire
201e806d53 Propagate AZURE_STG_ACCOUNT_NAME in build container
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2016-09-27 13:38:26 -07:00