Commit Graph

727 Commits (13665367df7421a8900f69a5ce641fbab9fe21b7)

Author SHA1 Message Date
Akihiro Suda 0e916c2697
Merge pull request #1717 from tonistiigi/run-mount-stable
dockerfile: update run mounts to stable channel
2020-10-06 08:19:03 +09:00
Tonis Tiigi 906e34510d dockerfile: update run mounts to stable channel
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-10-04 22:22:08 -07:00
Tonis Tiigi 44f27708b3 frontend: make sure inputs support for frontends is detectable from client
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-10-04 10:44:16 -07:00
Akihiro Suda 78f3e86dc1
Merge pull request #1627 from coryb/gateway-exec-proto
update gateway to add ability to run and exec into containers
2020-10-04 20:11:45 +09:00
Ximo Guanter da8ebc8a39 Make HTTP/2 authority pseudo-header spec-compliant
Signed-off-by: Ximo Guanter <ximo.guanter@gmail.com>
2020-10-03 22:58:21 +02:00
Cory Bennett 398593b61d Simplify rpc exec exit error handling
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 21:35:51 +00:00
Cory Bennett 2f0738c47a Default Cwd to "/"
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 20:54:00 +00:00
Cory Bennett d1a14ae768 use grpc typed error for ExitMessage error
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 07:36:45 +00:00
Cory Bennett e824c5e916 fix linting error
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 07:17:47 +00:00
Cory Bennett 095a919c95 remove unnecessary MountManager interface
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 06:24:34 +00:00
Cory Bennett ea3bc24b7c Move SecurityMode to InitMessage from NewContainer message so it can be per process
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 05:36:33 +00:00
Cory Bennett 03e1c199a3 remove SessonManager from FrontendLLBBridge, adding as arg to Frontend.Solve
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-10-02 01:59:05 +00:00
Tonis Tiigi c810b8ed25 dockerfile: allow multiple values for ARG
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-09-22 11:56:51 -07:00
Tonis Tiigi ebf0194d51 client: allow build callback to return nil result
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-09-16 19:36:16 -07:00
Cory Bennett 5fcf6dd426 update gateway exec mount tests to verity ssh and secret mounts
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-17 00:13:06 +00:00
Cory Bennett 3cc8aa0649 move ExecOps mounting logic into new package so logic can be reused from gateway exec
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-15 07:01:42 +00:00
Cory Bennett dc3d45de87 make GrpcClient implement gateway.client.Client
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-13 20:41:18 +00:00
Tonis Tiigi b18c08c4ab fix tests after busybox update
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-09-11 23:24:55 -07:00
Cory Bennett 2a409e2140 fix case on error messages
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-11 20:31:37 +00:00
Cory Bennett 7b4414f72d remove unnecessary gateway container interface
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-11 17:13:01 +00:00
Cory Bennett b97b1a58f7 add capability entry for gateway exec
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-03 05:59:00 +00:00
Cory Bennett 8df17c83cc cleanup release on error logic for gateway NewContainer
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-09-01 22:45:20 +00:00
Cory Bennett 355e937e15 update gateway to add ability to run and exec into containers
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-08-31 21:13:59 +00:00
Wang Yumu 882fc73790 build-arg add support BUILDKIT_SYNTAX
Signed-off-by: Wang Yumu <37442693@qq.com>
2020-08-18 18:05:57 +08:00
Paul "TBBle" Hampson 31195373cf Don't rely on sh being in the PATH on Windows for tests
Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
2020-07-28 18:07:20 +10:00
Tonis Tiigi 5da4a40ae8 lint: enable more linters
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-19 09:28:36 -07:00
Tonis Tiigi bd3354fea3 session: avoid deprecated grpc.Stream type
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-19 09:28:36 -07:00
Tonis Tiigi 3e9c84ff86 avoid returning private type from public function
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-19 09:28:36 -07:00
Tonis Tiigi e4aaec2fea package name fixes
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-19 09:28:36 -07:00
Tonis Tiigi c8190b1518 lint: enable golint
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-19 09:28:24 -07:00
Tonis Tiigi 57a88b0afb lint: add misspell and unused
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-18 08:13:57 -07:00
Tonis Tiigi 04233f90b3 replace gometalinter with golangci linter
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-18 08:13:48 -07:00
Tonis Tiigi 8247b7b50b integration: increase timeouts
Set the limit high enough to ensure failure in CI
signals a bug

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-17 19:30:40 -07:00
Cory Bennett a23754fca1 Release needs context.TODO() so if ctx is cancelled the refs can be cleaned up
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-07-17 02:08:03 +00:00
Cory Bennett 441b76947b update FrontendLLBBridge to be composed of Executor
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-07-17 01:05:22 +00:00
Cory Bennett 6a56695d3a remove `Get` prefix from Executor/CacheManager funcs and update to avoid naming conflicts
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-07-17 00:54:15 +00:00
Cory Bennett 453c76d29e add Run/Exec to FrontendLLBBridge interface
Signed-off-by: Cory Bennett <cbennett@netflix.com>
2020-07-16 23:20:14 +00:00
Paul "TBBle" Hampson 25f50eb711 Wrap original error when failing to read download context
Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
2020-07-17 02:35:16 +10:00
Paul "TBBle" Hampson 156d66da02 Revert "Pin containerd runtime to v1"
This reverts commit 9290c15ffc.

This was pinned during the upgrade to containerd 1.3 series, which
changed the default runtime on Linux to io.containerd.runc.v2.

No specific rationale was listed for this pinning, and clearly it's the
wrong thing to do in the presence of Windows, which does not have this
runtime.

Instead, we rely on the containerd-internal defaults, which distinguish
the runtimes for Linux and Windows.

Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
2020-07-16 15:06:20 +10:00
Tonis Tiigi 2e9987ad16 session: track sessions with a group construct
Avoid hidden session passing and allow one session to drop when
multiple builds share a vertex.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-05 00:15:25 -07:00
Erik Sipsma 463ec47ba0 client test: Fix check for whether sandbox has containerd
Before this, the check was always returning that containerd wasn't running and
thus skipping the rest of several test cases.

Signed-off-by: Erik Sipsma <erik@sipsma.dev>
2020-06-21 20:42:53 -07:00
Chenbin b7fd382230 add chmod in COPY and ADD command
Signed-off-by: Chenbin <chen.bin11@zte.com.cn>
2020-06-10 21:37:46 +08:00
Tonis Tiigi cc88b8f4f4 increase test context timeouts
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-06-06 15:48:55 -07:00
Edgar Lee 7c81e16b8a Fix duplicate source maps and fix issue preventing multiple locations per source map
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-05-20 18:48:20 -07:00
Edgar Lee 59fa9fc9a0 Allow multiple source locations to be added as a constraint
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-05-20 16:48:44 -07:00
Edgar Lee 7a90a36b46 Support multiple source maps and locations for source-level stacktraces
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-05-20 16:17:35 -07:00
Tonis Tiigi 6dee7ee0fc dockerfile: add source mapping tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-05-19 17:22:21 -07:00
Tonis Tiigi 75d64ffb4a fix proto indentions
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-05-18 15:50:08 -07:00
Tonis Tiigi e536302180 dockerfile: keep mapping on #syntax error
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-05-18 15:50:08 -07:00
Tonis Tiigi 6073e6cff3 llb: enable source tracking
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-05-18 15:50:03 -07:00
Tonis Tiigi 1f9599aba3 llb: move source mapping to llb metadata
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-05-18 15:49:41 -07:00
Jörg Franke 5f23bdf9d0 Expand chown value of ADD command
Signed-off-by: Jörg Franke <359489+NewJorg@users.noreply.github.com>
2020-05-02 19:37:23 +02:00
Tonis Tiigi 90288ab716 errdefs: update to new packages
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-24 11:25:44 -07:00
Tonis Tiigi 725f5e1207 grpc interceptors for errors
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-22 18:31:32 -07:00
Tonis Tiigi 2fc9aee26f Revert "grpc: add error handling wrappers to client/server"
This reverts commit 3f77f0495b.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-22 18:31:27 -07:00
Tonis Tiigi 4b2636acca dockerfile: add more source information to errors
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 23:46:17 -07:00
Tonis Tiigi abbda4e941 errdefs: attach source to an error
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 23:46:17 -07:00
Tonis Tiigi cce301badd solver: attach causing vertex in an error
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 23:46:17 -07:00
Tonis Tiigi ae3b75d56d errdefs: report component version in stack
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 23:46:17 -07:00
Tonis Tiigi e4cc0866f5 gateway: fix error details passing through gateway
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 23:46:17 -07:00
Tonis Tiigi 3f77f0495b grpc: add error handling wrappers to client/server
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 23:46:11 -07:00
Tonis Tiigi bb484dcce3 dockerfile: remove IsUnknownInstruction
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-21 10:44:24 -07:00
Tõnis Tiigi 29ade013e1
Merge pull request #1452 from tonistiigi/parse-errors
dockerfile: include parser error location
2020-04-21 10:40:25 -07:00
Tõnis Tiigi bbd14d2852
Merge pull request #1449 from tonistiigi/gateway-metadata
gateway: fix metadata getting lost on subsolve
2020-04-21 10:40:10 -07:00
Tonis Tiigi e2835e55ad dockerfile: store error location in instructions parser
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-19 20:56:31 -07:00
Tonis Tiigi ea7a9146a2 dockerfile: include parser error location
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-19 15:54:58 -07:00
Tonis Tiigi 37b8832d00 upgrade errors checks to Is()
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-18 22:53:38 -07:00
Tonis Tiigi de5af7d6c2 gateway: add cap to detect metadata support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-17 16:18:47 -07:00
Tonis Tiigi 6436583992 gateway: fix metadata getting lost on subsolve
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-17 16:13:33 -07:00
Tonis Tiigi c157d8a3ef dockerfile: remove mix of testing frameworks
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-14 22:05:41 -07:00
Tonis Tiigi f2307db707 dockerfile: nicer subtest cases in parser tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-14 22:05:41 -07:00
Tonis Tiigi 7c0493de8d dockerfile: fix parsing multiple directives
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-04-14 22:04:53 -07:00
Sam Whited c62983bbde all: run integration tests against dockerd
Signed-off-by: Sam Whited <sam@samwhited.com>
2020-04-08 23:27:17 -07:00
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
Akihiro Suda 7b579cdb98 vendor: update containerd (and various packages)
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-02-28 10:24:10 +09:00
Tonis Tiigi a60ecfa4ae vendor: restore dependency versions
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-02-24 17:31:01 -08:00
Zach Badgett 1efe7b145d Fix docker dependencies
Signed-off-by: Zach Badgett <zach.badgett@gmail.com>
2020-02-24 15:47:32 -08:00
Edgar Lee 5ec7bc7713 Change FrontendInputs in backend API definitions to *pb.Definition
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-02-24 14:38: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
Edgar Lee 635e7f0ce0 Change wire format from ref arrays to singular refs while maintaining backwards compatibility
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-02-21 13:58:28 -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
Akihiro Suda 2f5ad30ae5
Merge pull request #1351 from tonistiigi/security-devices
mount whitelist of devices on insecure security mode
2020-02-14 16:52:26 +09:00
wingkwong 37628cd117 Fix typos
Signed-off-by: wingkwong <wingkwong.code@gmail.com>
2020-02-10 20:59:04 +08:00
Tonis Tiigi 8cfe2de889 solver: evaluate solve results lazily
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-02-05 15:29:43 -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 f937656b1a Verify platform is stored in state directly in defop test
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-23 11:02:40 -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
Akihiro Suda 2949a7d442
Merge pull request #1324 from tonistiigi/onbuild-clear
dockerfile: clear onbuild rules after triggering
2020-01-15 12:30:14 +09:00
Akihiro Suda e7d97db9aa
Merge pull request #1329 from hinshun/fix/1327
Detect support for protobuf array ref on server on frontend return call
2020-01-15 12:24:56 +09:00
Edgar Lee d81832cf6c Detect support for protobuf array ref on server on frontend return call
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-01-14 17:16:21 -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
Akihiro Suda f7cf4823f7
Merge pull request #1269 from hinshun/ref-array
Change result type to array of refs
2019-12-18 12:32:27 +09:00
Edgar Lee 359574093b Add erroring on multi-result arrays
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2019-12-16 14:12:30 -08:00
Edgar Lee 7562a6638a Fix empty string id in result ref
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2019-12-05 11:10:05 -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
Edgar Lee b622a87c5d Change result type to array of refs
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2019-11-19 14:00:32 -08: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
Tonis Tiigi 0f1c7d0412 session: use errors cause
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-06-06 21:15:21 -07: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
Tibor Vass f238f1efb0
Merge pull request #1002 from tonistiigi/cwd-user
executor: make sure cwd created with correct user
2019-05-13 11:22:23 -07:00
Tonis Tiigi ae6c887689 grpcclient: set timeout for ping request
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-05-11 22:42:19 -07:00
Tonis Tiigi 649f68aae2 gateway: handle grpc errors
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-05-11 22:42:19 -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 632797cef0 vendor: udpate fsutil to b4281fa
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-05 17:34:01 -08: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