Bump buildkit to master and fix versions incompatible with go mod 1.13
Bump github.com/gogo/googleapis to v1.3.2 Bump github.com/docker/cli to master Signed-off-by: Silvin Lubecki <silvin.lubecki@docker.com>
This commit is contained in:
+267
-102
@@ -65,7 +65,7 @@ info:
|
||||
|
||||
# Authentication
|
||||
|
||||
Authentication for registries is handled client side. The client has to send authentication details to various endpoints that need to communicate with registries, such as `POST /images/(name)/push`. These are sent as `X-Registry-Auth` header as a Base64 encoded (JSON) string with the following structure:
|
||||
Authentication for registries is handled client side. The client has to send authentication details to various endpoints that need to communicate with registries, such as `POST /images/(name)/push`. These are sent as `X-Registry-Auth` header as a [base64url encoded](https://tools.ietf.org/html/rfc4648#section-5) (JSON) string with the following structure:
|
||||
|
||||
```
|
||||
{
|
||||
@@ -618,6 +618,71 @@ definitions:
|
||||
description: "Start period for the container to initialize before starting health-retries countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit."
|
||||
type: "integer"
|
||||
|
||||
Health:
|
||||
description: |
|
||||
Health stores information about the container's healthcheck results.
|
||||
type: "object"
|
||||
properties:
|
||||
Status:
|
||||
description: |
|
||||
Status is one of `none`, `starting`, `healthy` or `unhealthy`
|
||||
|
||||
- "none" Indicates there is no healthcheck
|
||||
- "starting" Starting indicates that the container is not yet ready
|
||||
- "healthy" Healthy indicates that the container is running correctly
|
||||
- "unhealthy" Unhealthy indicates that the container has a problem
|
||||
type: "string"
|
||||
enum:
|
||||
- "none"
|
||||
- "starting"
|
||||
- "healthy"
|
||||
- "unhealthy"
|
||||
example: "healthy"
|
||||
FailingStreak:
|
||||
description: "FailingStreak is the number of consecutive failures"
|
||||
type: "integer"
|
||||
example: 0
|
||||
Log:
|
||||
type: "array"
|
||||
description: |
|
||||
Log contains the last few results (oldest first)
|
||||
items:
|
||||
x-nullable: true
|
||||
$ref: "#/definitions/HealthcheckResult"
|
||||
|
||||
HealthcheckResult:
|
||||
description: |
|
||||
HealthcheckResult stores information about a single run of a healthcheck probe
|
||||
type: "object"
|
||||
properties:
|
||||
Start:
|
||||
description: |
|
||||
Date and time at which this check started in
|
||||
[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
|
||||
type: "string"
|
||||
format: "date-time"
|
||||
example: "2020-01-04T10:44:24.496525531Z"
|
||||
End:
|
||||
description: |
|
||||
Date and time at which this check ended in
|
||||
[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
|
||||
type: "string"
|
||||
format: "dateTime"
|
||||
example: "2020-01-04T10:45:21.364524523Z"
|
||||
ExitCode:
|
||||
description: |
|
||||
ExitCode meanings:
|
||||
|
||||
- `0` healthy
|
||||
- `1` unhealthy
|
||||
- `2` reserved (considered unhealthy)
|
||||
- other values: error running probe
|
||||
type: "integer"
|
||||
example: 0
|
||||
Output:
|
||||
description: "Output from last check"
|
||||
type: "string"
|
||||
|
||||
HostConfig:
|
||||
description: "Container configuration that depends on the host we are running on"
|
||||
allOf:
|
||||
@@ -628,12 +693,44 @@ definitions:
|
||||
Binds:
|
||||
type: "array"
|
||||
description: |
|
||||
A list of volume bindings for this container. Each volume binding is a string in one of these forms:
|
||||
A list of volume bindings for this container. Each volume binding
|
||||
is a string in one of these forms:
|
||||
|
||||
- `host-src:container-dest` to bind-mount a host path into the container. Both `host-src`, and `container-dest` must be an _absolute_ path.
|
||||
- `host-src:container-dest:ro` to make the bind mount read-only inside the container. Both `host-src`, and `container-dest` must be an _absolute_ path.
|
||||
- `volume-name:container-dest` to bind-mount a volume managed by a volume driver into the container. `container-dest` must be an _absolute_ path.
|
||||
- `volume-name:container-dest:ro` to mount the volume read-only inside the container. `container-dest` must be an _absolute_ path.
|
||||
- `host-src:container-dest[:options]` to bind-mount a host path
|
||||
into the container. Both `host-src`, and `container-dest` must
|
||||
be an _absolute_ path.
|
||||
- `volume-name:container-dest[:options]` to bind-mount a volume
|
||||
managed by a volume driver into the container. `container-dest`
|
||||
must be an _absolute_ path.
|
||||
|
||||
`options` is an optional, comma-delimited list of:
|
||||
|
||||
- `nocopy` disables automatic copying of data from the container
|
||||
path to the volume. The `nocopy` flag only applies to named volumes.
|
||||
- `[ro|rw]` mounts a volume read-only or read-write, respectively.
|
||||
If omitted or set to `rw`, volumes are mounted read-write.
|
||||
- `[z|Z]` applies SELinux labels to allow or deny multiple containers
|
||||
to read and write to the same volume.
|
||||
- `z`: a _shared_ content label is applied to the content. This
|
||||
label indicates that multiple containers can share the volume
|
||||
content, for both reading and writing.
|
||||
- `Z`: a _private unshared_ label is applied to the content.
|
||||
This label indicates that only the current container can use
|
||||
a private volume. Labeling systems such as SELinux require
|
||||
proper labels to be placed on volume content that is mounted
|
||||
into a container. Without a label, the security system can
|
||||
prevent a container's processes from using the content. By
|
||||
default, the labels set by the host operating system are not
|
||||
modified.
|
||||
- `[[r]shared|[r]slave|[r]private]` specifies mount
|
||||
[propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).
|
||||
This only applies to bind-mounted volumes, not internal volumes
|
||||
or named volumes. Mount propagation requires the source mount
|
||||
point (the location where the source directory is mounted in the
|
||||
host operating system) to have the correct propagation properties.
|
||||
For shared volumes, the source mount point must be set to `shared`.
|
||||
For slave volumes, the mount must be set to either `shared` or
|
||||
`slave`.
|
||||
items:
|
||||
type: "string"
|
||||
ContainerIDFile:
|
||||
@@ -2949,7 +3046,27 @@ definitions:
|
||||
type: "object"
|
||||
properties:
|
||||
Constraints:
|
||||
description: "An array of constraints."
|
||||
description: |
|
||||
An array of constraint expressions to limit the set of nodes where
|
||||
a task can be scheduled. Constraint expressions can either use a
|
||||
_match_ (`==`) or _exclude_ (`!=`) rule. Multiple constraints find
|
||||
nodes that satisfy every expression (AND match). Constraints can
|
||||
match node or Docker Engine labels as follows:
|
||||
|
||||
node attribute | matches | example
|
||||
---------------------|--------------------------------|-----------------------------------------------
|
||||
`node.id` | Node ID | `node.id==2ivku8v2gvtg4`
|
||||
`node.hostname` | Node hostname | `node.hostname!=node-2`
|
||||
`node.role` | Node role (`manager`/`worker`) | `node.role==manager`
|
||||
`node.platform.os` | Node operating system | `node.platform.os==windows`
|
||||
`node.platform.arch` | Node architecture | `node.platform.arch==x86_64`
|
||||
`node.labels` | User-defined node labels | `node.labels.security==high`
|
||||
`engine.labels` | Docker Engine's labels | `engine.labels.operatingsystem==ubuntu-14.04`
|
||||
|
||||
`engine.labels` apply to Docker Engine labels like operating system,
|
||||
drivers, etc. Swarm administrators add `node.labels` for operational
|
||||
purposes by using the [`node update endpoint`](#operation/NodeUpdate).
|
||||
|
||||
type: "array"
|
||||
items:
|
||||
type: "string"
|
||||
@@ -2957,6 +3074,8 @@ definitions:
|
||||
- "node.hostname!=node3.corp.example.com"
|
||||
- "node.role!=manager"
|
||||
- "node.labels.type==production"
|
||||
- "node.platform.os==linux"
|
||||
- "node.platform.arch==x86_64"
|
||||
Preferences:
|
||||
description: "Preferences provide a way to make the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence."
|
||||
type: "array"
|
||||
@@ -3086,6 +3205,12 @@ definitions:
|
||||
type: "integer"
|
||||
DesiredState:
|
||||
$ref: "#/definitions/TaskState"
|
||||
JobIteration:
|
||||
description: |
|
||||
If the Service this Task belongs to is a job-mode service, contains
|
||||
the JobIteration of the Service this Task was created for. Absent if
|
||||
the Task was created for a Replicated or Global Service.
|
||||
$ref: "#/definitions/ObjectVersion"
|
||||
example:
|
||||
ID: "0kzzo1i0y4jz6027t0k7aezc7"
|
||||
Version:
|
||||
@@ -3178,6 +3303,22 @@ definitions:
|
||||
format: "int64"
|
||||
Global:
|
||||
type: "object"
|
||||
ReplicatedJob:
|
||||
description: "The mode used for services with a finite number of tasks that run to a completed state."
|
||||
type: "object"
|
||||
properties:
|
||||
MaxConcurrent:
|
||||
description: "The maximum number of replicas to run simultaneously."
|
||||
type: "integer"
|
||||
format: "int64"
|
||||
default: 1
|
||||
TotalCompletions:
|
||||
description: "The total number of replicas desired to reach the Completed state. If unset, will default to the value of MaxConcurrent"
|
||||
type: "integer"
|
||||
format: "int64"
|
||||
GlobalJob:
|
||||
description: "The mode used for services which run a task to the completed state on each valid node."
|
||||
type: "object"
|
||||
UpdateConfig:
|
||||
description: "Specification for the update strategy of the service."
|
||||
type: "object"
|
||||
@@ -3378,6 +3519,37 @@ definitions:
|
||||
type: "integer"
|
||||
format: "uint64"
|
||||
example: 10
|
||||
CompletedTasks:
|
||||
description: |
|
||||
The number of tasks for a job that are in the Completed state.
|
||||
This field must be cross-referenced with the service type, as the
|
||||
value of 0 may mean the service is not in a job mode, or it may
|
||||
mean the job-mode service has no tasks yet Completed.
|
||||
type: "integer"
|
||||
format: "uint64"
|
||||
JobStatus:
|
||||
description: |
|
||||
The status of the service when it is in one of ReplicatedJob or
|
||||
GlobalJob modes. Absent on Replicated and Global mode services. The
|
||||
JobIteration is an ObjectVersion, but unlike the Service's version,
|
||||
does not need to be sent with an update request.
|
||||
type: "object"
|
||||
properties:
|
||||
JobIteration:
|
||||
description: |
|
||||
JobIteration is a value increased each time a Job is executed,
|
||||
successfully or otherwise. "Executed", in this case, means the
|
||||
job as a whole has been started, not that an individual Task has
|
||||
been launched. A job is "Executed" when its ServiceSpec is
|
||||
updated. JobIteration can be used to disambiguate Tasks belonging
|
||||
to different executions of a job. Though JobIteration will
|
||||
increase with each subsequent execution, it may not necessarily
|
||||
increase by 1, and so JobIteration should not be used to
|
||||
$ref: "#/definitions/ObjectVersion"
|
||||
LastExecution:
|
||||
description: "The last time, as observed by the server, that this job was started"
|
||||
type: "string"
|
||||
format: "dateTime"
|
||||
example:
|
||||
ID: "9mnpnzenvg8p8tdbtq4wvbkcz"
|
||||
Version:
|
||||
@@ -3566,7 +3738,7 @@ definitions:
|
||||
com.example.some-other-label: "some-other-value"
|
||||
Data:
|
||||
description: |
|
||||
Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2))
|
||||
Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))
|
||||
data to store as secret.
|
||||
|
||||
This field is only used to _create_ a secret, and is not returned by
|
||||
@@ -3616,7 +3788,7 @@ definitions:
|
||||
type: "string"
|
||||
Data:
|
||||
description: |
|
||||
Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2))
|
||||
Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-5))
|
||||
config data.
|
||||
type: "string"
|
||||
Templating:
|
||||
@@ -3643,6 +3815,70 @@ definitions:
|
||||
Spec:
|
||||
$ref: "#/definitions/ConfigSpec"
|
||||
|
||||
ContainerState:
|
||||
description: |
|
||||
ContainerState stores container's running state. It's part of ContainerJSONBase
|
||||
and will be returned by the "inspect" command.
|
||||
type: "object"
|
||||
properties:
|
||||
Status:
|
||||
description: |
|
||||
String representation of the container state. Can be one of "created",
|
||||
"running", "paused", "restarting", "removing", "exited", or "dead".
|
||||
type: "string"
|
||||
enum: ["created", "running", "paused", "restarting", "removing", "exited", "dead"]
|
||||
example: "running"
|
||||
Running:
|
||||
description: |
|
||||
Whether this container is running.
|
||||
|
||||
Note that a running container can be _paused_. The `Running` and `Paused`
|
||||
booleans are not mutually exclusive:
|
||||
|
||||
When pausing a container (on Linux), the freezer cgroup is used to suspend
|
||||
all processes in the container. Freezing the process requires the process to
|
||||
be running. As a result, paused containers are both `Running` _and_ `Paused`.
|
||||
|
||||
Use the `Status` field instead to determine if a container's state is "running".
|
||||
type: "boolean"
|
||||
example: true
|
||||
Paused:
|
||||
description: "Whether this container is paused."
|
||||
type: "boolean"
|
||||
example: false
|
||||
Restarting:
|
||||
description: "Whether this container is restarting."
|
||||
type: "boolean"
|
||||
example: false
|
||||
OOMKilled:
|
||||
description: "Whether this container has been killed because it ran out of memory."
|
||||
type: "boolean"
|
||||
example: false
|
||||
Dead:
|
||||
type: "boolean"
|
||||
example: false
|
||||
Pid:
|
||||
description: "The process ID of this container"
|
||||
type: "integer"
|
||||
example: 1234
|
||||
ExitCode:
|
||||
description: "The last exit code of this container"
|
||||
type: "integer"
|
||||
example: 0
|
||||
Error:
|
||||
type: "string"
|
||||
StartedAt:
|
||||
description: "The time when this container was last started."
|
||||
type: "string"
|
||||
example: "2020-01-06T09:06:59.461876391Z"
|
||||
FinishedAt:
|
||||
description: "The time when this container last exited."
|
||||
type: "string"
|
||||
example: "2020-01-06T09:07:59.461876391Z"
|
||||
Health:
|
||||
x-nullable: true
|
||||
$ref: "#/definitions/Health"
|
||||
|
||||
SystemInfo:
|
||||
type: "object"
|
||||
properties:
|
||||
@@ -3717,44 +3953,6 @@ definitions:
|
||||
on Windows.
|
||||
type: "string"
|
||||
example: "/var/lib/docker"
|
||||
SystemStatus:
|
||||
description: |
|
||||
Status information about this node (standalone Swarm API).
|
||||
|
||||
<p><br /></p>
|
||||
|
||||
> **Note**: The information returned in this field is only propagated
|
||||
> by the Swarm standalone API, and is empty (`null`) when using
|
||||
> built-in swarm mode.
|
||||
type: "array"
|
||||
items:
|
||||
type: "array"
|
||||
items:
|
||||
type: "string"
|
||||
example:
|
||||
- ["Role", "primary"]
|
||||
- ["State", "Healthy"]
|
||||
- ["Strategy", "spread"]
|
||||
- ["Filters", "health, port, containerslots, dependency, affinity, constraint, whitelist"]
|
||||
- ["Nodes", "2"]
|
||||
- [" swarm-agent-00", "192.168.99.102:2376"]
|
||||
- [" └ ID", "5CT6:FBGO:RVGO:CZL4:PB2K:WCYN:2JSV:KSHH:GGFW:QOPG:6J5Q:IOZ2|192.168.99.102:2376"]
|
||||
- [" └ Status", "Healthy"]
|
||||
- [" └ Containers", "1 (1 Running, 0 Paused, 0 Stopped)"]
|
||||
- [" └ Reserved CPUs", "0 / 1"]
|
||||
- [" └ Reserved Memory", "0 B / 1.021 GiB"]
|
||||
- [" └ Labels", "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs"]
|
||||
- [" └ UpdatedAt", "2017-08-09T10:03:46Z"]
|
||||
- [" └ ServerVersion", "17.06.0-ce"]
|
||||
- [" swarm-manager", "192.168.99.101:2376"]
|
||||
- [" └ ID", "TAMD:7LL3:SEF7:LW2W:4Q2X:WVFH:RTXX:JSYS:XY2P:JEHL:ZMJK:JGIW|192.168.99.101:2376"]
|
||||
- [" └ Status", "Healthy"]
|
||||
- [" └ Containers", "2 (2 Running, 0 Paused, 0 Stopped)"]
|
||||
- [" └ Reserved CPUs", "0 / 1"]
|
||||
- [" └ Reserved Memory", "0 B / 1.021 GiB"]
|
||||
- [" └ Labels", "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs"]
|
||||
- [" └ UpdatedAt", "2017-08-09T10:04:11Z"]
|
||||
- [" └ ServerVersion", "17.06.0-ce"]
|
||||
Plugins:
|
||||
$ref: "#/definitions/PluginsInfo"
|
||||
MemoryLimit:
|
||||
@@ -4885,52 +5083,8 @@ paths:
|
||||
items:
|
||||
type: "string"
|
||||
State:
|
||||
description: "The state of the container."
|
||||
type: "object"
|
||||
properties:
|
||||
Status:
|
||||
description: |
|
||||
The status of the container. For example, `"running"` or `"exited"`.
|
||||
type: "string"
|
||||
enum: ["created", "running", "paused", "restarting", "removing", "exited", "dead"]
|
||||
Running:
|
||||
description: |
|
||||
Whether this container is running.
|
||||
|
||||
Note that a running container can be _paused_. The `Running` and `Paused`
|
||||
booleans are not mutually exclusive:
|
||||
|
||||
When pausing a container (on Linux), the freezer cgroup is used to suspend
|
||||
all processes in the container. Freezing the process requires the process to
|
||||
be running. As a result, paused containers are both `Running` _and_ `Paused`.
|
||||
|
||||
Use the `Status` field instead to determine if a container's state is "running".
|
||||
type: "boolean"
|
||||
Paused:
|
||||
description: "Whether this container is paused."
|
||||
type: "boolean"
|
||||
Restarting:
|
||||
description: "Whether this container is restarting."
|
||||
type: "boolean"
|
||||
OOMKilled:
|
||||
description: "Whether this container has been killed because it ran out of memory."
|
||||
type: "boolean"
|
||||
Dead:
|
||||
type: "boolean"
|
||||
Pid:
|
||||
description: "The process ID of this container"
|
||||
type: "integer"
|
||||
ExitCode:
|
||||
description: "The last exit code of this container"
|
||||
type: "integer"
|
||||
Error:
|
||||
type: "string"
|
||||
StartedAt:
|
||||
description: "The time when this container was last started."
|
||||
type: "string"
|
||||
FinishedAt:
|
||||
description: "The time when this container last exited."
|
||||
type: "string"
|
||||
x-nullable: true
|
||||
$ref: "#/definitions/ContainerState"
|
||||
Image:
|
||||
description: "The container's image"
|
||||
type: "string"
|
||||
@@ -4942,9 +5096,6 @@ paths:
|
||||
type: "string"
|
||||
LogPath:
|
||||
type: "string"
|
||||
Node:
|
||||
description: "TODO"
|
||||
type: "object"
|
||||
Name:
|
||||
type: "string"
|
||||
RestartCount:
|
||||
@@ -5002,6 +5153,8 @@ paths:
|
||||
Domainname: ""
|
||||
Env:
|
||||
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||
Healthcheck:
|
||||
Test: ["CMD-SHELL", "exit 0"]
|
||||
Hostname: "ba033ac44011"
|
||||
Image: "ubuntu"
|
||||
Labels:
|
||||
@@ -5113,6 +5266,14 @@ paths:
|
||||
Error: ""
|
||||
ExitCode: 9
|
||||
FinishedAt: "2015-01-06T15:47:32.080254511Z"
|
||||
Health:
|
||||
Status: "healthy"
|
||||
FailingStreak: 0
|
||||
Log:
|
||||
- Start: "2019-12-22T10:59:05.6385933Z"
|
||||
End: "2019-12-22T10:59:05.8078452Z"
|
||||
ExitCode: 0
|
||||
Output: ""
|
||||
OOMKilled: false
|
||||
Dead: false
|
||||
Paused: false
|
||||
@@ -6667,6 +6828,10 @@ paths:
|
||||
in: "query"
|
||||
description: "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled."
|
||||
type: "string"
|
||||
- name: "message"
|
||||
in: "query"
|
||||
description: "Set commit message for imported image."
|
||||
type: "string"
|
||||
- name: "inputImage"
|
||||
in: "body"
|
||||
description: "Image content if the value `-` has been specified in fromSrc query parameter"
|
||||
@@ -6675,7 +6840,7 @@ paths:
|
||||
required: false
|
||||
- name: "X-Registry-Auth"
|
||||
in: "header"
|
||||
description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
|
||||
description: "A base64url-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
|
||||
type: "string"
|
||||
- name: "platform"
|
||||
in: "query"
|
||||
@@ -6903,7 +7068,7 @@ paths:
|
||||
type: "string"
|
||||
- name: "X-Registry-Auth"
|
||||
in: "header"
|
||||
description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
|
||||
description: "A base64url-encoded auth configuration. [See the authentication section for details.](#section/Authentication)"
|
||||
type: "string"
|
||||
required: true
|
||||
tags: ["Image"]
|
||||
@@ -8609,7 +8774,7 @@ paths:
|
||||
type: "string"
|
||||
- name: "X-Registry-Auth"
|
||||
in: "header"
|
||||
description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
|
||||
description: "A base64url-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
|
||||
type: "string"
|
||||
- name: "body"
|
||||
in: "body"
|
||||
@@ -8774,7 +8939,7 @@ paths:
|
||||
type: "string"
|
||||
- name: "X-Registry-Auth"
|
||||
in: "header"
|
||||
description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
|
||||
description: "A base64url-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)"
|
||||
type: "string"
|
||||
- name: "body"
|
||||
in: "body"
|
||||
@@ -9471,7 +9636,7 @@ paths:
|
||||
foo: "bar"
|
||||
- name: "X-Registry-Auth"
|
||||
in: "header"
|
||||
description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
|
||||
description: "A base64url-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
|
||||
type: "string"
|
||||
tags: ["Service"]
|
||||
/services/{id}:
|
||||
@@ -9630,7 +9795,7 @@ paths:
|
||||
type: "string"
|
||||
- name: "X-Registry-Auth"
|
||||
in: "header"
|
||||
description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
|
||||
description: "A base64url-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
|
||||
type: "string"
|
||||
|
||||
tags: ["Service"]
|
||||
|
||||
+3
-3
@@ -50,7 +50,7 @@ type ContainerCommitOptions struct {
|
||||
|
||||
// ContainerExecInspect holds information returned by exec inspect.
|
||||
type ContainerExecInspect struct {
|
||||
ExecID string
|
||||
ExecID string `json:"ID"`
|
||||
ContainerID string
|
||||
Running bool
|
||||
ExitCode int
|
||||
@@ -205,7 +205,7 @@ const (
|
||||
// BuilderV1 is the first generation builder in docker daemon
|
||||
BuilderV1 BuilderVersion = "1"
|
||||
// BuilderBuildKit is builder based on moby/buildkit project
|
||||
BuilderBuildKit = "2"
|
||||
BuilderBuildKit BuilderVersion = "2"
|
||||
)
|
||||
|
||||
// ImageBuildResponse holds information
|
||||
@@ -265,7 +265,7 @@ type ImagePullOptions struct {
|
||||
// if the privilege request fails.
|
||||
type RequestPrivilegeFunc func() (string, error)
|
||||
|
||||
//ImagePushOptions holds information to push images.
|
||||
// ImagePushOptions holds information to push images.
|
||||
type ImagePushOptions ImagePullOptions
|
||||
|
||||
// ImageRemoveOptions holds parameters to remove images.
|
||||
|
||||
+1
-1
@@ -145,7 +145,7 @@ func (n NetworkMode) ConnectedContainer() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
//UserDefined indicates user-created network
|
||||
// UserDefined indicates user-created network
|
||||
func (n NetworkMode) UserDefined() string {
|
||||
if n.IsUserDefined() {
|
||||
return string(n)
|
||||
|
||||
+3
-3
@@ -154,7 +154,7 @@ func (args Args) Len() int {
|
||||
func (args Args) MatchKVList(key string, sources map[string]string) bool {
|
||||
fieldValues := args.fields[key]
|
||||
|
||||
//do not filter if there is no filter set or cannot determine filter
|
||||
// do not filter if there is no filter set or cannot determine filter
|
||||
if len(fieldValues) == 0 {
|
||||
return true
|
||||
}
|
||||
@@ -200,7 +200,7 @@ func (args Args) Match(field, source string) bool {
|
||||
// ExactMatch returns true if the source matches exactly one of the values.
|
||||
func (args Args) ExactMatch(key, source string) bool {
|
||||
fieldValues, ok := args.fields[key]
|
||||
//do not filter if there is no filter set or cannot determine filter
|
||||
// do not filter if there is no filter set or cannot determine filter
|
||||
if !ok || len(fieldValues) == 0 {
|
||||
return true
|
||||
}
|
||||
@@ -213,7 +213,7 @@ func (args Args) ExactMatch(key, source string) bool {
|
||||
// matches exactly the value.
|
||||
func (args Args) UniqueExactMatch(key, source string) bool {
|
||||
fieldValues := args.fields[key]
|
||||
//do not filter if there is no filter set or cannot determine filter
|
||||
// do not filter if there is no filter set or cannot determine filter
|
||||
if len(fieldValues) == 0 {
|
||||
return true
|
||||
}
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ type Address struct {
|
||||
// IPAM represents IP Address Management
|
||||
type IPAM struct {
|
||||
Driver string
|
||||
Options map[string]string //Per network IPAM driver options
|
||||
Options map[string]string // Per network IPAM driver options
|
||||
Config []IPAMConfig
|
||||
}
|
||||
|
||||
|
||||
+59
-2
@@ -17,6 +17,10 @@ type Service struct {
|
||||
// listing all tasks for a service, an operation that could be
|
||||
// computation and network expensive.
|
||||
ServiceStatus *ServiceStatus `json:",omitempty"`
|
||||
|
||||
// JobStatus is the status of a Service which is in one of ReplicatedJob or
|
||||
// GlobalJob modes. It is absent on Replicated and Global services.
|
||||
JobStatus *JobStatus `json:",omitempty"`
|
||||
}
|
||||
|
||||
// ServiceSpec represents the spec of a service.
|
||||
@@ -39,8 +43,10 @@ type ServiceSpec struct {
|
||||
|
||||
// ServiceMode represents the mode of a service.
|
||||
type ServiceMode struct {
|
||||
Replicated *ReplicatedService `json:",omitempty"`
|
||||
Global *GlobalService `json:",omitempty"`
|
||||
Replicated *ReplicatedService `json:",omitempty"`
|
||||
Global *GlobalService `json:",omitempty"`
|
||||
ReplicatedJob *ReplicatedJob `json:",omitempty"`
|
||||
GlobalJob *GlobalJob `json:",omitempty"`
|
||||
}
|
||||
|
||||
// UpdateState is the state of a service update.
|
||||
@@ -77,6 +83,32 @@ type ReplicatedService struct {
|
||||
// GlobalService is a kind of ServiceMode.
|
||||
type GlobalService struct{}
|
||||
|
||||
// ReplicatedJob is the a type of Service which executes a defined Tasks
|
||||
// in parallel until the specified number of Tasks have succeeded.
|
||||
type ReplicatedJob struct {
|
||||
// MaxConcurrent indicates the maximum number of Tasks that should be
|
||||
// executing simultaneously for this job at any given time. There may be
|
||||
// fewer Tasks that MaxConcurrent executing simultaneously; for example, if
|
||||
// there are fewer than MaxConcurrent tasks needed to reach
|
||||
// TotalCompletions.
|
||||
//
|
||||
// If this field is empty, it will default to a max concurrency of 1.
|
||||
MaxConcurrent *uint64 `json:",omitempty"`
|
||||
|
||||
// TotalCompletions is the total number of Tasks desired to run to
|
||||
// completion.
|
||||
//
|
||||
// If this field is empty, the value of MaxConcurrent will be used.
|
||||
TotalCompletions *uint64 `json:",omitempty"`
|
||||
}
|
||||
|
||||
// GlobalJob is the type of a Service which executes a Task on every Node
|
||||
// matching the Service's placement constraints. These tasks run to completion
|
||||
// and then exit.
|
||||
//
|
||||
// This type is deliberately empty.
|
||||
type GlobalJob struct{}
|
||||
|
||||
const (
|
||||
// UpdateFailureActionPause PAUSE
|
||||
UpdateFailureActionPause = "pause"
|
||||
@@ -142,4 +174,29 @@ type ServiceStatus struct {
|
||||
// services, this is computed by taking the number of tasks with desired
|
||||
// state of not-Shutdown.
|
||||
DesiredTasks uint64
|
||||
|
||||
// CompletedTasks is the number of tasks in the state Completed, if this
|
||||
// service is in ReplicatedJob or GlobalJob mode. This field must be
|
||||
// cross-referenced with the service type, because the default value of 0
|
||||
// may mean that a service is not in a job mode, or it may mean that the
|
||||
// job has yet to complete any tasks.
|
||||
CompletedTasks uint64
|
||||
}
|
||||
|
||||
// JobStatus is the status of a job-type service.
|
||||
type JobStatus struct {
|
||||
// JobIteration is a value increased each time a Job is executed,
|
||||
// successfully or otherwise. "Executed", in this case, means the job as a
|
||||
// whole has been started, not that an individual Task has been launched. A
|
||||
// job is "Executed" when its ServiceSpec is updated. JobIteration can be
|
||||
// used to disambiguate Tasks belonging to different executions of a job.
|
||||
//
|
||||
// Though JobIteration will increase with each subsequent execution, it may
|
||||
// not necessarily increase by 1, and so JobIteration should not be used to
|
||||
// keep track of the number of times a job has been executed.
|
||||
JobIteration Version
|
||||
|
||||
// LastExecution is the time that the job was last executed, as observed by
|
||||
// Swarm manager.
|
||||
LastExecution time.Time `json:",omitempty"`
|
||||
}
|
||||
|
||||
+6
@@ -56,6 +56,12 @@ type Task struct {
|
||||
DesiredState TaskState `json:",omitempty"`
|
||||
NetworksAttachments []NetworkAttachment `json:",omitempty"`
|
||||
GenericResources []GenericResource `json:",omitempty"`
|
||||
|
||||
// JobIteration is the JobIteration of the Service that this Task was
|
||||
// spawned from, if the Service is a ReplicatedJob or GlobalJob. This is
|
||||
// used to determine which Tasks belong to which run of the job. This field
|
||||
// is absent if the Service mode is Replicated or Global.
|
||||
JobIteration *Version `json:",omitempty"`
|
||||
}
|
||||
|
||||
// TaskSpec represents the spec of a task.
|
||||
|
||||
+3
-3
@@ -154,7 +154,7 @@ type Info struct {
|
||||
Images int
|
||||
Driver string
|
||||
DriverStatus [][2]string
|
||||
SystemStatus [][2]string
|
||||
SystemStatus [][2]string `json:",omitempty"` // SystemStatus is only propagated by the Swarm standalone API
|
||||
Plugins PluginsInfo
|
||||
MemoryLimit bool
|
||||
SwapLimit bool
|
||||
@@ -318,7 +318,7 @@ type ContainerState struct {
|
||||
}
|
||||
|
||||
// ContainerNode stores information about the node that a container
|
||||
// is running on. It's only available in Docker Swarm
|
||||
// is running on. It's only used by the Docker Swarm standalone API
|
||||
type ContainerNode struct {
|
||||
ID string
|
||||
IPAddress string `json:"IP"`
|
||||
@@ -342,7 +342,7 @@ type ContainerJSONBase struct {
|
||||
HostnamePath string
|
||||
HostsPath string
|
||||
LogPath string
|
||||
Node *ContainerNode `json:",omitempty"`
|
||||
Node *ContainerNode `json:",omitempty"` // Node is only propagated by Docker Swarm standalone API
|
||||
Name string
|
||||
RestartCount int
|
||||
Driver string
|
||||
|
||||
Reference in New Issue
Block a user