Commit Graph

218 Commits (a276ba731c9e165c946e0479758be7719a3451e0)

Author SHA1 Message Date
Akihiro Suda 9f90f5a985 rootless: support fuse-overlayfs
While real overlayfs is available only in Ubuntu and Debian kernels,
fuse-overlayfs is universally available for kernel >= 4.18.

For dockerized deployment, `--device /dev/fuse` needs to be added to
`docker run` flags.

Kubernetes deployment needs a custom device plugin that enables
`/dev/fuse`, e.g. https://github.com/honkiko/k8s-hostdev-plugin

Instead of a device plugin, the device can be also enabled by setting
`securityContext.privileged` to `true`.

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2020-03-03 11:30:29 +09:00
Tonis Tiigi d1458a6587 update supported platforms without restart
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-02-26 08:15:42 -08:00
Tonis Tiigi e0e29722e2 file: fix compilation on windows
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-01-30 20:21:40 -08:00
Paul "TBBle" Hampson 2bee17a65a Don't always fail euid check on Windows
The check for running as a non-admin euid() doesn't work on Windows,
always returning -1.

For now, treat -1 as "Probably root", and let the failures happen later.

Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
2020-01-30 00:34:44 +11:00
Paul "TBBle" Hampson 1036fafffa Support npipe the same way we support Unix sockets
The same function used to support Unix sockets automatically supports
Named Pipes on Windows.

This makes the default configuration option for the daemon address work
correctly on Windows.

Signed-off-by: Paul "TBBle" Hampson <Paul.Hampson@Pobox.com>
2020-01-30 00:34:43 +11:00
Akihiro Suda 1dfd864d22
Merge pull request #1284 from jeffreyhuang23/issue-1200
Fixed issue #1200 (buildctl: add --tlsdir)
2019-12-13 14:15:29 +09:00
Tõnis Tiigi e7304e9a51
Merge pull request #1283 from jeffreyhuang23/issue-1230
Fix issue #1230 (add --oci-worker-binary)
2019-12-12 20:57:59 -08:00
Wei Fu ca1a6c1e6a cmd/buildctl: dump metadata from metadata_v2.db
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2019-12-13 11:52:01 +08:00
Jeffrey Huang 783a723b22 Fixed issue #1200
Added a command-line flag (tlsdir) to buildctl that allowed for specifying a directory that contains a ca.pem, cert.pem, and key.pem. This command-line flag acts an alias of --tlscacert, --tlscert, and --tlskey. --tlsdir cannot be used at the same time as those flags, and will cause an error if done. The pkg/errors package has been added to cmd/buildctl/common/common.go to allow for the creation of this error message.

Signed-off-by: Jeffrey Huang <jeffreyhuang23@gmail.com>
2019-12-12 15:05:19 -06:00
Nikhil Pandeti cb237bf24e Gofmt and goimports config.go, add documentation
Signed-off-by: Nikhil Pandeti <nikhil.pandeti@utexas.edu>
2019-12-12 12:32:47 -06:00
Jeffrey Huang 20258652b3 Fix issue #1230
To support switching the OCI worker binary via buildkitd and without modifying the Dockerfile, an optional command-line flag was added to main_oci_worker.go that allowed for input the name of an OCI worker binary (ex. crun). This OCI worker binary would then replace the current buildkit-runc with a symbolic link to that binary. The above was done using the os/exec package's Command func.

Signed-off-by: Jeffrey Huang <jeffreyhuang23@gmail.com>
2019-12-12 04:33:24 -06:00
Sam Whited 00bfbab039 all: bump the systemd dep to use Go Modules
Signed-off-by: Sam Whited <sam@samwhited.com>
2019-11-11 10:45:43 -05:00
Akihiro Suda c239629fd9 buildkitd: disable TLS for UNIX sockets
Fix #1199

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2019-10-12 23:05:01 +09:00
Tonis Tiigi 481d39c176 add cross-repo push support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-22 17:25:13 -07: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
Tonis Tiigi e86374886a util: check for localhost for plainhttp
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-20 17:03:04 -07:00
Tonis Tiigi 57d19b1208 network: refactor cni support to multiple packages
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-08-06 12:52:37 -07:00
Ciro S. Costa 437a2d55c1 debug: add `fileop` to `--dot`
Previously, `fileop`s where not included in the set of possible op types
that were treated in the `dot` formatting in `buildctl debug dump-llb`
when using the `--dot` flag.

This commit add support for such fileop, allowing one to see basic
properties associated with the op.

Signed-off-by: Ciro S. Costa <cscosta@pivotal.io>
2019-08-04 16:50:42 -04: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
Tonis Tiigi 954b73dae1 network: move ns creation from reexec to linkname
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-12 14:57:10 -07:00
Tonis Tiigi e7759a861b client: add cni network tests
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-10 18:00:06 -07:00
Tonis Tiigi bc7a6f2556 add cni networking support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-07-10 14:42:30 -07:00
Tibor Vass 8e692507ee executor: allow setting DNSConfig to be used by resolvconf
This patch allows downstream code to pass a DNSConfig that is
then used by executor/oci.GetResolvConf.

This would allow the BuildKit-based builder in Docker to honor
the docker daemon's DNS configuration, thus fixing a feature gap
with the legacy builder.

Signed-off-by: Tibor Vass <tibor@docker.com>
2019-06-17 20:43:33 +00:00
Tonis Tiigi bffb08a1c4 buildkitd: use asyncremove on overlay
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-05-14 14:35:13 -07:00
Tõnis Tiigi e0e3ad6b47
Merge pull request #998 from AkihiroSuda/authprovider-stderr
authprovider: set stderr
2019-05-10 10:51:41 -07:00
Akihiro Suda 073aa092e7 authprovider: set stderr
Fix #997

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2019-05-10 15:45:05 +09:00
Akihiro Suda 0dee033264 buildkitd: support sd_notify
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2019-05-09 03:06:29 +09:00
Akihiro Suda 5225a66020 buildkitd: create buildkitd.lock under root
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2019-05-08 12:11:57 +09:00
Tõnis Tiigi 3c78a9c736
Merge pull request #909 from fuweid/me-allow-unpack-action
exporter: support unpack opt for image exporter
2019-04-26 14:04:48 -07:00
Wei Fu ffad8ada79 exporter: support unpack opt for image exporter
It is enhancement which allows to unpack image into containerd
snapshotter storage by `--output type=image,<.>=<.>,unpack=true`.

In order to support this feature, we needs to extend the Snapshotter
witwh `Name() string` function. Because we needs to set gc label for
snapshotter which need snapshotter name.

fix: #908

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2019-04-24 21:24:06 +08:00
Akihiro Suda fc044d0e6b new connhelper: kube-pod
Fix #769
Relates to tonistiigi/buildx#22

Usage:

  $ kubectl run --generator=run-pod/v1 --image moby/buildkit:master-rootless bk -- --oci-worker-no-process-sandbox
  $ export BUILDKIT_HOST=kube-pod://bk

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2019-04-19 20:34:00 +09:00
Akihiro Suda 90b73ff6d2 connhelper: docker -> docker-container
for consistency with tonistiigi/buildx#17

Close #935

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-04-14 21:14:40 +09:00
Dave Chen 9fe669b441 Minor improvement on the CLI usage
The change will make it more explicit on how to use the options.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2019-04-09 20:10:17 -07:00
Tonis Tiigi e189eb7721 connhelper: refactor helpers to own packages
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-02 22:17:41 -07:00
Tonis Tiigi 6921dbe0f6 snapshot: base for userns remapping
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-02 18:23:46 -07:00
Tonis Tiigi 5223dc7536 buildctl: print plain progress to stderr
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-04-02 16:45:29 -07:00
Akihiro Suda 4f4bcade64
Merge pull request #907 from tonistiigi/tarball-exporter
exporter: add tarball exporter
2019-03-29 12:29:00 +09:00
Tõnis Tiigi 758c61e873
Merge pull request #570 from kunalkushwaha/entirlement-revised
security entitlement support
2019-03-28 16:14:06 -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
Kunal Kushwaha a2bbb5ff39 security entitlement support
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2019-03-27 13:57:03 +09:00
Tibor Vass 33bb70c810
Merge pull request #896 from tonistiigi/config-load-err
buildkitd: error on config load error
2019-03-26 16:36:31 -07:00
Tibor Vass fe0b8a4ec7
Merge pull request #902 from tonistiigi/itegration-update
integration: generalize pkg
2019-03-26 16:35:12 -07:00
Akihiro Suda 832d025e59 buildctl: add dial-stdio (for unix:// address only)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-03-26 21:24:17 +09:00
Dave Chen aa31ff073f Check the validity of the platforms
platforms can still be added but some warning message
will be emitted if the platform cannot pass the validity
check.

Signed-off-by: Dave Chen <dave.chen@arm.com>
2019-03-23 21:09:42 -07:00
Tonis Tiigi 1dd4a0ace1 buildkitd: error on config load error
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-22 11:20:08 -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 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 7210bf6806 fileop: add chown support
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 17:49:50 -07:00
Tonis Tiigi 4ffd79735b fileop: connect with contenthash
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-15 16:31:00 -07:00
Tonis Tiigi 227525ed13 buildkitd: fix default platforms conf
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2019-03-11 10:38:19 -07:00