Tonis Tiigi
40e270a2e6
llb: set unique ID to local sources without session
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-07-09 16:27:12 -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
Akihiro Suda
1b34bd1e31
Merge pull request #464 from tonistiigi/image-platform
...
platform support for image and dockerfile
2018-06-27 14:36:02 +09:00
Tonis Tiigi
e618878451
dockerfile: platform support
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-25 11:06:08 -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
Tonis Tiigi
b444b9f323
llbsolver: validate runtime platforms for exec op
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-25 10:38:03 -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
25d975ce6e
llb: define platforms types
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-22 16:49:03 -07:00
Tonis Tiigi
ccbf185006
llbsolver: allow sharing modes for cache mounts
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-19 15:57:20 -07:00
Tonis Tiigi
3c973bacfe
llbsolver: allow concurrent cache mount access
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-08 20:02:30 -07:00
Tonis Tiigi
6f569455d0
dockerfile: enable tmpfs mounts on run —mount
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-08 13:42:38 -07:00
Tonis Tiigi
596b03a8a0
llbsolver: allow tmpfs mounts
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-08 13:05:14 -07:00
Akihiro Suda
60344aa592
Merge pull request #442 from tonistiigi/runmount
...
dockerfile: add run --mount support
2018-06-09 02:35:34 +09:00
Tonis Tiigi
055dcb6c09
local: allow followpaths for local source
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-07 23:23:13 -07:00
Tonis Tiigi
479419abf2
llbsolver: don’t error on readonly scratch mount
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-07 16:23:53 -07:00
Tonis Tiigi
1067c24df2
git: support all git transports
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-29 10:56:08 -07:00
Akihiro Suda
e2fc1a702d
Merge pull request #414 from tonistiigi/stdio-debug
...
exec: make stdio debugging optional
2018-05-26 06:59:04 +09: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
97ddeffdb2
exec: remove debug
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-25 10:45:10 -07:00
Tonis Tiigi
eefc49ff72
dockerfile: detect empty images early
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-22 16:54:04 -07: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
66488dc6d8
exec: support proxy settings
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-21 16:08:11 -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
692bdc8aa5
llbsolver: comments for exec op mount handling
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-15 12:09:59 -07:00
Tonis Tiigi
fc888e6413
solver: move cachestorage testsuite
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -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
335b1c3660
llbsolver: update for new cache variables
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-05-14 09:53:34 -07:00
Tonis Tiigi
75bc38c15b
client: add basic cache import test
...
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
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
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
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
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
Akihiro Suda
ecf2e8dbc9
llb: update docs
...
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-02-27 16:06:01 +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
Vincent Demeester
79e346f59a
Add deadcode to the linter
...
it tends to help keeping uneeded code out O:)
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2018-02-01 17:59:04 -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
b94704e55c
session: fix session closing and tracing
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-01-08 18:03:06 -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
Tonis Tiigi
dd49b92fd1
solver: add simple locking to catch content duplicated
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-20 16:42:09 -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
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
a4316d16c7
solver: split llbop pkg
...
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-18 16:20:59 +09:00
Tonis Tiigi
e58e6d1175
replace FollowSymlink with fs.RootPath
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-17 20:54:49 -08:00
Tonis Tiigi
2d3f36d359
source: add sharedkeyhint to local source
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-15 15:13:15 -08:00
Tonis Tiigi
08e1c2990c
dockerfile: add dockerignore support
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-15 15:03:35 -08:00
Tonis Tiigi
ad7c6a905c
source: add function for parsing llb to identifier
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-13 16:43:49 -08:00
Akihiro Suda
ead75c0d95
solver.mergeRemoteCache -> cache/instructioncache.Union
...
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-13 15:16:46 +09: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
Akihiro Suda
29e5bef684
solver: split llbbridge to a separate file (TODO: separate pkg)
...
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-13 14:47:09 +09:00
Tonis Tiigi
7a5390f355
worker: add support for custom user
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-12 10:26:30 -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
438c850a16
dockerfile: add original command metadata to llb
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-07 16:13:50 -08:00
Tonis Tiigi
68165c07f4
exporter: allow exporting config with no snapshots
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-04 23:18:09 -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
59628fb20f
add http source
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-12-02 19:52:15 -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
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
Tõnis Tiigi
dfb786a292
Merge pull request #143 from AkihiroSuda/refactor-ref
...
cache, solver: refactor Reference interface
2017-11-06 14:39:15 -08:00
Akihiro Suda
565d08914f
cache, solver: refactor Reference interface
...
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-11-06 06:30:16 +00:00
Tonis Tiigi
65dc07eb28
report imported cache lookup progress
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-15 20:41:47 +02:00
Tonis Tiigi
914ea2110b
cache: include os/arch in cache checksum
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-15 19:04:53 +02:00
Tonis Tiigi
7171f5a27d
cache: fix root snapshot cache lookup
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-15 19:00:23 +02:00
Tonis Tiigi
014a2dd8a1
cache: cache importing from a ref
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-13 15:38:08 -07: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
1b3f191b37
cache: base code for cache importing
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-12 17:53:28 -07:00
Tonis Tiigi
8e611643f7
cache: export cache to content store
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-12 15:04:33 -07:00
Tonis Tiigi
0fd670fb73
solver: allow access to cached references for exporting
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-12 11:23:42 -07:00
Akihiro Suda
0ee59e2bdf
Merge pull request #137 from tonistiigi/contentmask
...
solver: replace contentkey with contentmask
2017-10-07 09:47:38 +09:00
Tonis Tiigi
2716524dee
exclude selector from content based input hash
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-06 15:43:48 -07:00
Tonis Tiigi
53018a8113
solver: replace contentkey with contentmask
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-05 19:58:05 -07:00
Tonis Tiigi
59910481ca
solver: make nested build use solverequest
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-05 17:51:04 -07:00
Tonis Tiigi
23a114a977
solver: simplify solver public api
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-10-05 10:05:38 -07: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
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
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
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
d258bcab7b
dockerfile: clean up converter
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-22 10:49:19 -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
fd0f7ee2a8
frontend: fix dockerfile frontend resolver
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-15 18:09:28 -07:00
Tonis Tiigi
4c22f6c25a
frontend: share attributes to exporter
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-15 18:09:28 -07:00
Akihiro Suda
a26eba7cda
fix for read-only mount
...
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-09-14 06:42:12 +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
4040029810
dockerfile: improve copy implementation
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-09-01 19:27:54 -07: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
Tonis Tiigi
eb7b5bb76a
contenthash: use selector for content path
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-08-21 17:07:24 -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
Tonis Tiigi
9f6d9a9e78
exporter: add local exporter
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-08-04 17:12:19 -07:00
Tonis Tiigi
8738929b8c
solver: implement content based cache support
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-08-04 10:03:26 -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
38ac00090c
cache: add more metadata values to snapshots
...
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-07-26 11:28:20 -07:00