Commit Graph

130 Commits (6409a07898817f9ccfd7d889a961897df429ebc5)

Author SHA1 Message Date
Tonis Tiigi 9e274c79c9 remove go fork for building windows/arm64
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2021-06-17 15:41:14 -07:00
Tonis Tiigi 8f50bae3f1 replace opentracing with opentelemetry tracers
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2021-06-15 21:11:27 -07:00
Tonis Tiigi 292f1faf12 add support for opentelemetry
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2021-06-15 21:11:22 -07:00
Tonis Tiigi b97d0f7dab vendor: update vt100 to fork and remove replace rule
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2021-06-15 19:30:51 -07:00
Sebastiaan van Stijn c98d24b054
Update docker/docker to master / v21.xx-dev (post libnetwork integration)
full diff: https://github.com/docker/docker/compare/v20.10.7..0ad2293d0e5b

This applies the same / similar local changes to buildkit as were made in
the branch that moby is currently vendoring:
https://github.com/moby/buildkit/compare/244e8cde...cpuguy83:update_libnetwork_import

Unfortunately, this (again) requires a "replace" rule (probably until we tagged
a release with this change). Go mod refuses to pick a version from master, and
(without the replace rule), does weird, reverting docker to a very old version,
predating the sirupsen rename:

    > [vendored 4/4] RUN --mount=target=/src,rw   --mount=target=/go/pkg/mod,type=cache   go mod tidy && go mod vendor &&   mkdir /out && cp -r go.mod go.sum vendor /out:
    #10 0.500 go: finding github.com/docker/docker 8dbd90ec00daa26dc45d7da2431c965dec99e8b4
    #10 0.599 warning: ignoring symlink /src/examples/kube-consistent-hash
    #10 1.027 go: github.com/moby/buildkit/util/testutil/integration imports
    #10 1.027       github.com/docker/docker/testutil/daemon imports
    #10 1.027 	github.com/docker/docker/opts imports
    #10 1.027 	github.com/docker/libnetwork/ipamutils imports
    #10 1.027 	github.com/docker/libnetwork/osl imports
    #10 1.027 	github.com/Sirupsen/logrus: github.com/Sirupsen/logrus@v1.8.1: parsing go.mod:
    #10 1.027 	module declares its path as: github.com/sirupsen/logrus
    #10 1.027 	        but was required as: github.com/Sirupsen/logrus
    ------
    error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c go mod tidy && go mod vendor &&   mkdir /out && cp -r go.mod go.sum vendor /out]: exit code: 1
    make: *** [vendor] Error 1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-06-09 19:31:25 +02:00
ktock 1764b3b249 Enable stargz snapshotter to use session for snapshot auth
Signed-off-by: ktock <ktokunaga.mail@gmail.com>
2021-06-09 16:10:08 +09:00
Sebastiaan van Stijn 89f23a84f6
go.mod: update docker and docker cli to v20.10.7
- pkg/signal: ignore SIGURG on all platforms
- pkg/archive: use v2 capabilities in layer archives
- update ishidawataru/sctp to fix possible socket leak when bind fails

docker/cli:

- config: print deprecation warning when falling back to ~/.dockercfg

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-06-05 13:58:11 +02:00
Aaron Lehmann 6f5ea71996 Back to master version of fsutil
Signed-off-by: Aaron Lehmann <alehmann@netflix.com>
2021-05-26 13:48:03 -07:00
Aaron Lehmann 7c13af37a4 Revendor updated fsutils fork; use same logic for IncludePatterns and ExcludePatterns
Signed-off-by: Aaron Lehmann <alehmann@netflix.com>
2021-05-26 13:48:03 -07:00
Aaron Lehmann 743bc1bf8b Revendor master version of fsutil
Signed-off-by: Aaron Lehmann <alehmann@netflix.com>
2021-05-26 13:48:03 -07:00
Aaron Lehmann 32e52f15bc Update vendored fsutil fork
Signed-off-by: Aaron Lehmann <alehmann@netflix.com>
2021-05-26 13:48:03 -07:00
Aaron Lehmann 7660af2f1d Add IncludePatterns and ExcludePatterns options for Copy
Allow include and exclude patterns to be specified for the "copy" op,
similarly to "local".

Depends on https://github.com/tonistiigi/fsutil/pull/101

Signed-off-by: Aaron Lehmann <alehmann@netflix.com>
2021-05-26 13:48:03 -07:00
Akihiro Suda bb45edc8c3
Bump stargz snapshotter to v0.5.0
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-05-04 17:46:26 +09:00
Akihiro Suda 58c359bc5e
go.mod: containerd v1.5.0
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-05-04 17:43:51 +09:00
Akihiro Suda 19fd8ca54f
go.mod: containerd v1.5.0-rc.2
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-04-21 03:43:35 +09:00
Sebastiaan van Stijn d23b1bbf2c
go.mod: update docker/docker and docker/cli to v20.10.5
includes updated seccomp profile

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-03-26 23:48:49 +01:00
Tõnis Tiigi 4e69662758
Merge pull request #2035 from AkihiroSuda/containerd-fuse-overlayfs-snapshotter
AkihiroSuda/containerd-fuse-overlayfs -> containerd/fuse-overlayfs-snapshotter
2021-03-23 23:51:53 -07:00
Tonis Tiigi fce365f469 vendor: update x/sys to 1e4c9ba for windows/arm64 support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2021-03-23 19:33:11 -07:00
Akihiro Suda ad681c0154
AkihiroSuda/containerd-fuse-overlayfs -> containerd/fuse-overlayfs-snapshotter
The repo has been moved.

Also bumps up containerd library to v1.5.0-beta.4.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-03-23 18:43:01 +09:00
Sebastiaan van Stijn 583b4679f6
go.mod: moby/sys/mount v0.2.0, moby/sys/mountinfo v0.4.1
github.com/moby/sys/mountinfo v0.4.1
-------------------------------------

- Fix PrefixFilter() being too greedy
- TestMountedBy*: add missing pre-checks
- Documentation improvements

github.com/moby/sys/mount v0.2.0
-------------------------------------

Breaking changes:

- Remove stub-implementations for Windows for Mount(), Unmount(), RecursiveUnmount(),
  MergeTmpfsOptions()

Fixes and improvements:

- go.mod: update github.com/moby/sys/mountinfo to v0.4.0
- use MNT_* flags from golang.org/x/sys/unix on freebsd
- add support for OpenBSD in addition to FreeBSD
- fix package overview documentation not showing
- RecursiveUnmount(): minor improvements

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2021-03-14 11:36:26 +01:00
Akihiro Suda 13ea18ad08
vendor containerd (requred for rootless overlayfs on kernel 5.11)
Required for rootless overlayfs on kernel 5.11
https://github.com/containerd/containerd/pull/5076

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2021-03-10 13:51:27 +09:00
ktock 072126f710 Bump stargz snapshotter to v0.4.1
Signed-off-by: ktock <ktokunaga.mail@gmail.com>
2021-02-24 12:09:14 +09:00
Tonis Tiigi f5962fca5e vendor: update testify
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2021-02-07 16:40:35 -08:00
ktock db794baea7 Bump github.com/containerd/stargz-snapshotter to v0.3.0
Signed-off-by: ktock <ktokunaga.mail@gmail.com>
2021-01-21 18:27:01 +09:00
Anders F Björklund 0028c5ed7f Add support for fd:// for socket activation
Used go-systemd code from moby/moby daemon

Only added `buildkitd --addr fd://` for now.

Don't do systemd fds for windows buildkitd

Add buildkit systemd units README/examples

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2020-12-30 16:57:23 +01:00
Akihiro Suda 59880bef10
bump up stargz-snapshotter
The git repo of github.com/containerd/stargz-snapshotter now has two go.mod modules:
- github.com/containerd/stargz-snapshotter
- github.com/containerd/stargz-snapshotter/estargz

So we need to have the following `replace` directive in `go.mod`:
```
github.com/containerd/stargz-snapshotter/estargz => github.com/containerd/stargz-snapshotter/estargz <VERSION>
```

Otherwise `go mod tidy` fails with the following error:
```
go: github.com/containerd/stargz-snapshotter@v0.2.1-0.20201217071531-2b97b583765b requires
        github.com/containerd/stargz-snapshotter/estargz@v0.0.0-00010101000000-000000000000: invalid version: unknown revision 000000000000
```

ref: https://github.com/containerd/stargz-snapshotter/pull/195

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-12-18 14:59:10 +09:00
ktock ae1b79bbc6 Bump github.com/containerd/stargz-snapshotter to v0.2.0
This enables BuildKit to lazily pull eStargz with new footer format.

Signed-off-by: ktock <ktokunaga.mail@gmail.com>
2020-12-10 15:20:57 +09:00
Tõnis Tiigi fcb87e6b8c
Merge pull request #1807 from thaJeztah/switch_seccomp
executor: switch to docker seccomp profile
2020-11-18 20:30:42 -08:00
Sebastiaan van Stijn 59fe00c380
vendor: golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9
full diff: 75b288015a...c1f2f97bff

relevant changes:

- ssh: improve error message for KeyboardInteractiveChallenge
- ssh: remove slow unnecessary diffie-hellman-group-exchange primality check

other changes (not in vendor);

- ssh/terminal: replace with a golang.org/x/term wrapper
    - Deprecates ssh/terminal in favor of golang.org/x/term
- ssh/terminal: add support for zos
- ssh/terminal: bump x/term dependency to fix js/nacl
- pkcs12: document that we use the wrong PEM type
- pkcs12: drop PKCS#12 attributes with unknown OIDs
- nacl/auth: use Size instead of KeySize for Sum output
- ocsp: Improve documentation for ParseResponse and ParseResponseForCert
- sha3: remove go:nocheckptr annotation

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-18 12:28:12 +01:00
Sebastiaan van Stijn a1a85daeb5
executor: switch to docker seccomp profile
While we try to keep the containerd and docker seccomp profiles in sync,
they may not always be; this switches the executor to use the docker
seccomp profile, so that buildkit (when vendored in docker) will use
the same default seccomp profile as is used for containers.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-18 10:05:36 +01:00
Sebastiaan van Stijn 7c54953f85
vendor: containerd v1.4.1-0.20201117152358-0edc412565dc
full diff: d4e78200d6...0edc412565

- seccomp: add `pidfd_open` and `pidfd_send_signal`
- seccomp: add `pidfd_getfd` syscall (gated by `CAP_SYS_PTRACE`)
- docker: don’t hide pusher response error

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-17 17:36:42 +01:00
Sebastiaan van Stijn bdac8056b4
vendor: github.com/tonistiigi/fsutil v0.0.0-20201103201449-0834f99b7b85
full diff: c3ed55f3b4...0834f99b7b

- copy: use Clonefileat from golang.org/x/sys/unix on macOS
- go.mod: update opencontainers/go-digest v1.0.0
- Add github action CI
- github: test go1.15

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-17 11:43:20 +01:00
Tõnis Tiigi 5e5f527e06
Merge pull request #1732 from hinshun/exec-error
Allow gateway exec-ing into a failed solve with an exec op
2020-11-16 19:13:11 -08:00
Sebastiaan van Stijn 6b8f1d96b7
vendor: github.com/Microsoft/go-winio v0.4.15
github.com/Microsoft/go-winio v0.4.15 was tagged; same commit as was
already vendored, so no code-changes.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-16 14:19:57 +01:00
Edgar Lee 7ce58c31ba Plumb op metadata to recreate failed ops with gateway exec
Signed-off-by: Edgar Lee <edgarl@netflix.com>
2020-11-13 22:05:13 -08:00
Sebastiaan van Stijn f366587673
vendor: github.com/moby/sys/mountinfo v0.4.0
mountinfo v0.4.0
------------------------

Breaking changes:
 * `PidMountInfo` is now deprecated and will be removed before v1.0; users should
   switch to `GetMountsFromReader`

Fixes and improvements:
 * run filter after all fields are parsed
 * correct handling errors from `bufio.Scan`
 * documentation formatting fixes

mountinfo v0.3.1
------------------------

Breaking changes:
* `FstypeFilter` is changed to `FSTypeFilter` to be in-line with the field name.

Fixes and improvements:
* Fixed `FilterFunc` doc.

mountinfo v0.3.0
------------------------

Breaking changes:
* Some field names of `struct Mountinfo` are changed to be more in-line with Go
  naming conventions. Users need to be converted.

Fixes and improvements:
* Fixed per-package doc to be shown by `go doc`
* Make `GetMountsFromReader` Linux-specific.
* OpenBSD support added (same code as FreeBSD; not tested).

mountinfo v0.2.0
------------------------

Bug fixes:
* Fix path unescaping for paths with double quotes

Improvements:
* `Mounted`: speed up by adding fast paths using `openat2` (Linux-only, #29) and `stat`
* `Mounted`: relax path requirements (allow relative, non-cleaned paths, symlinks)
* Unescape `fstype` and `source` fields
* Documentation improvements

Testing/CI:
* Unit tests: exclude darwin
* CI: run tests under Fedora 32 to test openat2
* `TestGetMounts`: fix for Ubuntu build system
* Makefile: fix ignoring test failures
* CI: add cross build

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-12 13:21:44 +01:00
Sebastiaan van Stijn a72cda2d0e
vendor: github.com/moby/sys/mount v0.1.1
mount v0.1.1
------------------------
Improvements:
 - `RecursiveUnmount`: add a fast path
 - `Unmount`: improve doc
 - fix CI linter warning on Windows

Testing/CI:
 - Unit tests: exclude darwin
 - Makefile: fix ignoring test failures
 - CI: add cross build

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-12 13:21:13 +01:00
Sebastiaan van Stijn 9840fa21fc
vendor: docker/docker v20.10.0-beta1.0.20201110211921-af34b94a78a1
full diff: c2cc352355...af34b94a78

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-12 13:20:19 +01:00
Akihiro Suda b07668418d
update RootlessKit, fuse-overlayfs, and containerd-fuse-overlayfs
Changes:
- https://github.com/rootless-containers/rootlesskit/compare/v0.9.5...v0.11.0
- https://github.com/containers/fuse-overlayfs/compare/v1.1.2...v1.2.0
- https://github.com/AkihiroSuda/containerd-fuse-overlayfs/compare/v0.10.0...v1.0.0

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-11-05 17:22:56 +09:00
Sebastiaan van Stijn 0da7d8fdaa
vendor: github.com/docker/docker v20.10.0-beta1.0.20201030232932-c2cc352355d4
full diff: 4634ce647c...c2cc352355

also adds github.com/cilium/ebpf as a dependency, which I set to the same
version as is set in containerd/cgroups version

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-31 00:34:53 +01:00
Sebastiaan van Stijn 110ac24256
vendor: github.com/docker/cli v20.10.0-beta1.0.20201029214301-1d20b15adc38
full diff: 2298e6a3fe...1d20b15adc

relevant changes:
- config: don't call homedir on init()
- config: fix error message using incorrect filename
- config: remove redundant os.Stat()
- config: Handle errors on close in config file write.
- config: ignore empty config file instead of printing warning
- config: Fix ConfigFile.Save() replacing symlink with file
- Config-file: remove User-Agent from config.json when saving

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-30 20:45:20 +01:00
Sebastiaan van Stijn 1934fd7370
vendor: github.com/docker/libnetwork v0.8.0-dev.2.0.20200917202933-d0951081b35f
full diff: d8334ccdb9...d0951081b3

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-30 20:45:18 +01:00
Sebastiaan van Stijn 72522d1740
vendor: golang.org/x/sys v0.0.0-20200922070232-aee5d888a860
full diff: 2334cc1a13...aee5d888a8

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-30 20:45:15 +01:00
Sebastiaan van Stijn 3d0c363f3f
vendor: github.com/Microsoft/go-winio v0.4.15-0.20200908182639-5b44b70ab3ab
full diff: fc70bd9a86...5b44b70ab3

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-30 20:45:08 +01:00
Tõnis Tiigi cc27ed5212
Merge pull request #1766 from thaJeztah/integrate_dockerignore
Migrate github.com/docker/docker/builder/dockerignore to BuildKit repository
2020-10-30 12:04:24 -07:00
Tõnis Tiigi 8efe89b347
Merge pull request #1767 from thaJeztah/bump_shlex
vendor: github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
2020-10-30 11:43:29 -07:00
Sebastiaan van Stijn f9df470a4c
vendor: github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
full diff: 6f45313302...e7afc7fbc5

- Remove unnecessary UnreadRune call
- Add go.mod

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-30 12:11:11 +01:00
Sebastiaan van Stijn 40e6129775
frontend/dockerfile: use dockerignore package from buildkit
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-30 11:55:05 +01:00
Sebastiaan van Stijn fbe1346912
replace github.com/docker/docker/pkg/locker with moby/locker v1.0.1
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-30 09:25:05 +01:00
ktock e3f6e0d249 Bump stargz-snapshotter and partial registry logic integration
Current stargz snapshotter pkg doesn't contain registry configuration and the
client of that pkg needs to pass it to that pkg. So this commit includes changes
of propagating buildkitd's registry configuration to stargz snapshotter.

But this is a partial integration of registry logic between buildkitd and stargz
snapshotter because buildkitd's session-based authentication logic is still not
applied to stargz snapshotter. This means private images that require
`~/.docker/config.json` creds can't be lazily pulled yet.

Signed-off-by: ktock <ktokunaga.mail@gmail.com>
2020-10-29 12:37:03 +09:00