Commit Graph

1587 Commits (1814a0163a109974c3187ca5c41e8db5f2b78f4f)

Author SHA1 Message Date
Tõnis Tiigi c9dc8352a4
Merge pull request #656 from AkihiroSuda/cap-ssh
define CapMountSSH
2018-10-02 23:21:17 -07:00
Tõnis Tiigi 083d8b6ad9
Merge pull request #662 from AkihiroSuda/update-rootlesskit
update rootlesskit
2018-10-02 23:18:07 -07:00
Tõnis Tiigi 8b920d1dbf
Merge pull request #655 from AkihiroSuda/df-ssh
dockerfile: add support for RUN --mount=type=ssh
2018-10-02 23:16:01 -07:00
Tonis Tiigi b26e666db9 solver: fix opentracing providers
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-02 23:11:17 -07:00
Akihiro Suda 758a267235 s/CapMount/CapExecMount/g
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-03 15:03:36 +09:00
Akihiro Suda f542300a10 client/llb: fix cap marshalling
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-03 15:02:08 +09:00
Akihiro Suda 900a1b96c4 define CapMountSSH
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-03 15:00:10 +09:00
Akihiro Suda 40c8b4828a update rootlesskit
For fix subgid interpretation (rootless-containers/rootlesskit@7c48b83f9c)

Full changes: https://github.com/rootless-containers/rootlesskit/compare/20b0fc...d843aa

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-03 14:57:25 +09:00
Akihiro Suda fa92effc4b dockerfile: add support for RUN --mount=type=ssh
* Needs to be compiled with `dfrunmount dfssh`
* Implemented options:
 * `type`(required): needs to be `ssh`
 * `target`(optional): the socket path in the container
 * `id`(optional): id

Test script:

	#!/bin/bash
	set -exu -o pipefail
	REF=localhost:5000/dfssh:latest
	ssh-add -l
	sudo buildctl build --frontend=dockerfile.v0 --local context=. --local dockerfile=frontend/dockerfile/cmd/dockerfile-frontend \
	  --frontend-opt "build-arg:BUILDTAGS=dfrunmount dfssh" \
	  --exporter=image --exporter-opt name=$REF --exporter-opt push=true
	mkdir -p /tmp/foo
	cd /tmp/foo
	cat << EOF > Dockerfile
	# syntax=$REF
	FROM alpine
	RUN apk add --no-cache openssh-client
	RUN mkdir -p -m 0700 ~/.ssh && ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
	RUN --mount=type=ssh ssh git@gitlab.com
	# "Welcome to GitLab, @GITLAB_USERNAME_ASSOCIATED_WITH_SSHKEY" should be printed here
	EOF
	sudo buildctl build --ssh default=$SSH_AUTH_SOCK --progress=plain --frontend=dockerfile.v0 --local context=. --local dockerfile=.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-03 14:53:43 +09:00
Tibor Vass b9859b2d49 dockerfile: RUN's CustomName no longer consume quotes and only replaces environment variables if set
```
FROM alpine
RUN echo "Hey $name"
```

When building the above Dockerfile, the RUN command used to show: `echo Hey `
With this patch it now shows `echo "Hey $name"`.

However, because it is very useful for debugging to see the values variables can take,
they are expanded if set.

```
FROM alpine
ENV name=Jude
RUN echo "Hey $name"
```

Building the above Dockerfile makes the RUN command show: `echo "Hey Jude"`.

Signed-off-by: Tibor Vass <tibor@docker.com>
2018-10-03 02:41:51 +00:00
Akihiro Suda cc8d59ecb0
Merge pull request #659 from tonistiigi/fix-dfextall
dockerfile: fix building dfextall
2018-10-03 10:31:39 +09:00
Tonis Tiigi d40d557692 dockerfile: fix building dfextall
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-02 10:33:18 -07:00
Tõnis Tiigi 259d39ff42
Merge pull request #652 from tiborvass/fix-build-arg-run-output
dockerfile: substitute build args in addition to env vars in RUN's CustomName
2018-10-02 09:48:01 -07:00
Tõnis Tiigi f14886ac1d
Merge pull request #650 from tonistiigi/solver-test
solver: add TestSlowCacheAvoidLoadOnCache test
2018-10-01 10:57:11 -07:00
Tibor Vass 38198bd5c3 dockerfile: substitute build args in addition to env vars in RUN's CustomName
Example Dockerfile:

 FROM busybox
 ARG foo=abc
 ENV bar=def
 RUN echo $foo $bar $baz

Output without fix:

 #5 [2/2] RUN echo  def
 #5       digest: sha256:647df948c9689163efaf92b24b38779bc9f8b350482ecc3de3533f86a544c196
 #5         name: "[2/2] RUN echo  def "
 #5      started: 2018-09-29 19:01:11.376665368 +0000 UTC
 #5 0.764 abc def
 #5    completed: 2018-09-29 19:01:12.320141054 +0000 UTC
 #5     duration: 943.475686ms

Output with fix:

 #5 [2/2] RUN echo abc def
 #5       digest: sha256:647df948c9689163efaf92b24b38779bc9f8b350482ecc3de3533f86a544c196
 #5         name: "[2/2] RUN echo abc def "
 #5      started: 2018-09-29 19:01:11.376665368 +0000 UTC
 #5 0.764 abc def
 #5    completed: 2018-09-29 19:01:12.320141054 +0000 UTC
 #5     duration: 943.475686ms

Signed-off-by: Tibor Vass <tibor@docker.com>
2018-09-29 19:07:01 +00:00
Tõnis Tiigi 3bc8b24fe0
Merge pull request #637 from ijc/llb-image-default-path
Push setting of default PATH down into the executor(s)
2018-09-28 08:37:19 -07:00
Ian Campbell 720d8327e2 Push setting of default PATH down into the executor(s)
Setting the default `PATH` in the `llb.State` on the client side means it
depends on the `GOOS` of the buildkit client, rather than of the environment
where it will actually execute.

Instead defer this to execution time and insert the default PATH at that point
if one is not present. Doing this in solver/llbsolver/ops/exec covers all
executors and also avoids breaking the cache.

Client compatibility is handled via a new capability.

Fixes #604

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-09-28 14:16:47 +01:00
Ian Campbell 6e773ab708 Add `SetDefault` to `EnvList`
This sets an envvar only if it is not already set.

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-09-28 13:42:35 +01:00
Tibor Vass e9e9503848
Merge pull request #651 from tonistiigi/concurrent-map-fix
imagerefchecker: fix concurrent map access
2018-09-27 17:41:27 -07:00
Tonis Tiigi e210ffc72e imagerefchecker: fix concurrent map access
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-27 17:12:35 -07:00
Tonis Tiigi 3a1f59f85f solver: add TestSlowCacheAvoidLoadOnCache test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-27 15:03:56 -07:00
Tibor Vass 8f4dff0d16
Merge pull request #648 from tonistiigi/solver-early
solver: fix early resolution of cache-fast deps
2018-09-27 14:07:21 -07:00
Tibor Vass 7142c1371e
Merge pull request #647 from tonistiigi/cancel-error
runcexecutor: make sure to return canceled
2018-09-27 14:01:50 -07:00
Tonis Tiigi a711fbb8f3 solver: fix early resolution of cache-fast deps
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-26 18:25:33 -07:00
Tonis Tiigi f99352fee1 solver: make sure to return proper canceled errors
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-26 17:38:16 -07:00
Tibor Vass 66fcbd1258
Merge pull request #645 from tonistiigi/update-copy
dockerfile: add test for chown destination
2018-09-26 10:47:52 -07:00
Tõnis Tiigi 39149aa148
Merge pull request #646 from tonistiigi/32bit
gc: fix build on 32bit
2018-09-26 10:23:12 -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 25bfc57e9e dockerfile: add test for chown destination
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-25 23:10:17 -07:00
Tõnis Tiigi e04e16c836
Merge pull request #641 from tonistiigi/llb-caps-check
gateway: allow access to apicaps
2018-09-25 09:02:40 -07:00
Tibor Vass a927eaf23a
Merge pull request #638 from tonistiigi/checksum-symlinks
contenthash: fix issues on symlinks on parent paths
2018-09-24 18:10:41 -07:00
Tonis Tiigi 895950cecf executor: fix submount symlink resolution
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-24 17:42:38 -07:00
Tonis Tiigi f6e104da5f gateway: allow access to apicaps
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-21 15:33:41 -07:00
Tõnis Tiigi 96fb40e5f9
Merge pull request #639 from hinshun/snapshot-typo
Fix typo in error getting diff pairs
2018-09-21 14:59:55 -07:00
Edgar Lee 688972691f Fix typo in error getting diff pairs 2018-09-21 13:56:05 -07:00
Tonis Tiigi f6352a305f dockerfile: add symlink copy tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-21 13:16:57 -07:00
Tonis Tiigi 9bf5431b75 contenthash: fix issues on symlinks on parent paths
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-21 13:16:52 -07:00
Tonis Tiigi a93a96b0e3 contenthash: use require in all tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-21 11:19:15 -07:00
Tõnis Tiigi 39404586a5
Merge pull request #622 from tonistiigi/df-modes-switch
dockerfile: enable frontend selection in integration tests
2018-09-20 14:44:11 -07:00
Tibor Vass 03a7f6dd1b
Merge pull request #636 from tonistiigi/runc-cancel
runc: fix process leak on cancellation
2018-09-20 11:32:11 -07:00
Tonis Tiigi bb3dc1b918 runc: fix process leak on cancellation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-20 11:06:40 -07:00
Tibor Vass 9890dda814
Merge pull request #634 from tonistiigi/schema1-config-fix
imageutil: fix getting schema1 configs
2018-09-19 15:50:52 -07:00
Tonis Tiigi 7615f02078 dockerfile: avoid detecting schema1 configs as empty
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-19 14:09:37 -07:00
Tonis Tiigi fe71cd39bd imageutil: fix getting schema1 configs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-19 14:09:32 -07:00
Tibor Vass cb0d51cca3
Merge pull request #630 from tonistiigi/cleanup
golint and misspell cleanup
2018-09-19 12:01:45 -07:00
Tonis Tiigi 2ab0922500 dockerfile: enable frontend selection in integration tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-18 22:07:38 -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
Tonis Tiigi a0d7ed9da0 integration: add passing matrices of options
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-18 22:07:38 -07:00
Tonis Tiigi ae321cc9cf cache: remove the unused old gc primitives
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-18 22:06:47 -07:00
Tonis Tiigi 0940cdc6fe update golint comments
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-18 22:06:47 -07:00