Commit Graph

913 Commits

Author SHA1 Message Date
2f921c9ec1 Merge pull request #203 from thaJeztah/18.09_backport_gcr_workaround
[18.09 backport] builder: add workaround for gcr auth issue
Upstream-commit: 6b2d2eb653e7e634852fad4fbf4ea0df86868109
Component: engine
2019-06-18 10:20:39 -07:00
a439056531 Convert parse errors to more informative format
- Wrap parse errors in errdefs.InvalidParameters
- Include dockerfile in error names

Signed-off-by: Natasha Jarus <linuxmercedes@gmail.com>
(cherry picked from commit 64466b0cd9ff36dc3f123a3a68eae438ac9e8e60)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 7eb0e6a095ac71bfe3e3419cef7d5867fef55f20
Component: engine
2019-06-18 13:44:04 +01:00
88cbe50698 builder-next: call stopprogress on download error
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 91a57f3e7f5ed569f7b9d97d14de11bb324bb8e0)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 77e30108bda9e3369edf33737d8b57c20594ec64
Component: engine
2019-05-20 15:26:49 +02:00
b82179cd36 builder-next: fix gcr workaround token cache
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit cfce0acd332d7536f85356f99b99a920be6cda87)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 7e4c2474c7858879bcdfa089ee82f311b0d71fe8
Component: engine
2019-05-07 15:54:12 -07:00
c9f96feac5 builder: add workaround for gcr auth issue
GCR does not currently support 401 response from blob endpoints.
This detects the case where no manifest requests have been
performed for the current resolver and does a dummy request
to enable authorization.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit bcd8298c35f53f79b42c6e089e8da114ddb5c57e)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 21cce932b05a4b979359624668f7f09e83dc90cd
Component: engine
2019-05-07 15:38:48 -07:00
5246b368bf gitutils: add validation for ref
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 723b107ca4fba14580a6cd971e63d8af2e7d2bbe)
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
(cherry picked from commit a588898f99d697e5ff481ecb3b273f45410f10e6)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 37ec11c8e3a6d1405680b7a309e72087904bcbd4
Component: engine
2019-03-26 23:34:28 +01:00
6709623942 builder: delete sandbox in a goroutine for performance
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit bcf1967dd0893b36c56c8c9b87c84246916484a1)
Upstream-commit: 73911117b30ba74c42177b0f002bb4e98f2473f9
Component: engine
2018-11-29 09:15:15 -08:00
71605fc317 builder: set externalkey option for faster hook processing
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 1ad272c7e409476fd50fc701d45329b1e05bdec9)
Upstream-commit: 8fe3b4d2ec06720fedfce2c2ef1b4fd7940961a6
Component: engine
2018-11-29 09:15:00 -08:00
54654abf3a builder: avoid unset credentials in containerd
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit effb2bd9d23cc05305c4772338b9eb39423e92c6)
Upstream-commit: 0d17f4099496ba3de583273eeebefa3cce4694ca
Component: engine
2018-11-21 14:09:31 -08:00
079995778e builder: ignore label and label! prune filters
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 62923f29f514fa621e7c31011c11c610cfe33ecd)
Upstream-commit: 34867646af1d1344b1f0877bb3a00a51f7700245
Component: engine
2018-11-21 14:08:18 -08:00
fd572d6e86 builder: deprecate prune filter unused-for in favor of until
This is to keep the UX consistent. `unused-for` is still accepted and a synonym.

Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 369da264bac15769ae944cc880e66abaf158612b)
Upstream-commit: 0b2d88d328ca88c8732dc11c72873b53be3bd2f8
Component: engine
2018-11-21 14:08:04 -08:00
9e9298ef28 Merge pull request #108 from tonistiigi/copy-0.1.9
[18.09] builder: update copy to 0.1.9
Upstream-commit: 9512677feb8480bf13844cc4c225310bbdd2cf04
Component: engine
2018-11-06 11:26:09 -08:00
a1a6612bf9 Merge pull request #96 from thaJeztah/18.09_backport_fix-duplicate-release
[18.09 backport] builder: fix duplicate mount release
Upstream-commit: 5bb36e25baef86d3ac230a2fccc182f2766c3e26
Component: engine
2018-11-06 11:22:47 -08:00
a78fdada01 builder: update copy to 0.1.9
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 45654ed0126aadaf6c3293b0a32ca8cf15021626
Component: engine
2018-11-06 10:52:34 -08:00
0c72992e43 builder: fix bugs when pruning buildkit cache with filters
Only the filters the user specified should be added as cache filters to buildkit.
Make an AND operation of the provided filters.
ID filter now does prefix-matching.

Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit b6137bebb83e886aef906b7ff277778b69616991)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 52a3c39506b883f713694ce39d1a4fd9f5638800
Component: engine
2018-11-05 22:59:24 +00:00
ea7e1c4aaa builder: fix duplicate mount release
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit 2732fe527f9258561c7310c128914b4b456c8404)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 5853cd510c3272755ca5d6605ca8039d54a5ba15
Component: engine
2018-10-24 20:11:51 +02:00
5521475b61 builder: fix private pulls on buildkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
(cherry picked from commit c693d45acf74b87680ace0db8615f97bd6853598)
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: fdaf08a57b2348623f33e0b9855c488421fc7bf6
Component: engine
2018-10-17 17:54:13 -07:00
681595daf2 bump up buildkit
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit 837b9c6214cd43828473d15175b0a3c6e1db8507)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 90c72824c36369efd8be52bedd731d12b3415508
Component: engine
2018-10-11 03:01:18 +09:00
2e2a73446a Switch copy image to a docker org based one
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
(cherry picked from commit 5cfd110c306d6a370307178b84d2b98d8598acc4)
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
Upstream-commit: 7b54720ccbfa5d8242e896f27e8b36ee58612401
Component: engine
2018-10-05 18:01:10 +00:00
b48ad13f28 Remove 'docker-' prefix for containerd and runc binaries
This allows to run the daemon in environments that have upstream containerd installed.

Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 34eede0296bce6a9c335cb429f10728ae3f4252d)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: b3bb2aabb8ed5a8af0a9f48fb5aba3f39af38e0d
Component: engine
2018-09-24 22:35:36 +00:00
f3dec68e23 builder: vendor buildkit to 39404586a50d1b9d0fb1c578cf0f4de7bdb7afe5
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit d0f00bc1fb2c349ad72ecc2394b8474937de84dd)
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 3d67dd046539f8e04db82ce07ea56f97b832676b
Component: engine
2018-09-21 17:06:25 -07:00
4f76283213 builder: use buildkit's GC for build cache
This allows users to configure the buildkit GC.

The following enables the default GC:
```
{
  "builder": {
    "gc": {
      "enabled": true
    }
  }
}
```

The default GC policy has a simple config:
```
{
  "builder": {
    "gc": {
      "enabled": true,
      "defaultKeepStorage": "30GB"
    }
  }
}
```

A custom GC policy can be used instead by specifying a list of cache prune rules:
```
{
  "builder": {
    "gc": {
      "enabled": true,
      "policy": [
        {"keepStorage": "512MB", "filter": ["unused-for=1400h"]]},
        {"keepStorage": "30GB", "all": true}
      ]
    }
  }
}
```

Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 4a776d0ca76c4bdf4399aef8c102361d6c2819eb)
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 73e2f72a7c5bd6d6f8306e0ffe4371e1c3b00a21
Component: engine
2018-09-21 17:06:25 -07:00
dc48089436 add support of registry-mirrors and insecure-registries to buildkit
Signed-off-by: Anda Xu <anda.xu@docker.com>
(cherry picked from commit 171d51c861b479af8798fbe7c51906bcecdffea0)
(cherry picked from commit a72752b2f74467333b4ebe21c6c474eb0c2b99e0)
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 2926a45be6b9315d2ddeec27d1193278b6bbae91
Component: engine
2018-09-21 17:06:25 -07:00
ff79736ce2 vendor: update bolt to bbolt
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: b501aa82d5151b8af73d6670772cc4e8ba94765f
Component: engine
2018-09-21 17:06:25 -07:00
97c18c02cb create newBuildKit function separately in daemon_unix.go and daemon_windows.go for cross platform build
Signed-off-by: Anda Xu <anda.xu@docker.com>
(cherry picked from commit 66ac92cdc65be350ec53f1de51052374846dfe24)
Upstream-commit: a5d731edecc75927f602c7f15e5ba9f5f77d3655
Component: engine
2018-09-18 11:19:51 -07:00
15caa5031e update vendor
Signed-off-by: Anda Xu <anda.xu@docker.com>
(cherry picked from commit 54b3af4c7d7d625b9cff6d5d7b8730ec99f38977)
Upstream-commit: ee40a9ebcda2f46ea731ac1e2f840a2a23be0a07
Component: engine
2018-09-13 16:42:13 -07:00
d0654cc902 propagate the dockerd cgroup-parent config to buildkitd
Signed-off-by: Anda Xu <anda.xu@docker.com>
(cherry picked from commit d52485c2f901e62e9a26445e230ec3f6662fa276)
Upstream-commit: e8620110fcbfca840e91bfb06348da8d9fd53e2e
Component: engine
2018-09-13 16:36:57 -07:00
d448ca1e85 builder: implement ref checker
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 354c241041ec67d4c500cccfda476dc73435d38e)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 28150fc70cc0688c63d27879bf1c701ade47caff
Component: engine
2018-09-04 15:02:28 +00:00
e376b78cb5 builder: fix pruning all cache
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit d47435a004e36531a594cd2636dddaff61a5f4d0)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: d2c316364225cd6bdf1581d11f370e0d159ad362
Component: engine
2018-09-04 15:02:28 +00:00
5a73ccd4a8 builder: add prune options to the API
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit 8ff7847d1cf0f156b8a7cf1450aa944ef636c747)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 3153708f13ceefc3e8e4d4a93778dcc9e4347f5a
Component: engine
2018-09-04 15:02:28 +00:00
cb322aa233 builder: fix bridge networking when using buildkit
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit dc7e472db986fa3c07806f56e82db756c47567fb)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 1d531ff64f99e07ac8733894416de8212a6c7278
Component: engine
2018-08-23 05:32:51 +00:00
ebad0ccbe4 builder: temporarily disable bridge networking when using buildkit
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 16084ea8c82fe3b3a0aae2573def0d1857365408
Component: engine
2018-08-22 03:29:17 +00:00
0f3d3cb192 Disable buildkit's subreaper until the issue is understood
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 4a40f921d3c73b056271bad128f9da7d90b1cd2a
Component: engine
2018-08-20 18:55:01 +00:00
0a604d1631 builder: enable add-host for buildkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: d46fa93cb637e7de964769717f3b5770f6732bee
Component: engine
2018-08-20 18:55:01 +00:00
4020288a72 builder: allow setting host/none network mode
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: c6c680ad5b1e4d17faaebc753e1123d8662ad297
Component: engine
2018-08-20 18:55:01 +00:00
3214172ab1 builder: setup code for a bridge networking
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: d6424a088dacc902b674f402e6a62aa8f5f4a803
Component: engine
2018-08-20 18:55:01 +00:00
dc90119f4b Merge pull request #37659 from Microsoft/jjh/37356
LCOW: Mount to short container paths to avoid command-line length limit
Upstream-commit: 8613b34a7e363948555eb986fd6078d9f9c808d7
Component: engine
2018-08-17 15:48:35 -07:00
851fdda625 Merge pull request #37563 from Microsoft/jjh/fix-vso17531561v2
LCOW: Ensure platform is populated on COPY/ADD
Upstream-commit: 14d5569f1942d22e364dc4844198b58e702299fc
Component: engine
2018-08-17 12:51:17 -07:00
98e7273292 Merge pull request #35521 from salah-khan/35507
Add --chown flag support for ADD/COPY commands for Windows
Upstream-commit: b3e9f7b13b0f0c414fa6253e1f17a86b2cff68b5
Component: engine
2018-08-17 11:31:16 -07:00
fbda033233 builder: implement PullParent option with buildkit
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 7c1c8f1fe29c28ef62017d99a99eb1ec6be4513c
Component: engine
2018-08-17 08:40:58 +00:00
2db873cf38 LCOW: Capture stderr on external process. Log actual error rather than throwaway
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: dffc96616503936fc282c0e3a3eea8695ee11b67
Component: engine
2018-08-16 19:20:14 -07:00
2418c55ad0 Merge pull request #37597 from tiborvass/fix-cancel-bug
builder: do not cancel buildkit status request
Upstream-commit: 080c27dd1374d9be2e3e53bcffe62d7bb3ec0a3b
Component: engine
2018-08-16 12:42:35 +09:00
7414934b6c Add ADD/COPY --chown flag support to Windows
This implements chown support on Windows. Built-in accounts as well
as accounts included in the SAM database of the container are supported.

NOTE: IDPair is now named Identity and IDMappings is now named
IdentityMapping.

The following are valid examples:
ADD --chown=Guest . <some directory>
COPY --chown=Administrator . <some directory>
COPY --chown=Guests . <some directory>
COPY --chown=ContainerUser . <some directory>

On Windows an owner is only granted the permission to read the security
descriptor and read/write the discretionary access control list. This
fix also grants read/write and execute permissions to the owner.

Signed-off-by: Salahuddin Khan <salah@docker.com>
Upstream-commit: 763d8392612942ff5c32a35f8bdafd7ae93d3321
Component: engine
2018-08-13 21:59:11 -07:00
16b520e100 builder: do not cancel buildkit status request
This fixes a bug when the build results in an error and instead of sending
the logs of the container to the client, it signals a cancelation.

The context should not be wired to the status request, as only the
build requests need to be canceled.

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: f1ef16c736b477be17f6bc1bce18d0958a87d840
Component: engine
2018-08-10 17:29:32 +00:00
b552588bbc Merge pull request #37609 from seratch/fix-typos
Fix the several typos detected by github.com/client9/misspell
Upstream-commit: 4122eb1a43a42c4c8b827b4d0fb3d6543f9f2c91
Component: engine
2018-08-09 08:48:05 +09:00
71a3e53c36 Fix the several typos detected by github.com/client9/misspell
Signed-off-by: Kazuhiro Sera <seratch@gmail.com>
Upstream-commit: 1e49fdcafc6601cd9dd5c46551ee283baa0272ef
Component: engine
2018-08-09 00:45:00 +09:00
a3a5617ab6 builder: fix compilation errors after vendoring
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: c53d7e71046581775a8888706c0fd6baddb81a0b
Component: engine
2018-08-07 06:03:10 +00:00
3e57bf0941 LCOW: Ensure platform is populated on COPY/ADD
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: ae6b5828ce0cee380267fb9060695bc3ae40e25b
Component: engine
2018-07-30 12:49:33 -07:00
1244bbdf28 Merge pull request #37439 from tiborvass/vendor-buildkit
Set BuildKit's ExportedProduct variable to show useful errors in the future
Upstream-commit: 9ebed53c5431a7c8296107869f1b3feabee9e8f3
Component: engine
2018-07-17 12:10:23 -07:00
3b5e16f319 validate: please vet
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 81599222fc8f8a845b68ca15f3582e76de24a7b3
Component: engine
2018-07-16 21:41:54 +00:00