Commit Graph

535 Commits (be6de5138bf23883f689aa37b57bef76e4b04ad2)

Author SHA1 Message Date
Tonis Tiigi 1a9d366b49 llb: asyncronous llb graph generation support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-03 14:55:10 -07:00
Andrea Luzzardi e7150dcfef dockerfile: forward FrontendInputs to the gateway
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2020-03-26 17:38:12 -07:00
Pratik Raj 2910de68b1 optimization debian package manager tweaks
By default, Ubuntu or Debian based "apt" or "apt-get" system installs recommended but not suggested packages .

By passing "--no-install-recommends" option, the user lets apt-get know not to consider recommended packages as a dependency to install.

This results in smaller downloads and installation of packages .

Refer to blog at [Ubuntu Blog](https://ubuntu.com/blog/we-reduced-our-docker-images-by-60-with-no-install-recommends) .

Signed-off-by: Pratik Raj <rajpratik71@gmail.com>
2020-03-11 15:27:54 +05:30
Tonis Tiigi a60ecfa4ae vendor: restore dependency versions
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-02-24 17:31:01 -08:00
Edgar Lee 7e0f923181 Implement CapFrontendInput to pass llb.States to frontends
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-02-24 14:38:01 -08:00
Tibor Vass adde225dcb
Merge pull request #1180 from Code0x58/expand-expansion
Expand shell variable expansion - add mandatory variables
2020-02-20 17:26:06 -08:00
wingkwong 37628cd117 Fix typos
Signed-off-by: wingkwong <wingkwong.code@gmail.com>
2020-02-10 20:59:04 +08:00
Tonis Tiigi 8f52339933 dockerfile: add test for whitelisted devices
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-01-30 18:43:04 -08:00
Edgar Lee c83e8bf2a9 Add gateway apicap for CapReferenceOutput and move reference llb.Output to method ToOutput()
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-23 11:36:30 -08:00
Edgar Lee 0a76749067 Add platform defop test, force renames in copy tests, and move forwarded solve test to dockerfile package
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-23 11:02:40 -08:00
Edgar Lee 2edb431a0f Allow previous solve results to be used in new solves
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-23 11:02:40 -08:00
Tonis Tiigi 393f388ed3 dockerfile: clear onbuild rules after triggering
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-01-13 17:09:28 -08:00
Sebastiaan van Stijn 2105de3499
frontend/dockerfile: show original stagename in error-message
Before this change, the error message would show the invalid name in lowercase:

    docker build -<<'EOF'
    FROM busybox AS foo:$BAR
    EOF

    [+] Building 0.2s (2/2) FINISHED
    => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                             0.0s
    => => transferring dockerfile: 67B                                                                                                                                                                                                                                                                                                                              0.0s
    => [internal] load .dockerignore                                                                                                                                                                                                                                                                                                                                0.1s
    => => transferring context: 2B                                                                                                                                                                                                                                                                                                                                  0.0s
    failed to solve with frontend dockerfile.v0: failed to create LLB definition: Dockerfile parse error line 1: invalid name for build stage: "foo:$bar", name can't start with a number or contain symbols

With this patch, the invalid stagename is shown as-is

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-11-26 13:50:40 +01:00
Oliver Bristow 8a81a83222 Add IEEE 1003.1 mandatory variable interpolation syntax
See https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_02

Signed-off-by: Oliver Bristow <oliver.bristow@project-tracr.com>
2019-11-08 17:47:18 +00:00
Tonis Tiigi 9654e5eeda dockerfile: fix copy symlinks on copied dir
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-10-28 22:10:05 -07:00
Sebastiaan van Stijn 59bf16c017
frontend: add padding to align steps in stage
This adds padding, so that the output of stages
that have 10 steps or more align better;

Before:

     => [dev 1/24] RUN groupadd -r docker                                        0.7s
     => [dev 2/24] RUN useradd --create-home --gid docker unprivilegeduser       1.0s
     => [dev 3/24] RUN ln -sfv /go/src/github.com/docker/docker/.bashrc ~/.bas   0.9s
     => [dev 4/24] RUN echo "source /usr/share/bash-completion/bash_completion"  1.0s
     => [dev 5/24] RUN ln -s /usr/local/completion/bash/docker /etc/bash_c       0.8s
     => [dev 6/24] RUN ldconfig                                                  1.6s
     => [dev 7/24] RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,    44.8s
     => [dev 8/24] RUN pip3 install yamllint==1.16.0                             4.0s
     => [dev 9/24] COPY --from=swagger /build/swagger* /usr/local/bin/           0.2s
     => [dev 10/24] COPY --from=frozen-images /build/ /docker-frozen-images      2.0s
     => [dev 11/24] COPY --from=golangci_lint /build/ /usr/local/bin/            0.3s
     => [dev 12/24] COPY --from=gotestsum /build/ /usr/local/bin/                0.3s

After:

     => [dev  1/24] RUN groupadd -r docker                                       0.7s
     => [dev  2/24] RUN useradd --create-home --gid docker unprivilegeduser      1.0s
     => [dev  3/24] RUN ln -sfv /go/src/github.com/docker/docker/.bashrc ~/.bas  0.9s
     => [dev  4/24] RUN echo "source /usr/share/bash-completion/bash_completion" 1.0s
     => [dev  5/24] RUN ln -s /usr/local/completion/bash/docker /etc/bash_c      0.8s
     => [dev  6/24] RUN ldconfig                                                 1.6s
     => [dev  7/24] RUN --mount=type=cache,sharing=locked,id=moby-dev-aptlib,   44.8s
     => [dev  8/24] RUN pip3 install yamllint==1.16.0                            4.0s
     => [dev  9/24] COPY --from=swagger /build/swagger* /usr/local/bin/          0.2s
     => [dev 10/24] COPY --from=frozen-images /build/ /docker-frozen-images      2.0s
     => [dev 11/24] COPY --from=golangci_lint /build/ /usr/local/bin/            0.3s
     => [dev 12/24] COPY --from=gotestsum /build/ /usr/local/bin/                0.3s

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-10-21 22:29:26 +02:00
Tonis Tiigi fef0996045 dockerfile: skip cni tests on rootless
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-09-05 16:49:48 -07:00
Tõnis Tiigi 0639e6fbc0
Merge pull request #1141 from Metaswitch/run-network-mode
Implement support for RUN --network=none|default|host
2019-09-05 16:38:23 -07:00
Andy Caldwell 17769771d4
Rename tests to be called tests
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-30 16:44:28 +01:00
Andy Caldwell d637340066
Fix up guard and add extra negative test
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-29 18:29:47 +01:00
Tibor Vass bd8f49ed58 dockerfile: add TestCopySocket test + vendor needed continuity fix
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-08-27 20:53:37 +00:00
Andy Caldwell 808ad65222
Add guard for CNI tests
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-27 14:43:22 +01:00
Andy Caldwell b939973129
Remove note about entitlement on dockerd
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-21 22:03:01 +01:00
Andy Caldwell 113e3133cd
Don't set network/security mode on stable dockerfile
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-21 13:08:22 +01:00
Michael Crosby 9290c15ffc Pin containerd runtime to v1
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-08-20 17:03:04 -07:00
Andy Caldwell 2ccafc16b7
Update documentation
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-20 19:23:07 +01:00
Andy Caldwell cc1b7b56c7
Add test that global network is applied if otherwise unspecified
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-20 14:57:31 +01:00
Andy Caldwell 588c07f9b4
Set RunOptions rather than modifying solve state
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-18 21:45:47 +01:00
Andy Caldwell 5ea3a003f7
Implement support for RUN --network=none|default|host
Signed-off-by: Andy Caldwell <andrew.caldwell@metaswitch.com>
2019-08-17 01:44:46 +01:00
Tõnis Tiigi 48f4a9b00e
Merge pull request #1132 from tonistiigi/keep-git
git: updates for keep git dir
2019-08-14 14:10:52 -07:00
Tonis Tiigi f417bf2150 git: updates for keep git dir
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-14 13:28:42 -07:00
Tonis Tiigi c114e438f5 remotecache: fix inline cache in manifest lists
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-13 16:25:08 -07:00
Akihiro Suda 2b2bdac1b8
Merge pull request #1125 from tonistiigi/relative-ignore
dockerfile: ignore relative source paths for compatibility
2019-08-10 13:54:37 +09:00
Tonis Tiigi f3960acce1 dockerfile: ignore relative source paths for compatibility
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-09 10:46:35 -07:00
Tonis Tiigi 872bf0b8c8 dockerfile: add cap for detecting correct nooutput support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-08 22:07:34 -07:00
Tonis Tiigi 360a856527 ops: fix readwrite mounts it no output
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-08 22:07:30 -07:00
Tonis Tiigi 96b6a28312 exporter: allow oci exporters visibility to response metadata
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-31 10:21:19 -07:00
Tibor Vass a2b7cf8379
Merge pull request #1095 from tonistiigi/workdir-exists
executor: ignore workdir if already exists
2019-07-29 17:08:26 -07:00
Tonis Tiigi 1ac116289d dockerfile: allow required key only for secret/ssh mounts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-29 15:47:54 -07:00
Tonis Tiigi add2c8db8a dockerfile: allow required flag to take value
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-26 16:54:20 -07:00
Tonis Tiigi 2cd19dbc34 executor: ignore workdir if already exists
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-26 16:28:43 -07:00
Tibor Vass 4eb6eef150
Merge pull request #1094 from tonistiigi/cache-ns
dockerfile: set optional cache ID namespace with build-arg
2019-07-26 16:28:39 -07:00
Tonis Tiigi 26d5ebd184 dockerfile: set optional cache ID namespace with build-arg
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-26 15:01:15 -07:00
Tonis Tiigi 6371e4a31f dockerfile: fix default cache IDs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-26 14:27:06 -07:00
Tibor Vass 4bba1b1f3d dockerfile: build args in history should honor env overrides
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-07-23 01:26:56 +00:00
Tibor Vass f4702ad490 dockerfile: move toEnvMap function to tests
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-07-23 01:26:56 +00:00
Tibor Vass a7e52bf76d dockerfile: fix handling of empty build-arg also used as env
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-07-23 01:26:56 +00:00
Tibor Vass 852765fa0b dockerfile: add test for empty build-arg also used as env
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-07-23 01:26:56 +00:00
Tonis Tiigi 69adb50902 hack: unbreak upgrade to buster
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-22 16:38:21 -07:00
Andrey Smirnov 86e19b621e Implement frontend support for RUN --security=insecure
Example:

    RUN --security=insecure cat /proc/self/status | grep CapEff
    #84 0.093 CapEff:	0000003fffffffff

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2019-07-19 01:01:42 +03:00
Tonis Tiigi 0cd68f6491 dockerfile: do not add linked and cache paths to context sources
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-11 17:11:59 -07:00
Tõnis Tiigi 21034f4234
Merge pull request #1064 from zabio3/using-rawstring-regex
Simplify regular expression by using raw string literal
2019-07-02 17:39:42 -07:00
Tonis Tiigi 717bb1d769 dockerfile: add test for formatting in env
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-01 16:55:17 -07:00
zabio3 be2691d06c using raw string literal
regular expressions have their own escape sequences, raw strings can improve their readability.
Signed-off-by: Tomohiro Kusumoto <zabio1192@gmail.com>
2019-06-30 12:24:25 +09:00
Nathan Sullivan 7c2b06fae9 export parser endLine (make public). StartLine is already public.
https://github.com/moby/buildkit/issues/1028

Signed-off-by: Nathan Sullivan <nathan@nightsys.net>
2019-05-31 13:48:02 +10:00
Tonis Tiigi aed5e98d92 dockerfile: allow uid/gid in cache mounts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-05-22 11:20:15 -07:00
Tonis Tiigi 858b4c7076 executor: make sure cwd created with correct user
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-05-11 22:11:26 -07:00
Stepan Blyshchak ea4bb024df [convert_test] add ut for circular dependency cases in dockerfile
Signed-off-by: Stepan Blyshchak <stepanblischak@gmail.com>
2019-05-11 19:48:18 +03:00
Stepan Blyshchak 981ee38406 [convert] move 'stageName = ""' in covert after checking for circular dependency
To have stageName in error output in case one stage depends on itself

Signed-off-by: Stepan Blyshchak <stepanblischak@gmail.com>
2019-05-11 18:25:22 +03:00
Stepan Blyshchak 98a6ff4fe2 apply gofmt
Signed-off-by: Stepan Blyshchak <stepanblischak@gmail.com>
2019-05-11 18:25:22 +03:00
Stepan Blyshchak ad4ae59aa6 [dockerfile2llb] check for circular dependency in convert
Signed-off-by: Stepan Blyshchak <stepanblischak@gmail.com>
2019-05-11 18:25:22 +03:00
Tonis Tiigi dcacc3985b hack: fix csv values
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-26 16:58:28 -07:00
Tonis Tiigi bb03ee6873 dockerfile: allow subdirs for remote contexts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-25 22:27:43 -07:00
Tonis Tiigi 427e2f0a5f exporter: put arm variant in the image config
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-22 18:01:30 -07:00
Tonis Tiigi 01f17243bb dockerfile: allow external dockerfile on remote context
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-17 23:50:15 -07:00
Tibor Vass bcd466a748
Merge pull request #941 from tonistiigi/http-session
http: allow uploads from session
2019-04-16 18:21:54 -07:00
Tõnis Tiigi 776c838951
Merge pull request #926 from pptime/35018-expandchown
Expand chown value of COPY command
2019-04-16 00:34:46 -07:00
Tonis Tiigi 4b97a7fed0 dockerfile: use fileop for http context
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-16 00:15:07 -07:00
Tonis Tiigi e4cb7b17f1 http: allow uploads from session
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-15 23:20:31 -07:00
Dave Chen 63771e60ec doc: make sure the intended message is redirected to file successfully
- suppress the irrelated warning message
- export `stderr` besides `stdout` to the output file

Signed-off-by: Dave Chen <dave.chen@arm.com>
2019-04-15 00:38:40 -07:00
Hao Hu 155bfa5a80 Test expanding chown value of COPY command
Signed-off-by: Hao Hu <hao.hu.fr@gmail.com>
2019-04-06 23:01:55 +02:00
Hao Hu 0248635269 Expand chown value of COPY command
Signed-off-by: Hao Hu <hao.hu.fr@gmail.com>
2019-04-06 10:53:05 +02:00
Tonis Tiigi 15ef4e2b8a dockerfile: allow content cache for rw mounts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-02 19:40:30 -07:00
Tibor Vass 29d65d206e
Merge pull request #921 from tonistiigi/tmpfs-readwrite
dockerfile: make tmpfs mount readwrite by default
2019-04-02 18:49:40 -07:00
Tonis Tiigi 502de0e0b4 dockerfile: make tmpfs mount readwrite by default
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-02 18:14:52 -07:00
Tonis Tiigi a6e29dcdd4 dockerfile: handle args with unset values
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-02 14:40:53 -07:00
Tonis Tiigi c1a1d7033d exporter: add tar exporter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-27 09:40:24 -07:00
Tibor Vass fe0b8a4ec7
Merge pull request #902 from tonistiigi/itegration-update
integration: generalize pkg
2019-03-26 16:35:12 -07:00
Tonis Tiigi 7e52b33bf8 integration: generalize pkg
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-21 23:49:08 -07:00
Tonis Tiigi 7ac4bf072f dockerfile: add dockerignore override support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-21 23:09:09 -07:00
Tõnis Tiigi e0f5c984dd
Merge pull request #898 from chendave/deprecated2
Stop using the deprecated flag "--frontend-opt" for build
2019-03-20 22:43:16 -07:00
Dave Chen 28c9923fc1 Stop using the deprecated flag "--frontend-opt" for build
This patch replace "--frontend-opt" to "--opt" for the place
where it is appliable.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2019-03-20 19:04:14 -07:00
Tibor Vass 9e8dfa72d3
Merge pull request #885 from tonistiigi/content-gc
content: fix setting wrong gc labels on config query
2019-03-20 18:52:41 -07:00
Dave Chen c7ac2f392a Stop using the deprecated way for build
Signed-off-by: Dave Chen <dave.chen@arm.com>
2019-03-19 19:01:31 -07:00
Tonis Tiigi 2dc7a133a2 content: fix setting wrong gc labels on config query
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-18 12:00:09 -07:00
Akihiro Suda a67ba78d9e
Merge pull request #809 from tonistiigi/fileop
llb: fileop implementation
2019-03-18 10:07:10 +09:00
Akihiro Suda cd89a8ce3d go 1.12
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-03-17 04:38:23 +09:00
Tonis Tiigi 5effbff314 dockerfile: improve symlinks copy tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tibor Vass 6fd30e7b43 dockerfile: add more tests to fix fileop
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi c6149da2eb fileop: review fixes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi f38d971b95 dockerfile: add matrix testing for non-fileop versions
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi 637bec7196 dockerfile: make fileop default
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi c57e5b22ea dockerfile: add regression test for wildcard cache
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi c4ef668f62 dockerfile: regression test for existing dest dir perms
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi 369f7482de dockerfile: regression test for wildcard unpack
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi 39ba2ede04 dockerfile: regression test for workdir creation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi bb11c8c5c9 dockerfile: empty wildcard regression test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi 0d17ac323e fileop: updates with new fsutil copy pkg
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:58 -07:00
Tonis Tiigi 8a4674bab4 fileop: add dockerfile support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:50 -07:00
Akihiro Suda 5c9f7b8ff0 buildctl: new CLI ("Option C+")
See https://github.com/moby/buildkit/pull/807#issuecomment-468146089

Close #774

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-03-06 13:20:21 +09:00
Tonis Tiigi 62697a93f7 dockerfile: allow custom context names
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-02-23 09:12:54 -08:00
Tibor Vass 175506ff7f hack: update scripts to be go mod compatible
Signed-off-by: Tibor Vass <tibor@docker.com>
2019-01-31 22:44:47 +00:00
Tõnis Tiigi 7679d6fa7d
Merge pull request #795 from tonistiigi/fmt-fix
client: avoid string formatting on custom vertex names
2019-01-23 08:30:08 -08:00
Tonis Tiigi c0371c908f client: avoid string formatting on custom vertex names
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-22 15:35:39 -08:00
Tonis Tiigi 03a2f79561 gateway: allow frontends without network
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-21 19:38:07 -08:00
Tonis Tiigi db3db1033d dockerfile: ensure metadata commands have created time
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-18 11:14:45 -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
Tõnis Tiigi 34ff9c2366
Merge pull request #771 from LinuxMercedes/error-on-empty-dockerfile
Have parser error on dockerfiles without instructions
2019-01-04 16:33:08 -08:00
linuxmercedes 2ec7d53b00 Parser errors on dockerfiles without instructions
See https://github.com/moby/moby/pull/38487 for more discussion.

Signed-off-by: Natasha Jarus <linuxmercedes@gmail.com>
2019-01-04 13:44:52 -06:00
Tonis Tiigi b521aae3ea dockerfile: allow setting file mode/uid for secrets
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-03 11:13:40 -08:00
Tonis Tiigi 2529762ae7 dockerfile: allow setting file mode/uid for ssh socket
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-01-03 11:13:34 -08:00
Tonis Tiigi 3926820e3a update dockerfile repo location
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-12-03 11:06:17 +01:00
Wei Fu 2a7287a189 dockerfile2llb/pipe: remove the useless assignment
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2018-11-28 19:44:53 +08:00
Tonis Tiigi 2e3058e62c dockerfile: allow symlinks on reading Dockerfile
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-11-20 18:15:41 -08:00
Tibor Vass bf8c057e68
Merge pull request #727 from tonistiigi/add-fix
dockerfile: avoid urls in context filter
2018-11-20 16:47:31 -08:00
Tonis Tiigi b3e4cdf0d8 dockerfile: document more mount options
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-11-19 10:10:10 -08:00
Tonis Tiigi c840e7967f dockerfile: avoid urls in context filter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-11-18 12:36:26 -08:00
Tonis Tiigi 9d3426d94f dockerfile: update image refs
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-11-07 17:51:02 -08:00
Tonis Tiigi ec2ab81a3b dockerfile: update copy source repo
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-11-06 11:14:59 -08:00
Akihiro Suda b5003d53eb update docs
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-11-01 16:17:26 +09:00
Akihiro Suda 03d15c8ff2 bump up tonistiigi/copy to v0.1.9
Fix #704 (CoreOS xattr issue)

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-31 13:30:26 +09:00
Tõnis Tiigi 85935a3d1e
Merge pull request #661 from tiborvass/dockerfile-shell-only-envvar
dockerfile: RUN's CustomName no longer consume quotes and only replaces environment variables if set
2018-10-29 11:04:07 -07:00
Tonis Tiigi 134e126aab dockerfile: add daily feature releases
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-23 22:43:21 -07:00
Tõnis Tiigi 50b36877f5
Merge pull request #695 from tonistiigi/dockerfile-release
dockerfile: add release tag deployments
2018-10-22 17:41:12 -07:00
Tonis Tiigi 945e100a8c dockerfile: disable network for copy
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-22 13:23:10 -07:00
Tonis Tiigi 918ee1988a dockerfile: add release tag deployments
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-17 14:11:09 -07:00
Tonis Tiigi 4c3050a26c dockerfile: setup master release deployment
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-16 21:01:33 -07:00
Akihiro Suda 0d80bd17a3
Merge pull request #687 from tonistiigi/dockerfile-testing
dockerfile: add testing external dockerfile features
2018-10-16 15:58:55 +09:00
Tonis Tiigi 12513ba394 dockerfile: remove dfextall build tag
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-15 22:27:13 -07:00
Tonis Tiigi 74754d6a6a dockerfile: add example mount test
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-15 22:27:13 -07:00
Tonis Tiigi 706fa2556a dockerfile: add testing external dockerfile features
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-15 22:27:07 -07:00
Akihiro Suda 048130d1d0 simplify rootless
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-10-16 14:05:58 +09:00
Tonis Tiigi 94a6c5c79d dockerfile: add test for empty copy directory
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-15 16:43:21 -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 af8b839283 dockerfile: fix empty dest directory panic
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-11 11:24:02 -07:00
Tonis Tiigi 2f8c7667d8 dockerfile: wrap reference parse error
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-08 23:15:10 -07:00
Akihiro Suda ab6a2dc83e
Merge pull request #669 from tonistiigi/update-copy
dockerfile: update default copy image
2018-10-06 11:11:49 +09:00
Tonis Tiigi 48ec136f1b dockerfile: update default copy image
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-05 14:35:33 -07:00
Tonis Tiigi 079b429c12 dockerfile: fix ssh required option
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-05 14:10:09 -07:00
Tibor Vass ef99a677c5 dockerfile: change output when loading Dockerfile
Previously, the output said "load Dockerfile from " + filename when the
file is not named Dockerfile. With this patch, it is changed to always
show "load build definition from " + filename.

This is because `# syntax = ...` can be put in non-Dockerfiles.

Signed-off-by: Tibor Vass <tibor@docker.com>
2018-10-04 20:52:15 +00: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
Tonis Tiigi d40d557692 dockerfile: fix building dfextall
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-02 10:33:18 -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
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
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
Tonis Tiigi f6352a305f dockerfile: add symlink copy tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-09-21 13:16:57 -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