Commit Graph

825 Commits (65b526438b86a17cf35042011051ce15c8bfb92a)

Author SHA1 Message Date
Tonis Tiigi 7ac9599c8f session: separate authprovider to package
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-17 20:36:23 -07:00
Akihiro Suda 4d4f369838
Merge pull request #338 from tonistiigi/cachekey-refactor
solver-next: cachekey refactor
2018-04-17 12:53:21 +09:00
Akihiro Suda fc2b7c558a
Merge pull request #339 from tonistiigi/dockerfile-copy
dockerfile: copy only files that are used
2018-04-14 22:28:15 +09:00
Tonis Tiigi 0b203b21df dockerfile: copy only files that are used
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-13 21:13:29 -07:00
Akihiro Suda 1a3c680e91
Merge pull request #337 from tonistiigi/push-provider
util: make push depend on provider
2018-04-14 12:57:44 +09:00
Tonis Tiigi 64b9daabc7 boltdbcache: add missing methods
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-13 14:43:29 -07:00
Tonis Tiigi 01bb816d91 solver: add missing progress handlers
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-13 14:43:29 -07:00
Tonis Tiigi 747dff007b solver: reimplement edge index with tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-13 14:43:23 -07:00
Tonis Tiigi 659a21bda9 solver: update exporter tests to check targets
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-13 14:40:06 -07:00
Tonis Tiigi 32f7a01fe7 solver: remove CacheKey interface
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-13 14:39:57 -07:00
Tonis Tiigi 7e18e4a579 util: make push depend on provider
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-13 14:35:55 -07:00
Tõnis Tiigi 243f742ac2
Merge pull request #336 from ijc/configure-unix-socket-group-ownership
buildkitd: allow setting group of /var/run/buildkit/buildkitd.sock
2018-04-12 10:22:41 -07:00
Ian Campbell 7b739d32a7 buildkitd: allow setting group ownership of /var/run/buildkit/buildkitd.sock
While buildkitd needs to run as root (since both workers currently imply that)
there's no reason to enforce running the client as root, it works just fine (in
my slightly limited testing) as non-root so long as it has access to the sock

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-04-11 14:34:39 +01:00
Akihiro Suda ef8e683ffa
Merge pull request #335 from tonistiigi/git-cancellation
git: fix cancellation on blocking remotes
2018-04-11 14:06:50 +09:00
Tonis Tiigi 641fdea51b git: fix cancellation on blocking remotes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-10 17:55:18 -07:00
Tõnis Tiigi 89f8bc1c02
Merge pull request #329 from AkihiroSuda/containerd-20180403
update containerd (binary: v1.0.3, library: Apr 3, 2018)
2018-04-04 10:05:42 -07: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
Akihiro Suda aabfa3b84a
Merge pull request #324 from ijc/readonly-rootfs-execop
Make llb.ReadonlyRootFS usable with common container images
2018-04-04 11:43:44 +09:00
Tõnis Tiigi 2aa3554778
Merge pull request #330 from ijc/bump-protobuf
Consolidate gogoproto versions
2018-04-03 10:01:47 -07:00
Ian Campbell 8a51342bd5 Correct instructional message
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-04-03 13:45:50 +01:00
Ian Campbell ec18d4ead1 generate-files: auto sync gogo version to vendor.conf
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-04-03 13:45:50 +01:00
Ian Campbell d9b64588cb Regenerate protobuf go file with gogoproto v0.5
This matches the version in vendor.conf, the previous version was `v0.5~25`
according to `git describe`.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-04-03 13:45:50 +01:00
Ian Campbell 2e6adc027d Reduce code duplication with a closure.
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-04-03 11:13:15 +01:00
Ian Campbell ddae5a6ea4 Make llb.ReadonlyRootFS usable with common container images
e.g. with busybox image:

    OCI runtime create failed: container_linux.go:348:
    starting container process caused "process_linux.go:402:
    container init caused \"rootfs_linux.go:58:
    mounting \\\"proc\\\" to rootfs \\\"/.../rootfs\\\" at \\\"/proc\\\"
    caused \\\"mkdir /.../rootfs/proc: read-only file system\\\"\"": unknown

This is because we were setting the underlying snapshot readonly so the various
mountpoints (here /proc) cannot be created. This would not be necessary if
those mountpoints were present in images but they typically are not.

The right way to get around this (used e.g. by `ctr`) is to use a writeable
snapshot but to set root readonly in the OCI spec. In this configuration the
rootfs is writeable when mounts are processed but is then made readonly by the
runtime (runc) just before entering the user specified binary within the
container.

This involved a surprising amount of plumbing.

Use this new found ability in the dockerfile converter's `dispatchCopy`
function.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-04-03 11:04:07 +01:00
Ian Campbell 4bae684e32 Invert tags on runc worker test so they run by default.
Signed-off-by: Ian Campbell <ijc@docker.com>
2018-04-03 11:01:46 +01:00
Tõnis Tiigi 914fce58ee
Merge pull request #328 from AkihiroSuda/disallow-empty-output
client: disallow empty output for exportation
2018-04-01 21:44:17 -07:00
Akihiro Suda 3dd4d12796 client: disallow empty output for exportation
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-04-02 13:22:44 +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
Vincent Demeester 117be599b5
Merge pull request #326 from AkihiroSuda/bud-pipe
client: support passing io.WriteCloser via SolveOpt for FSSyncTargetFile
2018-03-28 09:43:49 +02:00
Akihiro Suda 9ef8233da1 client: support passing io.WriteCloser via SolveOpt for FSSyncTargetFile
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-03-28 15:48:54 +09:00
Tõnis Tiigi a0a7301ea0
Merge pull request #312 from tonistiigi/throttle-gc
worker: throttle calls to gc
2018-03-26 09:34:35 -07:00
Tõnis Tiigi 5b499d557b
Merge pull request #321 from jessfraz/seccomp
add containerd package for default seccomp profile
2018-03-23 10:14:09 -07: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
Akihiro Suda 1cf2daae92
Merge pull request #320 from tonistiigi/contentutil
util: add contentutil helpers
2018-03-23 10:09:15 +09:00
Tonis Tiigi 0702303f6c imagemetaresolver: switch to contentutil buffer
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-03-22 16:19:56 -07:00
Tonis Tiigi 05da9869bd util: add contentutil helpers
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-03-22 16:19:49 -07:00
Jess Frazelle 863736d818
add containerd package for default seccomp profile
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-03-22 12:25:55 -04:00
Tõnis Tiigi 9f8547022b
Merge pull request #319 from ijc/check-mount-source
Check that mounts have a Source when generating the OCI spec
2018-03-22 08:53:28 -07:00
Ian Campbell ac6598d255 Check that mounts always have a target.
Otherwise the daemon panics when generating the OCI spec.

For belt and braces check in the ExecOp Run function but also when generating the spec.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-03-22 12:05:12 +00:00
Tõnis Tiigi a1af6d9037
Merge pull request #318 from jessfraz/all-changes
export cache
2018-03-21 10:10:18 -07:00
Jess Frazelle b0f34cb8cd
export cache
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-03-21 12:34:05 -04:00
Tõnis Tiigi 3e90755493
Merge pull request #316 from ijc/readonly-rootfs
Convert ReadonlyRootFS to a RunOption
2018-03-20 10:17:57 -07:00
Ian Campbell 7be9ae6954 Convert ReadonlyRootFS to a RunOption
This seems to have missed out on an update/refactor at some point and was not
usable in its previous form without duplicating the `runOptionFunc`
scaffolding.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-03-20 16:58:05 +00:00
Akihiro Suda 67baec79bd
Merge pull request #311 from tonistiigi/optimize-marshal
client: speed up llb marshal
2018-03-20 12:21:56 +09:00
Akihiro Suda f635b18790
Merge pull request #314 from tonistiigi/cancel-fix
solver: don’t cancel child pipes from state change
2018-03-20 12:21:33 +09:00
Akihiro Suda b99388e9dd
Merge pull request #315 from tonistiigi/example-fix
examples: fix gobuild example
2018-03-20 12:21:05 +09:00
Tonis Tiigi 8fd2d5431b examples: fix gobuild example
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-03-19 11:52:52 -07:00
Tonis Tiigi 5717a4f49f solver: don’t cancel child pipes from state change
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-03-19 11:26:46 -07:00
Tonis Tiigi da633a8e6b worker: throttle calls to gc
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-03-19 10:40:31 -07:00