Commit Graph

82 Commits

Author SHA1 Message Date
Tonis Tiigi
aed586f558 travis: include win/darwin binaries in cross
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-30 15:38:06 -08:00
Akihiro Suda
b42582793a bump up runc
Including critical security fix for `runc run --no-pivot` (unlikely to
affect BuildKit): https://github.com/opencontainers/runc/pull/1962

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-01-15 16:23:21 +09:00
Patrick Van Stee
f6c2487225 Isolate generated files for easier copying
Signed-off-by: Patrick Van Stee <patrick@vanstee.me>
2019-01-06 06:49:52 -05:00
Tõnis Tiigi
c471ab81af Merge pull request #761 from AkihiroSuda/containerd-121
update containerd to v1.2.1, runc to v1.0.0-rc6
2018-12-28 14:46:53 +02:00
Akihiro Suda
6ed72d683f update containerd to v1.2.1, runc to v1.0.0-rc6
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-12-26 19:48:01 +09:00
Tonis Tiigi
3926820e3a update dockerfile repo location
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-12-03 11:06:17 +01:00
Akihiro Suda
1803138c38 update shadow to 20181125
shadow-maint/shadow@52c081b (20181028) caused a regression that results in
`newuidmap: open of uid_map failed: Permission denied`.

The regression was fixed in shadow-maint/shadow@59c2dab (20181125).

Note that docker.io/moby/buildkit images are not affected by the
regression, because we forgot to update the rootless-base-external
image when we updated the shadow package before.

Related: genuinetools/img#191 genuinetools/img#196

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-11-30 13:38:34 +09:00
Kunal Kushwaha
373dc26a4f replace git: with https:
git ports are restricted by corporate proxies,
whereas https proto is always allowed

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2018-11-15 11:50:53 +09:00
Alice Frosi
a008ce3ccd Set GOARCH=amd64 for building stage for darwin/windows
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
2018-11-08 12:50:22 +01:00
Akihiro Suda
3a7209cde2 unfork newuidmap/newgidmap
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-29 16:01:04 +09:00
Akihiro Suda
d4a617b695 test.buildkit.Dockerfile: fix rootless-base-external
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-17 01:21:16 +09:00
Akihiro Suda
0d80bd17a3 Merge pull request #687 from tonistiigi/dockerfile-testing
dockerfile: add testing external dockerfile features
2018-10-16 15:58:55 +09:00
Akihiro Suda
ed64652d71 rootless: use Giuseppe's newuidmap/newgidmap
Apply https://github.com/shadow-maint/shadow/pull/132 so that newuidmap/newgidmap
doesn't require CAP_SYS_ADMIN

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-16 15:11:05 +09:00
Tonis Tiigi
2f8f0194c2 hack: remove musl dependency
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-15 22:27:13 -07:00
Tonis Tiigi
706fa2556a dockerfile: add testing external dockerfile features
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-15 22:27:07 -07:00
Akihiro Suda
048130d1d0 simplify rootless
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-16 14:05:58 +09:00
Tonis Tiigi
fb9e2c1030 vendor: update containerd to v1.2.0-rc.1
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-12 15:27:54 -07:00
Tonis Tiigi
fb5324c609 hack: add tarball release
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-11 11:57:27 -07:00
Tonis Tiigi
106834d708 hack: add git to rootless stage
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-11 10:23:15 -07:00
Tonis Tiigi
a74027cb41 hack: add release script
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-11 10:23:15 -07:00
Tonis Tiigi
ddfb7f77c9 hack: update test dockerfiles to buildkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-10 23:26:05 -07:00
Akihiro Suda
40c8b4828a update rootlesskit
For fix subgid interpretation (rootless-containers/rootlesskit@7c48b83f9c)

Full changes: https://github.com/rootless-containers/rootlesskit/compare/20b0fc...d843aa

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-03 14:57:25 +09:00
Tonis Tiigi
0d84f6e163 hack: update buildkit dockerfiles to go1.11
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-17 10:41:33 -07:00
Tonis Tiigi
49fdb4c078 hack: prefer buildkit for generated files
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-17 10:35:59 -07:00
Tonis Tiigi
1dceb3b060 hack: refactor lint to use buildkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-17 10:35:59 -07:00
Akihiro Suda
bf571a519e update Go to 1.11
For consistency with Moby (moby/moby#37358)

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-09-15 14:25:11 +09:00
Akihiro Suda
2fa4c37854 update containerd (binary: v1.1.3, library: Aug 23, 2018)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-08-23 16:21:55 +09:00
Akihiro Suda
864fa7465e integration: rename "/opt/containerd-1.0/bin/containerd" worker to "containerd-1.0"
Having '/' in a worker name is confusing.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-06 15:32:02 +09:00
Akihiro Suda
580dbe08b9 rootless: add integration tests
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 19:27:54 +09:00
Akihiro Suda
7bddb1d268 rootless: update Dockerfile
* AkihiroSuda/rootlesskit -> rootless-containers/rootlesskit
* /home/user/.local/run -> /run/user/1000

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 16:11:52 +09:00
Yuichiro Kaneko
9302734deb Fix "cat: can't open '.tmp/ldflags': No such file or directory" errors
The error appears in

```
RUN go build -ldflags "$(cat .tmp/ldflags)" -o /buildctl.exe ./cmd/buildctl
```

and

```
RUN go build -ldflags "$(cat .tmp/ldflags)" -o /buildkitd.exe ./cmd/buildkitd
```

We ignore ".tmp" by ".dockerignore" file, so `COPY . .`
does not copy ".tmp".
This commit changes the image for "cross-windows" and removes
not needed instructions which are done by "buildkit-base".

This is follow up of https://github.com/moby/buildkit/pull/398

Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
2018-06-30 18:52:03 +09:00
Tonis Tiigi
347b6a3d74 hack: mitigate bug in old docker version
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-04 23:54:44 -07:00
Akihiro Suda
18ac6e2d9a test.Dockerfile: new target: "rootless"
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-06-04 23:17:03 +09:00
Akihiro Suda
f350cbeb53 hack: embed git revison into binaries
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-05-21 20:00:45 +09:00
Akihiro Suda
72c08b5cb9 update containerd (binary: v1.1.0, library: May 11, 2018)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-05-11 15:46:15 +09:00
Akihiro Suda
062c2e8432 integration: add containerd v1.1
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-05-10 19:10:16 +09:00
Akihiro Suda
126f91dea7 update containerd (binary: v1.0.3, library: Apr 3, 2018)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-04-04 17:22:20 +09:00
Tõnis Tiigi
44b843d50d Merge pull request #323 from ijc/protobuf-regen
Validation and (controlled) generation for go generate'd files.
2018-03-28 10:12:14 -07:00
Ian Campbell
17069fe7e4 Validation and (controlled) generation for go generate'd files.
Modelled after the vendor support provide a validator and an updator for files
produced by `go generate` (which today just means `*.pb.go`).

Main difference from the vendor support is that we are no longer simply nuking
and replacing a single directory, so I ended up hardcoding `*.pb.go` in a bunch
of places which I don't like but cannot see a way around which doesn't risk
nuking people's other local changes.

The generated files are placed in an unpacked form in a `FROM scratch`
container for update. Use a subdirectory and `tar --strip-components` (portable
to MacOS and Linux according to `tar(1)`) since trying to do a `docker export`
of just the root ends up adding `.dockerenv`, `sys`, `proc` and `dev` to the
source tree.

The validate container is not `FROM scratch` because we want `cat`.

The run in `frontend/gateway/pb/generate.go` was missing an include so fix
that.

The versions of `protoc` and the gogo plugins were chosen to regenerate the
existing code as closely as possible. The updates to `*.pg.go` here are all the
result of regenerating with go1.9 which fixed
https://github.com/golang/go/issues/17663 and replaced an invalid timestamp in
the gzip header of the data encoded in `fileDescriptor*`, and adopted a new
standard for marking generated files.

Finally, I noticed that my `docker run`s were missing an `--rm` which I
inherited from `validate-vendor`, so fix all those.

Closes: #322

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-03-28 10:52:16 +01:00
Jess Frazelle
4158ef3851 add seccomp to binary building
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-03-23 12:59:15 -04:00
Ian Campbell
0d34cceeb6 vendoring: try to catch more vendoring issues.
At the moment vendor.conf is missing entries for `github.com/tonistiigi/llb-gobuild`
and `github.com/morikuni/aec` due in part because of a combination of
https://github.com/LK4D4/vndr/issues/62 and https://github.com/LK4D4/vndr/issues/63.

The issue vndr#63 (related to lack of `github.com/morikuni/aec`) can be worked
around by removing the vendor directory before rerunning `vndr`, so do so.

Due to vndr#62 the issue with `github.com/tonistiigi/llb-gobuild` cannot be
detected at the moment, but pass `-strict` to `vndr` in anticipation of a fix
there.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-03-08 14:46:28 +00:00
Tonis Tiigi
7906fb3085 vendor: update containerd to v1.0.2
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-02-13 16:00:09 -08:00
Akihiro Suda
e2f4777103 update containerd (binary: v1.0.2-rc.0, library: Feb 1, 2018)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-02-01 18:38:32 +09:00
Akihiro Suda
a39256e9bf update containerd (binary: v1.0.1, library: Jan 23, 2018)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-01-23 12:55:45 +09:00
Tonis Tiigi
b8dc00de71 vendor: update containerd to 1.0.1-rc0
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-11 17:49:09 -08:00
Akihiro Suda
2f2b72989c *: buildd -> buildkitd
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-19 13:23:27 +09:00
Akihiro Suda
2a33b2e822 *: update build tags (containerd -> no_oci_worker)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-18 15:47:56 +09:00
Akihiro Suda
c6690523eb Makefile: add install and clean
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-13 16:03:02 +09:00
Akihiro Suda
c3aa849014 multi-worker daemon
- [X] put multiples workers in a single binary ("-tags containerd standalone")
- [X] add worker selector to LLB vertex metadata
- [X] s/worker/executor/g
- [X] introduce the new "worker" concept https://github.com/moby/buildkit/pull/176#discussion_r153693928
- [X] fix up CLI
- [X] fix up tests
- allow using multiples workers (requires inter-vertex cache copier, HUGE!) --> will be separate PR

Implementation notes:
- "Workers" are renamed to "executors" now
- The new "worker" instance holds an "executor" instance and its
related stuffs such as the snapshotter
- The default worker is "runc-overlay"

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-12 15:17:58 +09:00
Tonis Tiigi
e5771e2830 integration: support local registry
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-08 14:23:17 -08:00