Commit Graph

3202 Commits

Author SHA1 Message Date
a628600cdc builder-next: fix squash
Tagger was not called for BuildKit-mode.

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
(cherry picked from commit 7fc0f820ea1e9036a1466ee8ef7a7395b792623f)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 8d87a2a4bc88b235f06e3995bb33f978d7c28cdf
Component: engine
2019-03-21 21:34:49 +09:00
36f2444328 Swagger: fix definition of IPAM driver options
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit a5dd68186cc54ab43b0b73cd7ee3bdf923f70d3b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 55a4be8cf5787f88c1ce6bc3e2ec73402c964e5d
Component: engine
2018-12-12 01:59:01 +01:00
ed2630b559 Merge pull request #110 from thaJeztah/18.09_backport_handle_invalid_json
[18.09 backport] API: properly handle invalid JSON to return a 400 status
Upstream-commit: 8f18feabeb9ef7fe670ff6f1ecbba2a6460e0267
Component: engine
2018-11-27 09:51:54 -08:00
4dfe418aab Merge pull request #118 from thaJeztah/18.09_backport_fence_default_addr_pools
[18.09 backport] Ignore default address-pools on API < 1.39
Upstream-commit: 23122e4d52258b72fde031284a1d53f941e6426c
Component: engine
2018-11-27 09:38:39 -08:00
34a9d0e6de Merge pull request #119 from thaJeztah/18.09_backport_fix_default_addr_pools_swagger
[18.09 backport] Add missing default address pool fields to swagger
Upstream-commit: 04a6b49a896470420dd460b6ce027cac41791c04
Component: engine
2018-11-27 09:36:52 -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
78dccb265d Ignore default address-pools on API < 1.39
These options were added in API 1.39, so should be ignored
when using an older version of the API.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 7632ccbc66c82179547b96524672bd5082ae7481)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 4cc45d91eb44cbaddcfd75335c3f72ede035c440
Component: engine
2018-11-21 22:15:18 +01:00
87524aec57 Add missing default address pool fields to swagger
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 2e8c913dbdfbba2591b6531ad2428c59eb261e0b)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 56cc26f927e6a1de51731f88baf5b0af3a5688bc
Component: engine
2018-11-20 15:50:46 +01:00
3cd1faba5a API: properly handle invalid JSON to return a 400 status
The API did not treat invalid JSON payloads as a 400 error, as a result
returning a 500 error;

Before this change, an invalid JSON body would return a 500 error;

```bash
curl -v \
  --unix-socket /var/run/docker.sock \
  -X POST \
  "http://localhost/v1.30/networks/create" \
  -H "Content-Type: application/json" \
  -d '{invalid json'
```

```
> POST /v1.30/networks/create HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 13
>
* upload completely sent off: 13 out of 13 bytes
< HTTP/1.1 500 Internal Server Error
< Api-Version: 1.40
< Content-Type: application/json
< Docker-Experimental: false
< Ostype: linux
< Server: Docker/dev (linux)
< Date: Mon, 05 Nov 2018 11:55:20 GMT
< Content-Length: 79
<
{"message":"invalid character 'i' looking for beginning of object key string"}
```

Empty request:

```bash
curl -v \
  --unix-socket /var/run/docker.sock \
  -X POST \
  "http://localhost/v1.30/networks/create" \
  -H "Content-Type: application/json"
```

```
> POST /v1.30/networks/create HTTP/1.1
> Host: localhost
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: application/json
>
< HTTP/1.1 500 Internal Server Error
< Api-Version: 1.38
< Content-Length: 18
< Content-Type: application/json
< Date: Mon, 05 Nov 2018 12:00:18 GMT
< Docker-Experimental: true
< Ostype: linux
< Server: Docker/18.06.1-ce (linux)
<
{"message":"EOF"}
```

After this change, a 400 is returned;

```bash
curl -v \
  --unix-socket /var/run/docker.sock \
  -X POST \
  "http://localhost/v1.30/networks/create" \
  -H "Content-Type: application/json" \
  -d '{invalid json'
```

```
> POST /v1.30/networks/create HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 13
>
* upload completely sent off: 13 out of 13 bytes
< HTTP/1.1 400 Bad Request
< Api-Version: 1.40
< Content-Type: application/json
< Docker-Experimental: false
< Ostype: linux
< Server: Docker/dev (linux)
< Date: Mon, 05 Nov 2018 11:57:15 GMT
< Content-Length: 79
<
{"message":"invalid character 'i' looking for beginning of object key string"}
```

Empty request:

```bash
curl -v \
  --unix-socket /var/run/docker.sock \
  -X POST \
  "http://localhost/v1.30/networks/create" \
  -H "Content-Type: application/json"
```

```
> POST /v1.30/networks/create HTTP/1.1
> Host: localhost
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
>
< HTTP/1.1 400 Bad Request
< Api-Version: 1.40
< Content-Type: application/json
< Docker-Experimental: false
< Ostype: linux
< Server: Docker/dev (linux)
< Date: Mon, 05 Nov 2018 11:59:22 GMT
< Content-Length: 49
<
{"message":"got EOF while reading request body"}
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit c7b488fbc82604ec23b862ec1edc5a0be9c7793d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 9e06a421234f0bba8392b9a8908a94ff74f0c254
Component: engine
2018-11-08 14:01:27 +01:00
5425e3a895 Add more API doc details on service update version.
Hopefully this removes some confusion as to what this version number
should be.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
(cherry picked from commit 5bdfa19b8646839f9d704307aa6589c7d686db44)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 64b0c76151ceb7b26f9c7477f3044dac747d227b
Component: engine
2018-10-30 14:25:19 +01:00
23c67fa29f Merge pull request #82 from tiborvass/18.09-buildkit-cherry-picks
[18.09 backport] builder: treat unset keep-storage as 0
Upstream-commit: 7c63f178e7f2405337893c14b3c8c748b5cc1897
Component: engine
2018-10-12 11:01:20 -07:00
2d00f9e2eb builder: treat unset keep-storage as 0
Signed-off-by: Tibor Vass <tibor@docker.com>
(cherry picked from commit d6ac2b0db00455824c400394f316bdbc5adf8867)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: dbfc648a94569d8dbc8c6468d56ec93559363bb0
Component: engine
2018-10-11 20:35:43 +00:00
a2008ac193 Masking credentials from proxy URL
Signed-off-by: Dani Louca <dani.louca@docker.com>
(cherry picked from commit 78fd9784542a302c6cae0ab072563c68f9f62711)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 58e51512704b6d7656952e140332472a4c37e46f
Component: engine
2018-10-04 21:20:54 +02: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
815b828ddb always hornor client side to choose which builder to use with DOCKER_BUILDKIT env var regardless the server setup
Signed-off-by: Anda Xu <anda.xu@docker.com>
(cherry picked from commit 5d931705e33927ba9f0b7251b74b6b3c450edaf6)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 5badfb40ebf1877bb319af3892b32a78491fb8e8
Component: engine
2018-09-14 17:29:47 +02: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
5cbbb8e6bd allow features option live reloadable
Signed-off-by: Anda Xu <anda.xu@docker.com>
(cherry picked from commit 58a75cebdd08f3d504a5be79cc405cf33c4cbf43)
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 2f94f103425985dc1677ee9a87f1161007949a45
Component: engine
2018-09-04 15:01:46 +00:00
ed97b30d09 Fix logic when enabling buildkit
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: c973cde7606dc7a2557094fc90d8e6bb595fa354
Component: engine
2018-08-21 23:49:08 +00:00
2594f77b01 move /session api endpoint out of experimental
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
Upstream-commit: 01c9e7082eba71cbe60ce2e47acb9aad2c83c7ef
Component: engine
2018-08-21 22:43:34 +00:00
cea4607c21 remove experimental guard for buildkit
Signed-off-by: Andrew Hsu <andrewhsu@docker.com>
Upstream-commit: 239047c2d36706f2826b0a9bc115e0a08b1c3d27
Component: engine
2018-08-21 22:19:45 +00:00
07c22f44e1 Add "Warnings" to /info endpoint, and move detection to the daemon
When requesting information about the daemon's configuration through the `/info`
endpoint, missing features (or non-recommended settings) may have to be presented
to the user.

Detecting these situations, and printing warnings currently is handled by the
cli, which results in some complications:

- duplicated effort: each client has to re-implement detection and warnings.
- it's not possible to generate warnings for reasons outside of the information
  returned in the `/info` response.
- cli-side detection has to be updated for new conditions. This means that an
  older cli connecting to a new daemon may not print all warnings (due to
  it not detecting the new conditions)
- some warnings (in particular, warnings about storage-drivers) depend on
  driver-status (`DriverStatus`) information. The format of the information
  returned in this field is not part of the API specification and can change
  over time, resulting in cli-side detection no longer being functional.

This patch adds a new `Warnings` field to the `/info` response. This field is
to return warnings to be presented by the user.

Existing warnings that are currently handled by the CLI are copied to the daemon
as part of this patch; This change is backward-compatible with existing
clients; old client can continue to use the client-side warnings, whereas new
clients can skip client-side detection, and print warnings that are returned by
the daemon.

Example response with this patch applied;

```bash
curl --unix-socket /var/run/docker.sock http://localhost/info | jq .Warnings
```

```json
[
  "WARNING: bridge-nf-call-iptables is disabled",
  "WARNING: bridge-nf-call-ip6tables is disabled"
]
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: a3d4238b9ce653d2863fbc93057ed4162a83221e
Component: engine
2018-08-21 11:36:15 +02:00
e4dc477de6 Merge pull request #37558 from selansen/master
Global Default Address Pool feature support
Upstream-commit: 1800883bd16664846db1572b8c8fbe8c85892cee
Component: engine
2018-08-20 18:15:44 -07:00
c9c36cf7eb Global Default Address Pool feature support
This feature allows user to specify list of subnets for global
default address pool. User can configure subnet list using
'swarm init' command. Daemon passes the information to swarmkit.
We validate the information in swarmkit, then store it in cluster
object. when IPAM init is called, we pass subnet list to IPAM driver.

Signed-off-by: selansen <elango.siva@docker.com>
Upstream-commit: f7ad95cab9cc7ba8925673a933028d53284c13f5
Component: engine
2018-08-20 15:07:08 -04:00
ebd369251b Merge pull request #37593 from AntaresS/add-enable-buildkit
[enhancement] add optional fields in daemon.json to enable buildkit
Upstream-commit: 991682749612d6613d5f49035f62e2a479c0dc59
Component: engine
2018-08-20 19:41:56 +01:00
d2993cf016 Merge pull request #37092 from cpuguy83/local_logger
Add "local" log driver
Upstream-commit: e0ad6d045c752e0523d8591b235ec2db32bc71fc
Component: engine
2018-08-20 07:01:41 +01:00
02ca9d77c5 add optional fields in daemon.json to enable buildkit
Signed-off-by: Anda Xu <anda.xu@docker.com>
Upstream-commit: 2be17666b4cf21995da3e4ddf4ed615e6e6ca63a
Component: engine
2018-08-19 14:58:23 -07:00
8701fc500f Expose license status in Info (#37612)
* Expose license status in Info

This wires up a new field in the Info payload that exposes the license.
For moby this is hardcoded to always report a community edition.
Downstream enterprise dockerd will have additional licensing logic wired
into this function to report details about the current license status.

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>

* Code review comments

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>

* Add windows autogen support

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
Upstream-commit: 896d1b1c61a48e2df1a7b4644ddde6ee97db6111
Component: engine
2018-08-17 17:05:21 -07:00
088a8059a2 Swagger: bump API version to v1.39
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 871894e95e62be58a2b7e6037590e0235072f1bb
Component: engine
2018-08-16 16:24:48 +02:00
adf79edc07 Merge pull request #37472 from thaJeztah/no_unknown
Do not return "<unknown>" in /info response
Upstream-commit: 0a4f89566a22a07427d850a8d70f264210062da0
Component: engine
2018-08-16 14:56:31 +02:00
0b9441c0bb Bump API version to 1.39
Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: e05b657120a665a54715d3999cd18ae9a3f8d711
Component: engine
2018-08-15 00:01:30 +00:00
be5744ef79 Add partial log metadata to log driver proto
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: e78ec2aab69068074038ee01bc89b75254a044b7
Component: engine
2018-08-10 20:44:30 -07:00
59e4a5a574 Do not return "<unknown>" in /info response
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: e6e8ab50fad5397f7be07fa00ba2bca85860cbe8
Component: engine
2018-07-16 16:09:58 +02:00
ef023f77a6 Merge pull request #37454 from thaJeztah/swagger-lint
Fix golint warning on generated "volume" types
Upstream-commit: 17dc10123f001d1481e4047de211c8aec7ed9d34
Component: engine
2018-07-14 12:46:26 -07:00
d1e4c2c766 Fix golint warning on generated "volume" types
Should fix

```
api/types/volume/volume_create.go
Line 10: warning: comment on exported type VolumeCreateBody should be of the form "VolumeCreateBody ..." (with optional leading article) (golint)

api/types/volume/volume_list.go
Line 12: warning: comment on exported type VolumeListOKBody should be of the form "VolumeListOKBody ..." (with optional leading article) (golint)
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: bd06a5ea4df919ff323510fba10801b5673a3af6
Component: engine
2018-07-13 16:58:59 +02:00
8ce22ea6b6 Fix API template to not use "golang.org/x/net/context"
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: a8b4e04e2f6ae95a5146c4c4d794cda1a725c634
Component: engine
2018-07-13 09:54:24 +02:00
4c7a4e64a3 builder: fix duplicate calls to mountable
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: ffa7233d1538363fe12ad609e720b8d75e8768de
Component: engine
2018-07-10 15:21:29 -07:00
6283fee6a2 api: Change Platform field back to string (temporary workaround)
This partially reverts https://github.com/moby/moby/pull/37350

Although specs.Platform is desirable in the API, there is more work
to be done on helper functions, namely containerd's platforms.Parse
that assumes the default platform of the Go runtime.

That prevents a client to use the recommended Parse function to
retrieve a specs.Platform object.

With this change, no parsing is expected from the client.

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: facad557440a0c955beb615495b8d0175f25e4e3
Component: engine
2018-07-03 22:33:42 +00:00
2a9011606f builder: return image ID in API when using buildkit
Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: ca8022ec63a9d0e2f9660e2a3455d821abf8f517
Component: engine
2018-07-03 19:11:02 +00:00
e6f427396a Merge pull request #37156 from cpuguy83/networking_api_types_only
Move network conversions out of API router
Upstream-commit: d912e9460e287238f879de791595193543ab2202
Component: engine
2018-06-29 02:47:27 +02:00
b30a6b365b Merge pull request #37350 from tonistiigi/platform-support
Fix platform struct passing
Upstream-commit: 1436dc8f8d0f6f60b6e335fbd918d6b22ee6574d
Component: engine
2018-06-27 19:23:27 -07:00
d86ac0bd5d Move network conversions out of API router
This stuff doesn't belong here and is causing imports of libnetwork into
the router, which is not what we want.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: c0bc14e8dd5a31f5edc804e9a1347bb3eb44483e
Component: engine
2018-06-27 17:11:29 -07:00
d2c785277a system: add back lcow validation function
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: f0997716651b6e6c2b07e3d514bf8452114a1433
Component: engine
2018-06-27 15:24:26 -07:00
b67a507422 distribution: fix passing platform struct to puller
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 337ba71fc1124603302e28d94e2f08674e31a756
Component: engine
2018-06-27 14:59:31 -07:00
28ca1b95b2 api: fix platform type
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 81f862a1fe6f24fea70b1278a4292eefc4029a03
Component: engine
2018-06-26 22:59:17 -07:00
f402d858a8 Update comments about InitRouter
This is a follow-up of commit 408c7ad (PR: #32453)

Signed-off-by: Yuichiro Kaneko <spiketeika@gmail.com>
Upstream-commit: dbd4c290b7029d31fa69c906a8da864589f19e09
Component: engine
2018-06-27 09:45:06 +09:00
0c25b296c2 Initial support for OCI multi-platform image
Add the OCI spec compatible image support in client side.

Signed-off-by: Dennis Chen <dennis.chen@arm.com>
Upstream-commit: 7f334d3acfd7bfde900e16e393662587b9ff74a1
Component: engine
2018-06-26 11:39:29 -07:00
4cadaa03f8 Update tests to use gotest.tools 👼
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 38457285242e57306c5b7ee652c7ccbb9fbd6713
Component: engine
2018-06-13 09:04:30 +02:00
5f4f0d9ecc builder: correct output buffering order
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: ab4cbe2c3f55ed63ef80d2886cb006d082271630
Component: engine
2018-06-10 10:05:31 -07:00
d75f0ca946 builder: more experimental/windows validation
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 577732f655fc95396b8c2b9a45747c5c95760755
Component: engine
2018-06-10 10:05:30 -07:00
d23b97504d api: update godoc
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 6aa76adf59ce90701f9ccbd6f07caf97228a9f50
Component: engine
2018-06-10 10:05:30 -07:00