Commit Graph

4978 Commits

Author SHA1 Message Date
Ian Campbell
a87a07c8e9 tools: enable content trust for mkimage-*
A few of these already had content-trust, enable for the remaineder.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:21:17 +01:00
Ian Campbell
d606c88e80 Bump linuxkit/test-ltp hash
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:15:57 +01:00
Ian Campbell
28583eb747 Reenable content-trust for linuxkit/test-ltp
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-13 10:10:34 +01:00
Justin Cormack
d3549b78f5 Merge pull request #2604 from ijc/go1.9
Update to go 1.9
2017-10-12 20:10:01 +01:00
Ian Campbell
5e6a78821b Update yaml and reenable linuxkit.packages.containerd test
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 17:29:19 +01:00
Ian Campbell
9facf7b585 ip: Update to newest alpine.
Rebuild to pickup newer go also picked up newer wireguard-tools,
0.0.20171005-r0 → 0.0.20171011-r0.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:51:37 +01:00
Ian Campbell
29fc12607f Update various other go base pkgs to newer alpine (go1.9)
These are those which set $GOPATH but don't use go-compile.sh.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:50:47 +01:00
Ian Campbell
a9b03c3f95 Update all users of go-compile.sh to new alpine (go1.9)
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:47:35 +01:00
Ian Campbell
aba82533a0 Update go system components to new alpine (go1.9)
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:45:01 +01:00
Ian Campbell
6a51e5f937 Update references to linuxkit/go-compile to latest.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:41:57 +01:00
Justin Cormack
e90337bd44 Merge pull request #2602 from justincormack/wg-kernel
Fix kernel version in Wireguard example
2017-10-12 16:40:16 +01:00
Ian Campbell
02bd90393f go-compile: Bump to new alpine (with go1.9)
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 16:36:18 +01:00
Ian Campbell
6ee21a37c6 alpine: Pull in go (1.9) from Edge
This is a requirement of containerd.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 15:32:15 +00:00
Ian Campbell
1d030172bf Merge pull request #2600 from ijc/containerd-v1.0.0-beta.2
Bump to containerd v1.0.0-beta.2
2017-10-12 16:19:01 +01:00
Ian Campbell
50ebd2709c Merge pull request #2601 from ijc/kubernetes
kubernetes: Mount /etc/os-release into docker cotainer too
2017-10-12 15:47:36 +01:00
Justin Cormack
1c7065bde9 Fix kernel version in Wireguard example
This must have had a merge error. Fixes version mismatch which
stops this working. The test was updated so is fine.

Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-10-12 15:14:50 +01:00
Ian Campbell
5d5f9fde43 tests: skip linuxkit.packages.containerd
Will decide how to deal with this long term depending on the resolution of
https://github.com/containerd/containerd/issues/1632.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 14:59:52 +01:00
Ian Campbell
504b5388bd kubernetes: Mount /etc/os-release into docker cotainer too
This makes `docker info` show the same OS as `kubectl get -o wide nodes`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 14:14:46 +01:00
Ian Campbell
b20422211c Merge pull request #2599 from ijc/kubernetes
kubernetes: populate /etc/os-release so NodeSystemInfo.OSImage != "Unknown"
2017-10-12 13:05:27 +01:00
Ian Campbell
510802a245 Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 13:04:16 +01:00
Ian Campbell
2875ef0e82 runc: Update to version used by containerd v1.0.0-beta.2
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 13:01:06 +01:00
Ian Campbell
aeed5f6b40 init,containerd: bump to new alpine with v1.0.0-beta.2.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 12:57:08 +01:00
Ian Campbell
19a02ef28c alpine: bump to containerd v1.0.0-beta.2
Note that a237b51511 ("Bump alpine base across the board.") inadvertently
corrupted `tools/alpine/versions.aarch64` (by updating it to the amd64 hash),
this commit corrects this as part of the rebuild.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 12:51:20 +01:00
Justin Cormack
7285289c98 Merge pull request #2598 from ijc/linuxkit-pkg-local-vet-test
Add fmt/lint/etc and test to local target
2017-10-12 12:19:57 +01:00
Justin Cormack
098110e3c8 Merge pull request #2597 from ijc/linuxkit-pkg-hash
linuxkit pkg: correct behaviour when user explictly specifies a hash.
2017-10-12 12:19:46 +01:00
Justin Cormack
995bde5a54 Merge pull request #2558 from deitch/raw-bios
Add support to make minimal raw bios images
2017-10-12 11:24:14 +01:00
Justin Cormack
3b07a9e793 Merge pull request #2540 from deitch/raw-efi
Add support to make raw efi images
2017-10-12 11:23:32 +01:00
Ian Campbell
27f8cb7283 Update yml
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 11:16:46 +01:00
Ian Campbell
466e5db203 kubernetes: Add /etc/os-release to host and bind to kubelet image.
Adding a `PRETTY_NAME` to this causes it to appear in the node information:

    $ kubectl --namespace=kube-system get -o wide nodes
    NAME                    STATUS    ROLES     AGE       VERSION   EXTERNAL-IP   OS-IMAGE                      KERNEL-VERSION    CONTAINER-RUNTIME
    linuxkit-b6e09efea36e   Ready     master    29m       v1.8.0    <none>        LinuxKit Kubernetes Project   4.9.53-linuxkit   containerd://1.0.0-beta.1

Previously it would be `Unknown`.

A later yaml passed to `moby build` can override this by simply duplicating
the path.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 11:15:50 +01:00
Ian Campbell
26d93d613c kubernetes: use copy --from=image-ref
I hadn't realised this was possible, it means we don't need the dummy `FROM ...
AS docker`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 11:09:10 +01:00
Ian Campbell
a50bf40e09 Add fmt/lint/etc and test to local target
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 10:47:32 +01:00
Ian Campbell
4304d5f4fd linuxkit pkg: correct behaviour when user explictly specifies a hash.
With the old package.mk arrangements we would only append -dirty and -$arch to
the hash if the user didn't specify a HASH= directly. So the following would
work
    make ORG=ijc HASH=dev tag
and produce an image `ijc/«image»:dev`.

However the new equivalent:
    linuxkit pkg build -org=ijc --hash-=dev
instead produces an image `ijc/«image»:dev-dirty-$arch`. Which is undesirable.

This commit refactors the code in two main ways:

Firstly directly append `-dirty` to the hash as we extract it from git (rather
than on use in the `Tag()` method), and only do this if the user has not
specified an explicit tag. Note that we still track dirtiness in the `Pkg`
object and so will not allow a push (or release) from a dirty tree (the
makefile version would have tried this with unpredictable results), nor will we
apply the `org.opencontainers.image.revision` label to a dirty build.

Secondly if we are not pushing the image+manifest then we retag the -$arch
suffixed image without the the -$arch. This differs from the Makefile version
which would simply have built without the -$arch in the first place, I think
this is an improvement. If we are pushing the manifest-tool remains responsible
for creating the non -$arch image.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-12 10:17:56 +01:00
Rolf Neugebauer
7f8082b253 Merge pull request #2595 from zx2c4/wireguard-bump
wireguard: bump version
2017-10-12 10:17:01 +01:00
Rolf Neugebauer
b408923916 Merge pull request #2591 from dprotaso/master
fix dns not working in the docker blueprint
2017-10-11 16:13:34 +01:00
Jason A. Donenfeld
055db2d542 wireguard: bump version
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2017-10-11 16:41:47 +02:00
Rolf Neugebauer
77200864d0 Merge pull request #2592 from rn/kup
Update kernel to 4.9.54 and 4.4.91 and tweak build/kernel config
2017-10-11 15:00:32 +01:00
Rolf Neugebauer
8173300f76 Update YAML files to new kernels
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Rolf Neugebauer
38c37276a2 kernel: Update to 4.9.54/4.4.91
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Rolf Neugebauer
b294171311 kernel: Add the firmware to the result tarball
'make firmware_install' adds the firmware blobs creating
during the build to '/lib/firmware' in the result tarball.

This should be installed along with the kernel modules.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Rolf Neugebauer
6f81297da6 kernel: Enable RANDOMIZE_BASE on arm64 kernels as well
Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2017-10-11 13:12:49 +01:00
Ian Campbell
2eb5dfffaa Merge pull request #2589 from ijc/linuxkit-pkg-release
linuxkit pkg: Support --release option to pkg push.
2017-10-11 11:10:23 +01:00
dave
aabd10035b fix dns not working in the docker blueprint
Signed-off-by: dave <dprotaso@gmail.com>
2017-10-10 21:47:03 -04:00
Avi Deitcher
8f3e4e419d Add support to make raw efi images; simplify raw bios build
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-10-10 21:00:53 +03:00
Avi Deitcher
fb5383a25e simplify raw bios build
Signed-off-by: Avi Deitcher <avi@deitcher.net>
2017-10-10 20:59:48 +03:00
Ian Campbell
e129b3e37d Merge pull request #2588 from ijc/linuxkit-pkg-logging
linuxkit pkg: Log before building or pushing.
2017-10-10 17:47:44 +01:00
Ian Campbell
861b2cbe80 linuxkit pkg: Support --release option to pkg push.
This overrides the default (which is to look for an exact git tag) and releases
just that.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 16:54:04 +01:00
Ian Campbell
2264bc8021 Correct typo in linuxkit pkg push help.
Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 16:11:48 +01:00
Ian Campbell
8f1d39cea1 Log before building or pushing.
Previously there would be a make "entering directory" hint in the logs, but
with the switch to `linuxkit pkg` that no longer occurs.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 16:05:15 +01:00
Ian Campbell
38e48d3bf4 Merge pull request #2578 from ijc/linuxkit-pkg
Bulk conversion from `pkg/package.mk` to `linuxkit pkg`
2017-10-10 14:38:58 +01:00
Ian Campbell
4df5d394e8 Bump yml
Done as follows:

    find -name build.yml | xargs dirname | while read d ; do
        t=$(linuxkit pkg show-tag $d)
        ./scripts/update-component-sha.sh --image ${t%:*} ${t#*:}
    done
    git commit -s test pkg tools blueprints examples projects/kubernetes projects/swarmd docs linuxkit.yml Makefile src

This explicitly excludes projects/* which I did not know whether to update.

Then:

    git reset --hard
    for i in init runc containerd ca-certificates sysctl dhcpcd getty rngd ; do
        o=$(git grep -h "\(image:\|-\) *linuxkit/$i:[0-9a-f]\{40\}" origin/master:linuxkit.yml | awk '// { print $2 }')
        n=$(linuxkit pkg show-tag pkg/$i)
        ./scripts/update-component-sha.sh "$o" "$n"
    done
    git commit --amend projects

This updates any projects which were using components with the same hash as the
top-level linuxkit.yml.

Signed-off-by: Ian Campbell <ijc@docker.com>
2017-10-10 13:23:45 +01:00