Commit Graph

181 Commits (be6de5138bf23883f689aa37b57bef76e4b04ad2)

Author SHA1 Message Date
Tonis Tiigi a7fedd9c9f control: clean up cache metadata after prune
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-23 16:27:01 -07:00
Tonis Tiigi 2da2aff164 llbsolver: add secret mounts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-19 22:02:05 -07:00
Tonis Tiigi bc765861be diff: implement windows layer support for linux
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-16 16:33:21 -07:00
Tonis Tiigi 946a12eb42 gateway: expose worker information
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:39 -07:00
Tõnis Tiigi f3b743bd13
Merge pull request #467 from dmcgowan/export-oci-media-types
Support creating and pushing OCI types
2018-06-28 14:46:34 -07:00
Derek McGowan 618f34a1f9 Support creating and pushing OCI types
Adds image and oci exporter option "oci-mediatypes"
Ensures that the images created in the content store
have the correct type which matches the manifest.
Sets the correct media type on the descriptor in push from
reading the type specified in the manifest.
Removes use of distribution manifest packages.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2018-06-28 11:23:35 -07:00
Tonis Tiigi f9383c48a3 source: image source platform support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-25 10:39:17 -07:00
Akihiro Suda 19612b901f
Merge pull request #462 from tonistiigi/llbconstraints
llb: force platform in llb and allow constraints
2018-06-26 01:03:38 +09:00
Tonis Tiigi 85e98104cf worker: remove arch/os labels
Superceded by platforms array.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-24 22:49:06 -07:00
Tonis Tiigi 242697af59 llb: add marshal roundtrip tests for platform
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-22 17:55:36 -07:00
Tonis Tiigi a1bafadfd5 worker: add platforms support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-22 11:46:46 -07:00
Kunal Kushwaha e991a846be Default mounts set for buildkit
containerd/oci_specs mounts /run, which is not
required by buildkit.

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2018-06-07 14:43:44 +09:00
Akihiro Suda adef0dedef oci-worker: experimental support for rootless mode
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-05-31 16:05:13 +09:00
Tonis Tiigi 8084e8cde9 llbsolver: allow empty returns for opts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-22 15:46:32 -07:00
Tonis Tiigi 2bd78c3c6e llbsolver: add support for cached mount type
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-15 12:24:20 -07:00
Tonis Tiigi 71f5e6dd21 solver: rename solver-next to solver
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07:00
Tonis Tiigi f00ba89a30 llbsolver: support detecting existing remotes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07:00
Tonis Tiigi a7bc9b9fd2 cache: maintain creation time with remote cache
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07:00
Tonis Tiigi 77c2793ebb remove unused packages
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07:00
Tonis Tiigi b6c782d53e control: switch to use solver-next
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07:00
Tonis Tiigi e24e194078 remove net/context references
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-30 18:10:54 -07:00
Tonis Tiigi 2dba0488c8 runc: make command name configurable
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-17 20:39:19 -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
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 a0a7301ea0
Merge pull request #312 from tonistiigi/throttle-gc
worker: throttle calls to gc
2018-03-26 09:34:35 -07:00
Jess Frazelle b0f34cb8cd
export cache
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-03-21 12:34:05 -04: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
Tõnis Tiigi 18280e73cc
Merge pull request #289 from ijc/allow-local-image-for-gateway-fe
Use local images if pull fails
2018-03-06 09:59:17 -08:00
Ian Campbell ac5091c10b Use local images if pull fails
When using `--frontend=gateway.v0` in order to use a tagged image as the
frontend it is currently required to push the tag to a registry, so that
buildkit can pull it. One can use the `image@sha256:digest` form but this is
inconvenient for the development cycle.

Instead, introduce a proxy `Resolver` which if the pull fails checks the local
image store (if there is one, which is worker dependent) for a suitable image
and if so uses that.

With this I can now:

    buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=. --exporter=image --exporter-opt=name=docker.io/ijc25/fe:dev
    builtctl build --frontend=gateway.v0 --frontend-opt=source=ijc25/fe:dev --exporter=image --exporter-opt=name=hello-world:dev

Without any push to a registry.

I am using the containerd worker.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-03-06 12:19:34 +00:00
Akihiro Suda de73349f01 worker/oci: allow specifying arbitrary snapshotter factory
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-02-26 18:15:10 +09:00
Akihiro Suda 622d4a442a worker/oci: allow using naive snapshotter
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-02-20 12:13:18 +09: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
Tonis Tiigi 6e40e83d35 Remove net/context dependencies
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-17 09:11:22 -08:00
Tonis Tiigi b0679c66db snapshot: clean up snapshot interface
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-04 23:09:05 -08:00
Tonis Tiigi 56353f99a8 snapshot: combine nogc snapshotting helpers
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-04 23:09:05 -08:00
Tonis Tiigi 63ce643468 cache: add prune support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-04 23:09:05 -08:00
Akihiro Suda 84c0dd0b07 worker: add labels
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-20 16:28:47 +09:00
Akihiro Suda dca082582e worker, solver: s/ResolveVertex/ResolveOp/g
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-19 13:20:30 +09:00
Tonis Tiigi 85c0f99ba0 exporter: add Docker compatible exporter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-18 12:19:17 -08:00
Akihiro Suda 21bebaea80 solver, worker: minor cleanup
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-18 16:20:59 +09:00
Tonis Tiigi efde4f2340 worker, solver: update interfaces
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-18 16:20:59 +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 a24ab34522 buildctl: fix dump-metadata
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-15 16:44:09 +09:00
Akihiro Suda 682ac0248c
Merge pull request #211 from tonistiigi/ociexport
exporter: add OCI exporter
2017-12-14 11:05:08 +09:00
Tonis Tiigi 6edccb7913 exporter: add OCI exporter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-13 09:57:28 -08:00
Tonis Tiigi 8840dc7439 image: separate imagewriter to own struct
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-12 22:12:35 -08:00
Akihiro Suda 89450211fa *: deduplicate instructioncache definitions
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-13 15:03:14 +09:00
Tonis Tiigi e5e24af1f5 runc: change runc test to require
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-12 14:59:24 -08: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
Akihiro Suda b7664f71b9
Merge pull request #201 from tonistiigi/containerd-cancellation
worker: fix containerd cancellation and cleanup
2017-12-11 12:36:19 +09:00
Tonis Tiigi 40a0581853 worker: setup own resolvconf and hosts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-10 18:23:24 -08:00
Tonis Tiigi 61573b1868 worker: fix containerd cancellation and cleanup
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-10 18:22:59 -08:00
Tonis Tiigi fdfa6bcb59 vendor: update containerd to 1.0.0
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-04 23:34:25 -08:00
Tonis Tiigi 7699b1a1eb vendor: update containerd to 9649a428e
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-17 19:43:55 -08:00
Tonis Tiigi 6c076f5d6a cleanup linter warnings
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-16 18:09:35 -08:00
Akihiro Suda c71a1ca768 bump up containerd (v1.0.0-beta.3)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-11-13 05:36:59 +00:00
Akihiro Suda 7d0fea5b60 Merge pull request #134 from tonistiigi/gateway-frontend
load frontends from images
2017-10-04 14:38:51 +09:00
Tonis Tiigi 80bc5f6097 fix exporter attributes interface returns
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-03 21:14:13 -07:00
Tonis Tiigi 2809d01cf6 frontend: add gateway frontend / image frontend support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-03 21:14:03 -07:00
Tonis Tiigi f706b13a3f remove generateID duplicates
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-03 16:13:35 -07:00
Tonis Tiigi 01aaf130e5 solver: refactor to a shared vertex solver model
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-18 13:58:33 -07:00
Akihiro Suda a0c9d7c690 vendor containerd v1.0.0-beta.0
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-09-09 11:13:02 +00:00
Akihiro Suda 8d57fcffde vendor containerd 8095244c26fa2daaef850be862e5b1b56d7cec66
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-08-25 10:17:49 -07:00
Tonis Tiigi 8162e15787 llb: add support for mounting subpath or reference
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-08-07 18:45:50 -07:00
Akihiro Suda 03f9eee2d0 Fix windows build
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-08-04 06:24:31 +00:00
Derek McGowan e460a3926c Add implementation for containerd worker
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-07-26 11:07:45 -07:00
Derek McGowan 9ce5053a8b Update containerd version
Fix for logrus rename, use fork until fixed in moby.
Removed unused tar stream.

Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-07-26 11:07:45 -07:00
Tonis Tiigi ff951eecd9 llb: add readonly mounts support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-18 16:07:37 -07:00
Tonis Tiigi b65989a5e4 source: add git source
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-10 22:19:05 -07:00
Tonis Tiigi 2bb4c5d487 worker: change mounts map to slice
Fixes random mount order.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-10 19:18:19 -07:00
Tonis Tiigi dd4c575236 buildd: graceful shutdown on termination signals
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-03 00:13:06 -07:00
Tonis Tiigi 2df68a5706 solver: add error reporting and canceling support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-29 15:31:08 -07:00
Tõnis Tiigi c44c439629 Merge pull request #20 from tonistiigi/remove-poc
Remove POC label
2017-06-23 09:54:54 -07:00
Tonis Tiigi b573060eea project: remove poc label
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-23 09:37:36 -07:00
Tonis Tiigi defc9c9dc0 worker: detect missing runc early
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-22 13:42:56 -07:00
Tonis Tiigi 728de510f3 llb: improve llb generation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-21 15:21:36 -07:00
Derek McGowan 94d62fd432 Add context to functions which call snapshotter
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2017-06-13 16:10:31 -07:00
Tonis Tiigi 84a14f44ed llb: ops execution example
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-09 14:49:01 -07:00
Tonis Tiigi 28045f19bf worker: add stdout/stderr to runc worker
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-02 10:20:20 -07:00
Tonis Tiigi 08134677cd worker: runc worker exection
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-02 10:20:05 -07:00