Commit Graph

176 Commits (dc387eda7ffc08391e5fb2538472aaa4d01e4a8f)

Author SHA1 Message Date
Tibor Vass 2f0c048493 network: move handling of NetMode_UNSET to Default()
This allows other workers to implement their own behavior for NetMode_UNSET

Signed-off-by: Tibor Vass <tibor@docker.com>
2018-08-23 00:06:06 +00:00
Michael Crosby b97bc71adb Refactor networking with ns paths
This fixes the issues where buildkit and callers do not have to be a
subpreaper in order to use networking.  I can add CNI provider later,
with a hidden sub command to create a new network namespace and bind
mount it to buildkit's state dir.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2018-08-21 13:37:47 -04:00
Tonis Tiigi 130f5f5ab0 solver: net host with basic entitlements support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-08-09 14:03:35 -07:00
Tõnis Tiigi 785436a312
Merge pull request #563 from ijc/progressui-custom-operation
progressui: allow caller to customise "Building" string
2018-08-09 10:49:29 -07:00
Ian Campbell ccc559bc43 progressui: allow caller to customise "Building" string
In clients which are doinging multiple builds or phases it can be useful to say
something more specific here (e.g. "Building first image", "Probing" etc)

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-08-08 16:29:01 +01:00
Kunal Kushwaha 765f1b64b9 executor: allow network providers
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-08-07 11:51:56 -07:00
Tonis Tiigi e971b7cddf pull: handle resolvemode
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-25 18:20:55 -07:00
Tonis Tiigi f719aadcba dockerfile: add tests for multi-platform exports
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-25 16:01:12 -07:00
Tonis Tiigi 6be1257f5d export: manifest list support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-25 16:01:12 -07:00
Tõnis Tiigi 5098434f33
Merge pull request #530 from tonistiigi/winlayers-panic
winlayers: discard reader on apply errors
2018-07-25 12:59:35 -07:00
Ian Campbell e0196c9a12 apicaps: record the correct caps when constructing a CapSet
We need to capture `c` within the loop, otherwise all of the entries of `m` end
up pointing to the same thing, which is the last cap in `range caps`.

The symptom was that all caps were enabled/disabled based on the last cap's
setting and not their own.

Add a test for this.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-07-25 14:29:16 +01:00
Tonis Tiigi 384263c68d winlayers: discard reader on apply errors
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-20 18:37:26 -07:00
Akihiro Suda a9dcf63f45 integration: skip rootless if unsupported
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-20 19:18:51 +09: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
Tõnis Tiigi aee2723382
Merge pull request #480 from ijc/less-chatty-non-console-progress
Reduce verbosity of non-console solve status.
2018-07-10 08:25:12 -07:00
Ian Campbell dbd3d86a35 Reduce verbosity of non-console solve status.
Only report progress at most every 5s or 5% completion, which ever comes first.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-07-10 16:06:31 +01:00
Tonis Tiigi 90d164ced5 gateway: inital caps detection support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:38 -07:00
Tonis Tiigi db5b0f1b9a api: add caps support for versioning
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:34 -07:00
Tõnis Tiigi 77e4fcd0ec
Merge pull request #491 from frezbo/feature/fix-datatype-mismatch
Fixing mismatch
2018-07-06 11:53:14 -07:00
Noel Georgi 8753e76a4d
Fixing mismatch
Signed-off-by: Noel Georgi <18496730+frezbo@users.noreply.github.com>
2018-07-06 17:48:17 +05:30
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
Tõnis Tiigi cda0a64eca
Merge pull request #486 from AkihiroSuda/update-rootless
rootless: refactor libcontainer_specconv & add integration tests
2018-07-05 11:26:26 -07: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 72327724c0 rootless: refactor libcontainer_specconv
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 19:27:54 +09:00
Akihiro Suda 80d2f820f9 decopule cache/remotecache from registry
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-04 17:38:09 +09:00
Tõnis Tiigi bbcd8adce0
Merge pull request #484 from tonistiigi/status-dupe-fix
pull: do not send duplicate status for completed jobs
2018-07-03 15:27:22 -07:00
Tonis Tiigi 07d8189603 progressui: fix log line separation bug
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-03 14:43:26 -07:00
Tonis Tiigi e1471c5682 pull: do not send duplicate status for completed jobs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-03 12:14:09 -07:00
Anda Xu f00c1bc2cb re-enable debug messages
Signed-off-by: Anda Xu <anda.xu@docker.com>
2018-07-02 11:05:56 -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 7690ff1d34 vendor runc ad0f5255060d36872be04de22f8731f38ef2d7b1
For https://github.com/opencontainers/runc/pull/1819

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-06-16 03:45:49 +09:00
Tõnis Tiigi 7943598281
Merge pull request #439 from AkihiroSuda/vendor-containerd-20180606
update containerd library
2018-06-08 10:33:10 -07:00
Akihiro Suda 47a00b84fe update containerd library
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-06-08 21:44:17 +09:00
Tonis Tiigi 2037b9540b progressui: constant prefix index for grep
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-06 14:31:48 -07:00
Tonis Tiigi 39e19516fc progressui: add better streaming text build status
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-06 14:31:42 -07:00
Jess Frazelle 48200d7b5e
support when build without seccomp build tag
Signed-off-by: Jess Frazelle <acidburn@microsoft.com>
2018-06-05 14:27:32 -04: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
Akihiro Suda 8b131af00d
Merge pull request #415 from tonistiigi/window-size
progressui: handle zero window size
2018-05-26 06:59:52 +09:00
Tonis Tiigi 5727898274 progressui: handle zero window size
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-25 14:38:06 -07:00
Tonis Tiigi 6b23ab01ce exec: make stdio debugging optional
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-25 11:15:32 -07:00
Tonis Tiigi 3b874e95f1 executor: runtime check if seccomp is supported
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-24 16:34:35 -07:00
Ian Campbell ef1a79a1c1 Allow caller to specify platform for use with imagemetaresolver.
This needs to be plumbed through to `imageutil.Config` which is also used from
the `containerimage` package. Since that is used in the context of a Worker the
`platforms.Default()` (corresponding to the platform of the worker itself) is
appropriate so apply a default at that level.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-05-24 11:23:35 +01:00
Akihiro Suda d22e5a1721 split puller from source/containerimage into util/pull
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-05-18 06:14:06 +09:00
Tonis Tiigi 77c2793ebb remove unused packages
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07: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
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
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 a0a7301ea0
Merge pull request #312 from tonistiigi/throttle-gc
worker: throttle calls to gc
2018-03-26 09:34:35 -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
Tonis Tiigi da633a8e6b worker: throttle calls to gc
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-03-19 10:40:31 -07:00
Akihiro Suda e008553762 exporter/oci: split reusable dockerexporter
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-02-26 18:02:58 +09: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
Tonis Tiigi bcbb3d6234 util: add stateful cond package
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-31 18:44: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 29b72a3912 solver: add some trace points
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-08 18:03:12 -08:00
Tonis Tiigi d804819dad progress: fix skipping cached vertex progress
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-20 21:33:36 -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
Tonis Tiigi afd146ccf9 buildctl: print progressbar to stderr
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-13 09:57:33 -08:00
Tonis Tiigi d0f8125af9 imageutil: avoid pulling unwanted manifests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-12 15:02:11 -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 41cd660444
Merge pull request #197 from tonistiigi/test-parallel
set more tests to parallel
2017-12-09 12:59:38 +09:00
Tonis Tiigi e4f6a5e752 set more tests to parallel
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-08 18:19:08 -08:00
Tonis Tiigi e5771e2830 integration: support local registry
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-08 14:23:17 -08:00
Tonis Tiigi e0af9d1218 source: add more properties to http source
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-04 12:00:46 -08:00
Tonis Tiigi c9f45dbc22 add unit tests for http source
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-02 19:52:15 -08:00
Tonis Tiigi ec389edb64 buildctl: disable progressbar if no console
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-01 23:52:27 -08:00
Tonis Tiigi 97b773a04b buildctl: add integration test for containerd exporter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-01 11:53:39 -08:00
Tonis Tiigi bcc98bf29d frontend: add some dockerfile integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-30 14:57:18 -08:00
Tonis Tiigi e3f85cc1ac integration: detect test names with reflect
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-29 18:49:04 -08:00
Tonis Tiigi f343fc30ec buildctl: add sample cli test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-29 18:34:43 -08:00
Tonis Tiigi e1ced023df update intergration tests for reuse
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-29 17:42:28 -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
Tonis Tiigi df064b0d7a exporter: allow push to http registry
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-03 11:26:00 -07:00
Tonis Tiigi 51d1c4166f session: expose image auth
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-20 12:56:06 +02:00
Tonis Tiigi 5a2bedb683 Update state directory defaults
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-18 12:52:51 +02:00
Tonis Tiigi 56e1f71e6b cache: allow pushing exported cache
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-13 15:37:55 -07:00
Tonis Tiigi 451be0e504 exporter: revert to distribution/schema2, add push support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-13 10:08:47 -07:00
Vincent Demeester 5986fa9947
Allow to use TCP for buildkit daemon and client communication
The next step is to allow TLS configuration.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2017-10-07 22:02:15 +02:00
Tonis Tiigi 4a9142223d solver: fix possible data races
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-27 22:38:54 -07:00
Tonis Tiigi f41283caed solver: fix shared request progress and cancellation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-27 12:45:47 -07:00
Tonis Tiigi c4ca8c7811 progressui: fix flicker on printing byte sizes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-25 21:01:39 -07:00
Tonis Tiigi 05c39612d8 dockerfile: resolve to digest ref in frontend
Less hacky than keeping the cached resolver.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-22 15:49:37 -07:00
Tonis Tiigi cc1b4140af bgfunc: safer locking
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-19 12:29:29 -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
Tonis Tiigi f20e4d2577 frontend: allow config detection from manifest list
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-15 18:52:09 -07:00
Tonis Tiigi fd0f7ee2a8 frontend: fix dockerfile frontend resolver
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-15 18:09:28 -07:00
Tonis Tiigi b36df4738a frontend: add more commands to dockerfile
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-15 18:09:28 -07:00
Akihiro Suda 279940b60d vendor containerd d1e11f17ec7b325f89608dd46c128300b8727d50
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-09-14 19:06:31 +00:00
Tonis Tiigi 6d335c3c86 imagesource: share config resolver with frontend
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-05 13:11:27 -07:00
Tonis Tiigi 49f41bebff progressui: fix wrapping error on tabs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-01 19:34:17 -07:00
Tonis Tiigi 940a31d296 profiler: add noshutdown hooks
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-08-09 18:25:26 -07:00
Tõnis Tiigi 5ecab5e142 Merge pull request #11 from dmcgowan/containerd-worker
Containerd worker
2017-07-26 14:36:51 -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
Akihiro Suda 24eeb9d2ee Merge pull request #83 from tonistiigi/nested-invocation
Nested LLB invocation support
2017-07-26 15:13:36 +09:00
Tonis Tiigi 5cbe154368 flightcontrol: better errRetry handling
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-25 15:54:21 -07:00
Tonis Tiigi 93757aef7f nested llb builds support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-24 18:09:16 -07:00