Commit Graph

197 Commits

Author SHA1 Message Date
Justin Cormack
86c1d9fb46 Add moby tool version with runtime support
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-18 15:51:57 +01:00
Justin Cormack
b0324808ae Update moby commit
fix #2401

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-14 20:44:36 +01:00
Justin Cormack
d64db8d2a7 Update Moby tool to use this image for unpacked EFI ISO
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-07 17:46:12 +01:00
Rolf Neugebauer
ad09ebd493 build: Use master of manifest-tool
The PR to enable notary signing has been merged. Also update
documentation as `got get` should now also work.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-04 18:34:56 +01:00
Rolf Neugebauer
b0df2c94ae build: Use multi-arch go-compile to compile tools
This now completes the steps to bootstrap the other
packages with multi-arch as we now have the tools both
on arm64 and amd64.

Also update vendoring doc with new hash

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-03 17:36:22 +01:00
Justin Cormack
570d706486 Merge pull request #2339 from justincormack/iso-files
Unpack filesystem for BIOS ISO
2017-08-02 15:47:59 +01:00
Justin Cormack
b47e0226ed Update Moby to use new ISO unpacking
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-08-02 14:47:41 +01:00
Rolf Neugebauer
3e201cb862 Add manifest-tool to the top-level Makefile
The manifest-tool will be used to build multi-arch hub
images and currently needs a patched version to print
out the size/length of the manifest pushed to hub to
enable signing with notary.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-08-01 15:25:30 +01:00
Justin Cormack
eacce1d52e Use overlay for writeable containers
Previously we would sneakily remount as `rw` but of course you can't
really do that on a truly immutable filesystem.

See https://github.com/moby/tool/pull/129 for the `moby` side.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 13:48:23 +01:00
Justin Cormack
978910e48d Update moby hash
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 15:44:06 +01:00
Justin Cormack
cfbdb93919 Allow overriding moby repo for testing
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-25 15:30:24 +01:00
Ian Campbell
19207bb81b Update yml and moby version
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-20 14:13:20 +01:00
Ian Campbell
a24819f2e5 Update to latest alpine base for go-compile
I noticed that running the runes in docs/vendoring.md made a bunch of files
which are omitted by modern vndr come back, presumably due to the old version
of vndr referenced there. So update the go-compile package to the current
version everywhere.

Also correct the use of `make` variable syntax (`$(PWD)`) where shell syntax
command substitution for `pwd` was desired.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-19 14:40:24 +01:00
Justin Cormack
2f0933ba43 Merge pull request #2238 from justincormack/shutdown
Add onshutdown support
2017-07-18 15:23:27 +01:00
Justin Cormack
96e71324c6 Update moby tool for onshutdown support
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-18 14:20:59 +01:00
Dave Tucker
8a07c75e34 Makefile: Update rtf version
This update brings in linuxkit/rtf#24 that fixes panics in cases where
there are concurrent reads/writes of the logging backends.

Signed-off-by: Dave Tucker <dt@docker.com>
2017-07-18 13:48:54 +01:00
Justin Cormack
7886e61e3d Update moby to support metadata
Add the yaml config to the default `linuxkit.yml`. You can check
this with `cat /proc/1/root/etc/linuxkit-config`.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-17 15:58:11 +01:00
Rolf Neugebauer
b79f677418 build: Upda moby tool to the latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-14 15:02:42 +01:00
Ian Campbell
f67050b5ed Bump moby tool to 4db06aa173
$ git log --oneline 51b4e201544f..4db06aa1732b
4db06aa Merge pull request #111 from ijc/master
f20828b Update LinuxKit components used for build
75cc04a Merge pull request #109 from justincormack/contributing
b4804b6 Add Contributing doc

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-07-13 14:49:43 +01:00
Ian Campbell
a82ec03120 Update to moby tool 51b4e20154
$ git log --no-merges --oneline d8cc1b3f08df..51b4e201544f
6c6499b Update docker/docker vendor to 6978a6e25a2e6063f280ec842bd0f3eae99426e1
3ee4fdc Error if there are duplicate service names
3c5fad4 Remove dependency on docker/docker/cli
5e75f8c Only run `go test` and `go vet` if not cross building (i.e. ${GOOS} unset)
48f1dd0 Build for Darwin and Windows in CI
c3edfec revendor runc + runtime-spec to match containerd 8e1a04ff9ee3
a73c3d3 Add partial user namespace support
0acaaa7 Assign each container a uid and gid it can use
c5070df Add docs for ambient capabilities
66b4aed Add support for ambient capabilities
c2e460f check that caps are valid
b605e61 Adding dynamic-vhd Output Format
e7ebabd Split out into a small stub command line and a library
4401e7d Rename the docker run function
c5cccad Return errors from build internal function
618dc42 Allow creation of empty files
ad3de8f Add support for rlimits
13da5e0 Use hyperkit to make raw disks

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2017-07-13 10:37:24 +01:00
Justin Cormack
107c014a9d Re-run vendoring
Latest `vndr` has changed its algorithm a bit. It also pointed out that we were missing
some things.

Move the `vendor` directory up to the `linuxkit` command, else it gets confused by packages
that have Go code in.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-11 13:12:00 +01:00
Justin Cormack
775f43daf0 Add raw files to make clean
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-09 17:31:44 +01:00
Kunal Kushwaha
d9b5c5a116 docker run works behind proxy too.
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2017-07-04 09:25:14 +09:00
Rolf Neugebauer
b062a57e6c build: Update go-compile image to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-07-01 18:11:45 +01:00
Dave Tucker
ffe6113416 Makefile: bump rtf version
This version includes better sorting of mixed tests/subgroups

Signed-off-by: Dave Tucker <dt@docker.com>
2017-06-28 11:49:01 +01:00
Justin Cormack
3f5c236de7 Add a target for the cross build tests and make parallel
Trying to speed up build a bit.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-26 13:39:47 +01:00
Justin Cormack
50c3c38a18 Clean up Makefile
- clean up incorrect lines such as `tar xf tmp_linuxkit_bin.tar > $@`
- split out targets to make tarballs and to untar

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-26 13:29:37 +01:00
Dave Tucker
367ec52855 Update RTF version
This brings updated help text and fixes handling of labels as reported
in https://github.com/linuxkit/rtf/issues/16

Signed-off-by: Dave Tucker <dt@docker.com>
2017-06-20 09:29:52 +01:00
Justin Cormack
c2f2141473 Use the user's ssh key automatically in ssh examples
This requires moby tool update to support `~` in paths, but
makes everything much nicer.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-15 11:28:25 -07:00
Justin Cormack
ac90b50437 Add a "local" make target that does not use Docker
This assumes you are in the right directory, have Go set up etc.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-09 15:24:21 +01:00
Rolf Neugebauer
3e5797a911 build: Make sure the tools compile on Linux/macOS/Windows
This patch adds cross compilation steps for Linux, macOS and,
Windows to the CI targets to ensure that the all commands cross
compile nicely.

Although the CI runs on Linux we still explicitly compile for
Linux in case developers use the CI targets locally on a
non-Linux host.

While at it, also fix the GOARCH override to enable cross compilation
of ARM64 on Linux. The build support seems to work, but the
compilation fails (hence it is not added to the test).

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-08 13:57:42 +01:00
Justin Cormack
9b82914f7d Run make tag on pkg directory to check packages build
This at least checks for buildability of packages, even if we
are not yet pushing them.

See https://github.com/linuxkit/linuxkit/issues/1991 for what it mitigates.
Will not pass until this is fixed.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-07 16:37:36 -06:00
Justin Cormack
fc52966150 Merge pull request #1983 from justincormack/mobyup
Update Moby tool
2017-06-07 20:56:26 +01:00
Justin Cormack
c8a3fd0e7a Update Moby tool
- rename img→raw and gcp-img→gcp
- support creating `docker` outputs, see https://github.com/moby/tool/tree/master/examples
- less memory usage via streaming outputs
- allow specification of multiple yaml files in a single command line, improves modularity
- notary fixes and local cache, so does not pull as much
- you now have to specify the full filename of the yaml file, you cannot omit the suffix

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-07 20:11:37 +01:00
Rolf Neugebauer
20d6fcf7eb build: Make GOOS and GOARCH over-writeable
The GOOS and GOARCH are currently set based on the host 'make'
is executed on. On macOS this sets up cross compilation with
a Linux container.

Making them over-writeable allows users to test different
cross compilations, e.g., trying to build Linux binaries on macOS.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-06-07 18:13:57 +01:00
Justin Cormack
e782a469d5 Update moby tool and qemu fixes
- no longer uses several of the `mkimage-*` tools in favour of dogfooding
with `linuxkit` and using the `mkimage` package.
- fix the qemu docker container fallbacks to work better when multiple
paths are used for disks and the image.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-05 16:34:26 +01:00
Justin Cormack
6238f41592 Update Moby tool
- various bug fixes and improvements

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-06-02 10:30:49 +01:00
Rolf Neugebauer
677edf8e15 Update uses of go-compile to latest
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-30 17:15:13 +01:00
Justin Cormack
d614ea37d1 Update Moby
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-30 15:41:30 +01:00
Riyaz Faizullabhoy
5fd53a697e Bump moby tool to include tempdir tuf dir and tag fixes
Signed-off-by: Riyaz Faizullabhoy <riyaz.faizullabhoy@docker.com>
2017-05-27 10:52:31 -07:00
Tycho Andersen
332d3ef71b rebuild bin/{moby,rtf} as necessary
Closes #1880

Signed-off-by: Tycho Andersen <tycho@docker.com>
2017-05-26 09:57:27 -06:00
Justin Cormack
00737bd859 Remove outputs from the yaml files
The latest version of the `moby` tool now requires that the output formats
be specified in the CLI not in the yaml file.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-26 13:55:06 +01:00
Justin Cormack
f5cd9a41ed Update moby tool
This now supports setting `source:` in the `files` section to read the contents of
a file rather than specifying it inline.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-22 11:31:05 +01:00
Justin Cormack
fc69bcf288 Partially fix Windows build with go-compile
Fix go-compile to not use buildmode pie for Windows.

See #1863

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-20 10:57:48 +01:00
Justin Cormack
07a8ceb9c9 Update moby tool to support config in labels
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-19 22:05:15 +01:00
Rolf Neugebauer
5231e06dec cmd: Add a -state option to hyperkit runner (and enable vsock)
The state directory is used to store:
- the disk image, if not specified via '-disk'
- the ISO for metadata, if '-data' is used
- the Unix domain socket for virtio sockets
- the PID of the hyperkit process
- a JSON file with the hyperkit configuration

This patch also enables the virtio socket device for the VM.

While at it, also fix .gitignore to ignore kernel images again.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-05-15 12:09:48 +01:00
Dave Tucker
ce2bdea399 Add a test suite
This adds a test suite to be executed using `linuxkit/rtf`.
This is installed in the top-level Makefile

The tests are written in shell script and cover the following cases:

- Kernel Config is OK!
- Kernel Modules can be built and loaded
- QEMU can build and run kernel+initrd, iso-bios and iso-uefi
- That we can build for all other supported output formats
- That all of the examples in `./examples` can be built
- The LTP tests can be run (if `-l slow` is provided)

The virtsock and docker-bench tests were migrated but no test has been
written as yet as AFAICT they are still a WIP

Signed-off-by: Dave Tucker <dt@docker.com>
2017-05-12 20:12:59 +01:00
Justin Cormack
fe4b6aaf5d Add image builder for compressed disk image
This is a fairly generic bootable disk with syslinux. Should
work if you `dd` it onto a USB stick, and should also work for AWS.

You need to uncompress it of course! Default size is 1G.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-12 14:43:55 +01:00
Justin Cormack
4746e67b9e Update Moby tool
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-12 13:08:59 +01:00
Justin Cormack
6dced3a196 Update moby tool to fix symlinks handling
Symlinks were being handled incorrectly in initrd output.

Fix #1792

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-05-09 13:54:38 +01:00