Commit Graph

265 Commits (146ea468c9aa3c2dbdb6ae74e288535f643ee780)

Author SHA1 Message Date
Tonis Tiigi fb73a926c0 util: add binfmt_misc binary detection
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-02-28 11:00:04 -08:00
Akihiro Suda 511d3f3af8 buildctl: add `b` as an alias for `build`
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-03-01 01:56:53 +09:00
Akihiro Suda 26010a4864 decouple SessionManager from Worker
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-02-23 22:55:17 +09:00
Tonis Tiigi 8344b342a1 buildctl: detect empty stdin with empty frontend
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-02-01 16:41:57 -08:00
Akihiro Suda 1d857d037d fix `if err != nil { return nil }`
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-02-01 00:43:23 +09:00
Tõnis Tiigi 76be359fd1
Merge pull request #796 from tonistiigi/gc-controls
Allow quick config of GC
2019-01-27 13:51:39 -08:00
Tonis Tiigi a7c6e9d465 buildkitd: add containerd worker gc flags
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-22 17:34:40 -08:00
Tonis Tiigi a1f3f8462c buildkitd: add oci worker gc flags
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-22 17:34:40 -08:00
Tonis Tiigi cf31b501ba buildkitd: add more gc config options
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-22 17:34:40 -08:00
Tonis Tiigi 97eff70c5e inline remote cache support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-21 19:39:15 -08:00
Akihiro Suda 6e7617e889 support local cache exporter and importer
Export:

  $ buildctl build ... --export-cache type=local,store=/path/to/output-dir

Import:

  $ buildctl build ... --import-cache type=local,store=/path/to/input-dir

Impact on CLI:
* Old (deprecated but still effective): `--export-cache localhost:5000/myrepo:buildcache --export-cache-opt mode=max`
* New: `--export-cache type=registry,ref=localhost:5000/myrepo:buildcache,mode=max`

Impact on API:
* New fields are added to control.proto and gateway.proto. The daemon
internally translates old API calls to the new ones.
* While new API can be used for `registry` caches, the client continues
to use the legacy API for `registry` caches to ensure compatibility with
old daemons.
* To import `local` caches with a frontend, the frontend needs to support
a new frontend opt `cache-imports`.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-01-19 02:38:26 +09:00
Akihiro Suda c54f4a986d support --oci-worker-no-process-sandbox
Note that this mode allows build executor containers to kill (and potentially ptrace) an arbitrary process in the BuildKit host namespace.
This mode should be enabled only when the BuildKit is running in a container as an unprivileged user.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-01-08 10:42:52 +09:00
Akihiro Suda 8cf9bec86a
Merge pull request #730 from tonistiigi/no-cache-fix
buildctl: fix frontends ignore-cache setting
2018-11-21 12:35:10 +09:00
Tonis Tiigi 478f417eb8 buildctl: allow import-cache on frontend builds
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-11-20 17:54:05 -08:00
Tonis Tiigi b3092ab51c buildctl: fix frontends ignore-cache setting
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-11-20 15:53:14 -08:00
Akihiro Suda 7d92f2d6ad buildctl: support --no-cache for Dockerfile frontend
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-30 17:49:36 +09:00
Tõnis Tiigi 8c361c720d
Merge pull request #681 from tonistiigi/buildkitd-parallel
testutil: avoid excessive daemons in integration tests
2018-10-12 10:12:38 -07:00
Tonis Tiigi 1f51f5ea11 testutil: avoid excessive daemons in integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-11 16:47:35 -07:00
Tonis Tiigi 9da7b50195 cmd: fix app version reporting
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-11 13:46:40 -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
Tonis Tiigi 1d2cc873a9 gc: fix build on 32bit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-25 23:11:14 -07:00
Tonis Tiigi a75983ddb9 integration: pass mirrored images from test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-18 22:07:38 -07:00
Akihiro Suda aa73951164
Merge pull request #631 from jhowardmsft/boltdb
Revendoring to move boltdb to bbolt
2018-09-19 13:59:08 +09:00
John Howard 2de2c04c8e Revendoring to move boltdb to bbolt
Signed-off-by: John Howard <jhoward@microsoft.com>
2018-09-18 11:18:08 -07:00
Tonis Tiigi 653fb12ecf buildctl: replace withblock with dial error check
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-13 17:29:01 -07:00
Tõnis Tiigi 1508ae0fc7
Merge pull request #608 from tonistiigi/ssh-forwarding
sshforward: implement ssh socket forwarding
2018-09-11 08:01:58 -07:00
Akihiro Suda 907411c7e8
Merge pull request #605 from fuweid/feature_add_namespace_in_config
cmd,worker: support customize namespace for containerd worker
2018-09-11 11:56:24 +09:00
Wei Fu 53aa4053bb cmd,worker: support customize namespace for containerd worker
Allow user to customize containerd namespace, not just `buildkit`. It
can help user to integration with existing data easily.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2018-09-11 09:41:42 +08:00
Tonis Tiigi 347420e77f sshprovider: allow keys from local files
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-10 14:12:41 -07:00
Tonis Tiigi ecd4a22546 resolver: add config support for mirrors/plainhttp
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-07 18:44:45 -07:00
Tonis Tiigi 6888956557 sshforward: implement ssh socket forwarding
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-07 08:57:06 -07:00
Akihiro Suda 756ca6cc6d
Merge pull request #602 from tonistiigi/gc
automatic GC
2018-09-05 10:47:21 +09:00
Tonis Tiigi 079c747c4e ontrol: support calling automatic GC
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-04 18:13:29 -07:00
Ian Campbell 7cb70e1c31 Initialise workers' label maps before assigning.
Otherwise:

    panic: assignment to entry in nil map

    goroutine 1 [running]:
    main.applyOCIFlags(0xc4200e71e0, 0xc420400000, 0x0, 0x0)
    	/go/src/github.com/moby/buildkit/cmd/buildkitd/main_oci_worker.go:97 +0x1ac
    main.ociWorkerInitializer(0xc4200e71e0, 0xc4204104e0, 0xc420400000, 0x43409b, 0x12, 0xc42026b0f8, 0x4337fc, 0xc420000180)
    	/go/src/github.com/moby/buildkit/cmd/buildkitd/main_oci_worker.go:118 +0x50
    main.newWorkerController(0xc4200e71e0, 0xc4204104e0, 0xc420400000, 0xc420422000, 0xe5dc54, 0x11)
    	/go/src/github.com/moby/buildkit/cmd/buildkitd/main.go:520 +0x324
    main.newController(0xc4200e71e0, 0xc420400000, 0x1c0, 0x0, 0x0)
    	/go/src/github.com/moby/buildkit/cmd/buildkitd/main.go:489 +0xdc
    main.main.func3(0xc4200e71e0, 0x0, 0x0)
    	/go/src/github.com/moby/buildkit/cmd/buildkitd/main.go:203 +0x3dd
    github.com/moby/buildkit/vendor/github.com/urfave/cli.HandleAction(0xcdd420, 0xe93e98, 0xc4200e71e0, 0xc4200e71e0, 0xc42026b888)
    	/go/src/github.com/moby/buildkit/vendor/github.com/urfave/cli/app.go:502 +0xc8
    github.com/moby/buildkit/vendor/github.com/urfave/cli.(*App).Run(0xc4201b6540, 0xc4200300a0, 0xa, 0xa, 0x0, 0x0)
    	/go/src/github.com/moby/buildkit/vendor/github.com/urfave/cli/app.go:268 +0x60c
    main.main()
    	/go/src/github.com/moby/buildkit/cmd/buildkitd/main.go:238 +0xc64

Also add some random labels to the integration sandbox (which I have confirmed
is enough to trigger this issue before the fix).

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-09-03 11:35:36 +01:00
Tonis Tiigi c524709f4a buildkitd: add config file support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-08-30 16:11:55 -07:00
Tibor Vass 17e6416706
Merge pull request #504 from kunalkushwaha/no-console
--no-progress replaced with --progress
2018-08-29 13:44:51 -07:00
Kunal Kushwaha 49c9f75275 --no-progress replaced with --progress
this make buildctl build output options same as moby.

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2018-08-27 11:23:15 +09:00
Akihiro Suda decb27618b containerd: set timeout explicitly (60s)
The contained default value was shortened from 60s to 10s in containerd/containerd#2554

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-08-23 18:14:57 +09:00
Tonis Tiigi 95e0348f57 dockerfile: enable global net-mode settings
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-08-09 14:03:40 -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
Tonis Tiigi 1a37ee3bf4 cache: add gc style pruning support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-08-06 21:45:39 -07:00
Tonis Tiigi d1ad6961e3 cache: detect refs shared with image store
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-27 14:08:50 -07:00
Tonis Tiigi 97fa2b527a cache: add all option to prune
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-26 22:55:05 -07:00
Tonis Tiigi 57b96a0ee5 cache: add record type field to usage record
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-26 22:54:39 -07:00
Tonis Tiigi 70e0b64482 client: generalize the filter passing
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-25 18:19:31 -07:00
Tonis Tiigi 0ba24f2a90 cache: implement filter for diskusage
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-25 17:20:59 -07:00
Tonis Tiigi a78a799908 buildctl: allow passing secret values from files
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-20 18:50:05 -07:00
Tonis Tiigi fde47cc113 buildkitd: seed math rand
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-17 11:22:51 -07:00
Tonis Tiigi d86efeb63a buildkitd: allow custom worker platforms for containerd
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-16 13:54:59 -07:00
Tonis Tiigi 01b7a29e86 gateway: return result from solve
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-12 17:51:44 -07:00
Tonis Tiigi 9684362cb0 frontend: move forwarder under gateway
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-12 17:50:19 -07:00
Tonis Tiigi d5c9d39128 apicaps: set exportedproduct from binary
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:39 -07:00
Tonis Tiigi c8fa75ffc1 dockerfile: read default build platform from workers
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:32:39 -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
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 2e7a680019
Merge pull request #482 from ijc/quote-dot-label
buildctl: quote quotes in dot dump of llb
2018-07-03 09:36:54 -07:00
Ian Campbell cc3f1137b1 buildctl: quote quotes in dot dump of llb
The command, used as the dot label, can contain quotes which need escaping when
used within the quoted string.

Formatting with `%q` rather than `\"%s\"` does this for us.

I don't believe digests or the shapes can ever contain quotes (or other unusual
characters) but switch them to `%q` as well for consistency.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-07-03 12:07:27 +01:00
Akihiro Suda 8ef8a7c632 rootless: bail if euid != 0
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-02 15:47:57 +09:00
Akihiro Suda 27b6ab4940 rootless: fix default path configuration
if buildkitd is being executed as the mapepd-root ($USER==root)
in a rootless container, we need to enable the rootless mode but
we don't want to honor $HOME.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-07-02 15:47:57 +09: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 dc9de85069 llb: force platform in llb and allow constraints
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-22 16:49:03 -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
Ian Campbell 97ffd6cce8 client: take a context.Context to New().
This allows two things:

- The caller to set a shorter timeout than previously hardcoded 30s. In
  `buildctl` reduce the timeout to 5s. Since the existing timeout has gone
  callers will need to arrange to pass one themselves.
- The caller can arrange for the context to be cancelled for other reasons, use
  this in `buildctl` to plumb through the Ctrl-C handling, meaning that
  `buildctl` now exits almost immediately on Ctrl-C instead of after several
  seconds.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-06-11 14:28:08 +01:00
Akihiro Suda 6ee0fece94
Merge pull request #438 from tonistiigi/text-progress
progressui: add better streaming text build status
2018-06-08 21:57:05 +09:00
Ian Campbell 8f4649242c buildctl: do not trace unless asked.
My `/tmp` was unexpectedly full of `/tmp/buildctlXXXXXXXXX`, lets stop doing
that by default.

Suggesting `/dev/null` as an example seemed a bit strange with the default
changed, so dropped that too while editing.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-06-07 13:19:29 +01: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
Akihiro Suda b003c68521 oci-worker: resolve snapshotter label to real name
before: `org.mobyproject.buildkit.worker.snapshotter:auto`
after:  `org.mobyproject.buildkit.worker.snapshotter:overlayfs`

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-06-05 17:38:16 +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
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
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 1b4ce4324f buildctl: add export-cache-opt flags
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07:00
Tonis Tiigi f617d38aaa rename cacheimport to remotecache
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07:00
Tonis Tiigi 3ca07f1467 api: allow multiple cache import refs
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 b80f45955a solver: allow exporters to set data to solve results
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-07 20:52:11 -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 7ac9599c8f session: separate authprovider to package
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-04-17 20:36:23 -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 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 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
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
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 a0d98d3e6b buildctl: add test for usage
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-02-09 17:16:00 -08:00
Tõnis Tiigi 3478785609
Merge pull request #265 from AkihiroSuda/ctl-trace-panic
buildctl: fix nil panic
2018-01-23 10:21:03 -08:00
Akihiro Suda ddc3dba617 buildctl: fix nil panic
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-01-23 11:48:49 +09:00
Akihiro Suda 51e22a478a buildkitd: fix index-out-of-range panic in parsing wrong addr string
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-01-23 11:29:07 +09: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 6b98dedaef Add grpc opentracing support to the binaries
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-08 17:49:34 -08:00
Tonis Tiigi b88a98bcad client: add integration tests for prune
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
Tino Rusch 1e6acda802
forgot to use new flagnames in code; 2017-12-21 08:54:20 +01:00
Tino Rusch 98a836592e
[transport] make tls client and server commandline parameters for consistency with docker + guess tls-server-name from target address in client if not specified explicitly; 2017-12-21 06:18:54 +01:00
Tino Rusch 03f717bd32
transport: add possibility to use TLS secured transport layer on server- and clientside; 2017-12-20 13:30:46 +01: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 2f2b72989c *: buildd -> buildkitd
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-19 13:23:27 +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
Tonis Tiigi afd146ccf9 buildctl: print progressbar to stderr
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-13 09:57:33 -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
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 303d4ccab9 llb: allow defining metadata on nodes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-07 10:12:48 -08:00
Tonis Tiigi 6221b28992 buildd: allow multiple listener addresses
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-04 12:02:07 -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 02d01c0350 buildctl: add integration test for local exporter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-30 16:28:35 -08:00
Tonis Tiigi 3d91404c07 buildctl: add integration test with local files
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-11-30 16:06:09 -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
Akihiro Suda b888b38e5a solver: implement IgnoreCache LLB Metadata
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-11-07 03:40:07 +00:00
Tomas Tomecek 232c131524 buildd: better error msg for unsupported builds
Signed-off-by: Tomas Tomecek <ttomecek@redhat.com>
2017-10-22 14:00:40 +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
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 a506f86184 vendor: update vendored deps
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-06 16:28:22 -07:00
Akihiro Suda f89ffc2ab4 llb: per-vertex metadata (e.g. IgnoreCache)
cache invalidation itself it not implemented yet

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-10-03 05:36:24 +00: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
Tõnis Tiigi a0abecfab7 Merge pull request #115 from AkihiroSuda/trace
buildctl: allow specifying trace file path
2017-09-07 09:04:47 -07:00
Akihiro Suda 4d3293fa51 buildctl: allow specifying trace file path
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-09-07 08:17:28 +00:00
Tonis Tiigi 2d290db465 frontend: base of dockerfile frontend
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-08-31 23:27:25 -07:00
Akihiro Suda 39b9dec52f Merge pull request #87 from tonistiigi/snapshot-metadata
cache: add more metadata to snapshots
2017-07-27 09:36:10 +09:00
Tõnis Tiigi 5ecab5e142 Merge pull request #11 from dmcgowan/containerd-worker
Containerd worker
2017-07-26 14:36:51 -07:00
Tonis Tiigi e3c91ee898 buildctl: add filter to buildctl df
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-26 11:28:26 -07:00
Tonis Tiigi 38ac00090c cache: add more metadata values to snapshots
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-26 11:28:20 -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 93757aef7f nested llb builds support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-24 18:09:16 -07:00
Tõnis Tiigi f0424c367f Merge pull request #80 from tonistiigi/local-source-progress
source: add progress to local sources
2017-07-21 10:28:50 -07:00
Tonis Tiigi 09d7a2b9fa source: add progress to local sources
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-21 10:08:45 -07:00
Tonis Tiigi cb168bc954 source: add multiple dir support for local source
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-20 21:17:23 -07:00
Tonis Tiigi 42bfec5028 buildctl: add dot output for visualizing llb
usage: buildctl debug dump-llb --dot | dot -Tsvg

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-17 14:24:19 -07:00
Tonis Tiigi 5c2e675d18 source: add local file source fundamentals
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-12 23:23:20 -07:00
Akihiro Suda 405cc8d79f Merge pull request #70 from tonistiigi/no-progress
buildctl: non-interactive output support
2017-07-13 13:17:40 +09:00
Tonis Tiigi 1d68603584 buildctl: non-interactive output support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-12 21:09:56 -07:00
Tonis Tiigi c1c3eefadc util: add profiling helpers for binaries
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-12 20:05:07 -07:00
Akihiro Suda 6ac87fd744 support building on windows (no functional worker yet)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-07-12 06:43:30 +00:00
Tonis Tiigi 45bfdd5e42 exporter: add image exporter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-10 23:29:14 -07:00
Tonis Tiigi 04b9e02a2d buildctl: remove dump-bolt command
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-06 10:13:31 -07:00
Tonis Tiigi 2c5ff4fc59 metadata: switch value encoding to json.RawMessage
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-05 23:32:36 -07:00
Akihiro Suda af3271d520 buildctl debug: dump-{llb,metadata,bolt}
- dump-llb: renamed from old `dump`. Now supports specifying LLB by
filename as well (for consistency with other commands)
- dump-metadata: new command for dumping metadata.db
- dump-bolt: new command for dumping arbitrary boltdb file

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-07-06 05:12:10 +00: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
Akihiro Suda 6f7452ddf1 Merge pull request #49 from tonistiigi/du-update
Fixes for du view and releasing
2017-07-03 16:09:11 +09:00
Tonis Tiigi 159044aa05 buildd: enable debug handlers
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-02 23:54:17 -07:00
Tonis Tiigi 6d1400a507 cache: fix reclaimable data view
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-30 22:24:32 -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
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 63fc74a0b1 buildctl: use json for debugging
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-21 15:03:20 -07:00