Commit Graph

199 Commits

Author SHA1 Message Date
Justin Cormack
bafeac62ec Merge pull request #2301 from rn/base-ovmf
Various OVMF related fixes
2017-07-27 10:25:24 +01:00
Rolf Neugebauer
bf5a461ce5 tools/alpine: Add OVMF to the mirror and not the image
We add the 'ovmf' to the mirror instead of installing
it in the rootfs. This way we record the version we are
using.

We already pull a few images (go, tini) from community
so may as well pull ovmf directly via 'packages.x86_64'.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-26 18:14:28 +01:00
Ian Campbell
5217b9973b alpine: Reminder to bump the containerd test when bumping containerd
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-26 17:27:11 +01:00
Rolf Neugebauer
4de8abb997 tools/alpine: Updated and sign new alpine base image for arm64
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 15:49:58 +00:00
Rolf Neugebauer
fe9e8be2c6 tools/alpine: Make sure we use content trust for linuxkit/alpine
We should always pull and push linuxkit/alpine with content trust
irrespective of architecture, unless explicitly disabled.

Currently, we have to dance around various other issues on arm64,
which are now documented in the Makefile.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 16:37:46 +01:00
Rolf Neugebauer
840686052a tools/alpine: Resync alpine base image
Somewhere between the various updates yesterday the hash in
'versions.x86_64' went wrong and there is no image with hash
available on hub.

This commit updates the alpine base to the latest version and
thus rectifies the issue

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-25 11:46:07 +01:00
Rolf Neugebauer
f16018ea87 Merge pull request #2282 from rn/arm-base
tools/alpine: Update arm64 base image
2017-07-24 16:55:56 +01:00
Rolf Neugebauer
1405019a54 tools/alpine: Update arm64 base image
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-24 14:57:58 +00:00
Ian Campbell
4cb43060e4 alpine: Drop trailing whitespace in Dockerfile.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-24 12:14:21 +01:00
Ian Campbell
e015aff65a alpine: Use docker build --iidfile
This was added in 17.06 and allows us to avoid using `$(BASE):build` which is
not safe against parallel builds etc.

Having done this restructure the build to not always delete the built container
and to separate out the `hash` and `version` file rules so that they can be
included in both the `tag` and `push` targets.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-24 12:13:58 +01:00
Dennis Chen
cc14a74276 tools/alpine: multi-arch support for the base alpine image
Alpine is the base docker image for the LinuxKit, but currently
it only supports amd64 architecture. This patch is try to unify
the alpine tool docker image build process order to suport other
architectures, such as AArch64, by using '--build-arg' to override
the alpine base image specified by 'FROM' in the Dockerfile.

Also this patch splits the standalone packages into 2 parts:
one is common for all archs, another is arch-specific.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
2017-07-24 10:09:23 +00:00
Avi Deitcher
74f5af924c Add development tools to linuxkit/alpine mirror
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-07-24 11:00:57 +03:00
Riyaz Faizullabhoy
ddad2443d0 Merge pull request #2268 from riyazdf/update-alpine-base-versions
tools/alpine: update version
2017-07-20 17:08:53 -07:00
Riyaz Faizullabhoy
e2289984ac tools/alpine: update version
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-07-20 14:39:23 -07:00
Jason A. Donenfeld
a837a6fc65 wireguard: add tools to alpine as package not into filesystem
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-07-20 22:01:05 +02:00
Jason A. Donenfeld
a09a2a4b22 wireguard: integrate tools into alpine
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-07-20 16:51:53 +02:00
Ian Campbell
b3db1a887c Update to containerd v1.0.0-alpha1
This is actually containerd#1141 rebased onto v1.0.0-alpha1.

The `dist` command has been integreated into `ctr` and so is removed, including
from the getty and sshd bind mounts and the test which uses it is updated..

There is no change to the version of runc vendored by containerd, so this is
unchanged.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-20 14:10:51 +01:00
Ian Campbell
ddb9efbffb alpine: Include xfsprogs-extra
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-20 14:10:51 +01:00
Ian Campbell
28905c57cc alpine: Record image has in versions file
Otherwise the only record is if the pusher happens to remember to put it in the
commit message (tollerable) or the github PR (not great).

Also add the same show-tag target as `pkg/package.mk` supports, although with a
very different implementation.

The actual hash is unchanged from the previous commit.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-14 12:41:11 +01:00
Ian Campbell
00a2f2ac8c alpine: stash the original /etc/apk/repositories for downstream use
If a user of linuxkit/alpine wants to produce an image with apk in it then it
is useful for them to have the original upstream repository list.

The new hash is linuxkit/alpine:3744607156e6b67e3e7d083b15be9e7722215e73

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-14 12:37:38 +01:00
Ian Campbell
902e6182b0 Temporarily use https://github.com/containerd/containerd/pull/1141
We expect this (or something very similar) to be merged soon, it fixes #2131 so
moving ahead now.

The new alpine mirror is linuxkit/alpine:6832775a7e861ee2d7842e157688ece52d007142

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-13 10:42:55 +01:00
Ian Campbell
c5634c4650 Define CONTAINERD_REPO alongside CONTAINERD_COMMIT in tools/alpine
This will make it simpler to temporarily in PRs which are not yet merged (but
are expected to be soon).

Tools alpine is not rebuilt here since we are going to do just that in the next
commit.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-13 10:38:27 +01:00
Ian Campbell
aa3db640af Update alpine base to containerd v1.0.0-alpha0
New hash is linuxkit/alpine:8bb8664eec04e02a8a131c53aa7d5d94119270ef

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-13 10:32:00 +01:00
Justin Cormack
30128d894e Remove shellcheck from base
We should use this from a container at top level instead; it makes it
much harder to port to other architectures if we have to have this as
it is written in Haskell making a multi arch build much harder.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-11 22:15:27 +01:00
Rolf Neugebauer
03b78d5153 tools: Add a few more packages to the Alpine base image
- iproute2 provides a more complete suite of 'ip' utilities than
  the busybox implementation. Useful, for debugging.
- iperf3 for network testing
- tcpdump for network debugging
- expect is used in some tests. Adding it to the base image should
  make it easier to create a LinuxKit image to self-host CI.

The new version of the base package is:
linuxkit/alpine:3d57ded3edd54e616210cf0c17e3bc15eed9d03a

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-08 13:48:30 +01:00
Magnus Skjegstad
1e3c430a33 alpine: update versions
Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-07-05 22:38:24 +02:00
Magnus Skjegstad
7c063429f1 alpine: add busybox-initscripts
Add busybox-initscripts as it contains /etc/acpi needed to run
/sbin/acpid.

Signed-off-by: Magnus Skjegstad <magnus@skjegstad.com>
2017-07-05 20:48:41 +02:00
Rolf Neugebauer
3019a222e8 tools: Update alpine base package
Since we have to push all new packages due to 5a225b9d
("Makefile: Fix bug where network was not disabled") we
may as well update the Alpine base to the latest.

The new tag is: 9bcf61f605ef0ce36cc94d59b8eac307862de6e1

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-01 18:11:45 +01:00
Rolf Neugebauer
0b3954257f tools: Fix containerd commit environment
Commit 4699f80e ("test: add test-containerd") added
the containerd commit hash to the alpine base image.
Unfortunately, setting it as ARG does not work and it
needs to be set with ENV for other builds to pick it up.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-01 18:11:45 +01:00
Tycho Andersen
31f356fe0e tools/alpine: add abuild and some audit deps
We'll use abuild in the next commit for building auditd from source.

Also add these audit deps:

* swig
* python3
* libcap-ng-dev

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-06-28 09:10:00 -06:00
Rolf Neugebauer
73e5ea8f01 tools: Update the Alpine base image to the latest versions
A subsequent commit will update all packages, so we might as well
update all packages to the latest base.

The new hash is: linuxkit/alpine:c608d404c1cb36cce0c7d9303e30b52c9d81ccf0

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-27 17:43:57 +01:00
Ian Campbell
e880052d35 alpine: Add tzdata to mirror.
Moved qemu-img to keep list fully alphabetical.

Rebuild pushed as linuxkit/alpine:c96f56ef989ccb31fd115d25c1b90f05b992271d

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-06-26 11:51:27 +01:00
Riyaz Faizullabhoy
130800446a alpine: add zfs package
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-06-21 17:54:45 -07:00
Riyaz Faizullabhoy
6b5ef8c70e alpine: include gnupg package
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-06-21 17:49:51 -07:00
Akihiro Suda
4699f80ef7 test: add test-containerd
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-19 11:04:58 -07:00
Rolf Neugebauer
3fbc39996a tools: Update alpine base and add a few more packages
iAdd a bunch of packages which are useful for compiling
some of the tools shipped with the Linux kernel source code.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-15 10:39:32 -07:00
Rolf Neugebauer
63d5031035 tools: Add OVMF BIOS firmware to the Alpine base
This ovmf package is part of the community repository. We don't
want to "pollute" the Alpine base with it. Luckily it's juts a single
file which we can install and then copy to the base image.

The package is needed for qemu EFI boot.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Rolf Neugebauer
9e39f07dc7 tools: Add strace to the Alpine base
While not used anywhere, adding it to the based makes it easy
to add temporarily add it to init (or elsewhere) for debugging.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-27 11:47:37 +01:00
Rolf Neugebauer
ac5122ced7 tools: Add Dockerfile to the Alpine base image to calculate the hash
The Dockerfile is now an input to the contents of the base image and
needs to be included in the hash calculation.

Also, make the Makefile, Dockerfile and pacakges file a dependency.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-26 15:50:54 +01:00
Rolf Neugebauer
aecad407c5 tools: Add shellcheck to the Alpine base
We use the "official" Alpine based Docker image and extract
the binary and libraries from it and add to the base. Compiling
it from source would require a Haskell setup...

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-26 15:50:54 +01:00
Rolf Neugebauer
977a2eb0ff tools: Switch the Alpine base image to Alpine 3.6
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-26 15:50:54 +01:00
Riyaz Faizullabhoy
05f1c282d5 Update images that have been newly setup for signing to use content trust on push
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-05-25 11:06:08 -07:00
Rolf Neugebauer
a73be1d7ef tools: Add VM integration agents to the Alpine base
Add the Qemu, Hyper-V and VMware VM tools to the base

Also update the versions file.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-24 09:35:37 +01:00
Justin Cormack
e3a4a88e73 Update alpine package
- minor cleanup
- remove cross compile support from go-compile script as not needed

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-20 10:59:31 +01:00
Justin Cormack
78728c281d Add go-compile script to linuxkit/alpine
This means Go code can use the same base image, which now includes Go tooling.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-19 14:22:12 +01:00
Rolf Neugebauer
98a99c6482 tools: Add packages to alpine base to create a base system
The added packages are necessary to create a base Alpine
container image and for converting more packages.

Update the versions file to the latest versions

Also make the HUB org/registry build time configurable.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-18 18:55:22 +01:00
Justin Cormack
f2fc503bb0 Add Go to linuxkit/alpine
Note this is currently Go 1.7.4 but should be updated soon to 1.8.1.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 22:03:02 +01:00
Justin Cormack
8914ccc6da Include virtual packages in alpine mirror
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-08 14:20:27 +01:00
Justin Cormack
edfac0e8fb Add a base Alpine package that includes a package mirror
This means that we limit to one place where we use network access
in building, and in future all other package builds can be deterministic.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-03 16:29:53 +01:00