mirror of
https://github.com/docker/docs.git
synced 2026-11-04 10:01:00 +00:00
compose vendor update (#25180)
<!--Delete sections as needed --> ## Description <!-- Tell us what you did and why --> ## Related issues or tickets <!-- Related issues, pull requests, or Jira tickets --> ## Reviews <!-- Notes for reviewers here --> <!-- List applicable reviews (optionally @tag reviewers) --> - [ ] Technical review - [ ] Editorial review - [ ] Product review Signed-off-by: aevesdocker <allie.sadler@docker.com>
This commit is contained in:
1 parent
d95336d485
commit
6a765ba034
7 files changed
+46
-15
No files matched your search
@@ -75,8 +75,10 @@ Each request sent to the plugin includes the authenticated user, the HTTP
|
||||
headers, and the request/response body. Only the user name and the
|
||||
authentication method used are passed to the plugin. Most importantly, no user
|
||||
credentials or tokens are passed. Finally, not all request/response bodies
|
||||
are sent to the authorization plugin. Only those request/response bodies where
|
||||
the `Content-Type` is either `text/*` or `application/json` are sent.
|
||||
are sent to the authorization plugin. Only request/response bodies where
|
||||
the `Content-Type` is `application/json` are sent to the authorization plugin;
|
||||
bodies of any other `Content-Type` are not visible to the plugin and cannot
|
||||
be used for enforcement, even though the daemon may still act on this data.
|
||||
|
||||
For commands that can potentially hijack the HTTP connection (`HTTP
|
||||
Upgrade`), such as `exec`, the authorization plugin is only called for the
|
||||
@@ -86,6 +88,31 @@ passed to the authorization plugins. For commands that return chunked HTTP
|
||||
response, such as `logs` and `events`, only the HTTP request is sent to the
|
||||
authorization plugins.
|
||||
|
||||
### Response body size and partial buffering
|
||||
|
||||
The internal buffer that holds the response body between the daemon's HTTP
|
||||
handler and the plugin's response authorization callback (`responseModifier`,
|
||||
defined in [`pkg/authorization/response.go`](https://github.com/moby/moby/blob/master/pkg/authorization/response.go))
|
||||
has a fixed capacity of 64 KiB (`maxBufferSize`).
|
||||
|
||||
For most non-streaming endpoints the full response is buffered for plugin
|
||||
inspection regardless of total size, because Go's `encoding/json` encoder
|
||||
serializes the complete payload into a single underlying write. The
|
||||
streaming-response exclusion noted above (for example, `logs` and `events`)
|
||||
is the practical effect of this 64 KiB threshold combined with the
|
||||
`io.WriteFlusher` write pattern used by streaming handlers, where each write
|
||||
is immediately drained to the client and is therefore no longer available
|
||||
for plugin inspection by the time the handler returns.
|
||||
|
||||
> [!NOTE]
|
||||
> Plugins that depend on `ResponseBody` inspection for redaction or
|
||||
> content-filtering should restrict their policies to endpoints whose
|
||||
> response is produced as a single write (typical of REST-style API
|
||||
> responses). For commands whose responses are streamed or are likely to
|
||||
> exceed the buffer through multiple writes, do not rely on `ResponseBody`
|
||||
> for security-relevant decisions; perform the filtering in a separate
|
||||
> layer in front of the daemon.
|
||||
|
||||
During request/response processing, some authorization flows might
|
||||
need to do additional queries to the Docker daemon. To complete such flows,
|
||||
plugins can call the daemon API similar to a regular user. To enable these
|
||||
|
||||
@@ -958,8 +958,6 @@ the `--cgroup-parent` option on the daemon.
|
||||
#### Daemon metrics
|
||||
|
||||
The `--metrics-addr` option takes a TCP address to serve the metrics API.
|
||||
This feature is still experimental, therefore, the daemon must be running in experimental
|
||||
mode for this feature to work.
|
||||
|
||||
To serve the metrics API on `localhost:9323` you would specify `--metrics-addr 127.0.0.1:9323`,
|
||||
allowing you to make requests on the API at `127.0.0.1:9323/metrics` to receive metrics in the
|
||||
|
||||
@@ -7,7 +7,7 @@ With this subcommand, you can run arbitrary commands in your services. Commands
|
||||
you can use a command such as `docker compose exec web sh` to get an interactive prompt.
|
||||
|
||||
By default, Compose will enter container in interactive mode and allocate a TTY, while the equivalent `docker exec`
|
||||
command requires passing `--interactive --tty` flags to get the same behavior. Compose also support those two flags
|
||||
command requires passing `--interactive --tty` flags to get the same behavior. Compose also supports those two flags
|
||||
to offer a smooth migration between commands, whenever they are no-op by default. Still, `interactive` can be used to
|
||||
force disabling interactive mode (`--interactive=false`), typically when `docker compose exec` command is used inside
|
||||
a script.
|
||||
@@ -35,8 +35,8 @@ This is the equivalent of `docker exec` targeting a Compose service.
|
||||
With this subcommand, you can run arbitrary commands in your services. Commands allocate a TTY by default, so
|
||||
you can use a command such as `docker compose exec web sh` to get an interactive prompt.
|
||||
|
||||
By default, Compose will enter container in interactive mode and allocate a TTY, while the equivalent `docker exec`
|
||||
command requires passing `--interactive --tty` flags to get the same behavior. Compose also support those two flags
|
||||
to offer a smooth migration between commands, whenever they are no-op by default. Still, `interactive` can be used to
|
||||
force disabling interactive mode (`--interactive=false`), typically when `docker compose exec` command is used inside
|
||||
a script.
|
||||
By default, Compose will enter container in interactive mode and allocate a TTY, while the equivalent `docker exec`
|
||||
command requires passing `--interactive --tty` flags to get the same behavior. Compose also supports those two flags
|
||||
to offer a smooth migration between commands, whenever they are no-op by default. Still, `interactive` can be used to
|
||||
force disabling interactive mode (`--interactive=false`), typically when `docker compose exec` command is used inside
|
||||
a script.
|
||||
+1
-1
@@ -7,7 +7,7 @@ long: |-
|
||||
you can use a command such as `docker compose exec web sh` to get an interactive prompt.
|
||||
|
||||
By default, Compose will enter container in interactive mode and allocate a TTY, while the equivalent `docker exec`
|
||||
command requires passing `--interactive --tty` flags to get the same behavior. Compose also support those two flags
|
||||
command requires passing `--interactive --tty` flags to get the same behavior. Compose also supports those two flags
|
||||
to offer a smooth migration between commands, whenever they are no-op by default. Still, `interactive` can be used to
|
||||
force disabling interactive mode (`--interactive=false`), typically when `docker compose exec` command is used inside
|
||||
a script.
|
||||
|
||||
Generated
+2
-2
@@ -1,6 +1,6 @@
|
||||
# github.com/moby/moby/api v1.54.2
|
||||
# github.com/moby/buildkit v0.30.0
|
||||
# github.com/docker/buildx v0.34.1
|
||||
# github.com/docker/cli v29.4.3+incompatible
|
||||
# github.com/docker/compose/v5 v5.1.2
|
||||
# github.com/docker/cli v29.5.1+incompatible
|
||||
# github.com/docker/compose/v5 v5.1.4
|
||||
# github.com/docker/model-runner v1.1.36
|
||||
@@ -9,8 +9,8 @@ go 1.26.0
|
||||
// Make sure to add an entry in the "tools" section when adding a new repository.
|
||||
require (
|
||||
github.com/docker/buildx v0.34.1
|
||||
github.com/docker/cli v29.4.3+incompatible
|
||||
github.com/docker/compose/v5 v5.1.2
|
||||
github.com/docker/cli v29.5.1+incompatible
|
||||
github.com/docker/compose/v5 v5.1.4
|
||||
github.com/docker/model-runner v1.1.36
|
||||
github.com/moby/buildkit v0.30.0
|
||||
github.com/moby/moby/api v1.54.2
|
||||
|
||||
@@ -95,6 +95,8 @@ github.com/docker/cli v29.4.0+incompatible h1:+IjXULMetlvWJiuSI0Nbor36lcJ5BTcVpU
|
||||
github.com/docker/cli v29.4.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||
github.com/docker/cli v29.4.3+incompatible h1:u+UliYm2J/rYrIh2FqHQg32neRG8GjbvNuwQRTzGspU=
|
||||
github.com/docker/cli v29.4.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||
github.com/docker/cli v29.5.1+incompatible h1:NiufLAJoRcPauFoBNYthfuM4REFwM8H2h9xnLABNHGs=
|
||||
github.com/docker/cli v29.5.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
|
||||
github.com/docker/compose/v5 v5.0.0 h1:J2uMCzJ/5xLcoIVVXvMmPe6HBzVQpmJThKa7Qk7Xldc=
|
||||
github.com/docker/compose/v5 v5.0.0/go.mod h1:BurapGv8zmYnsbSmlpCz5EU2Pi3YFV/PjeUnoFpcw64=
|
||||
github.com/docker/compose/v5 v5.0.1 h1:5yCjDJbwUqcuI+6WNFHNWz2/3vyBDsNnfe8LlFjyxEc=
|
||||
@@ -103,6 +105,8 @@ github.com/docker/compose/v5 v5.0.2 h1:OTBsvKsim2rVNUBrb9pP5byiGG5trTt+uO3qr6WIQ
|
||||
github.com/docker/compose/v5 v5.0.2/go.mod h1:MbI7iBpjcgTN27JC4cYYR1mmfmaWEqEgqKKfbEGFK1c=
|
||||
github.com/docker/compose/v5 v5.1.2 h1:HxtfGZA0DESw/+hvrNJDjM8VKmCond7OkmgVJCHku48=
|
||||
github.com/docker/compose/v5 v5.1.2/go.mod h1:JJ2H+lRSugOH50/zxCbkBwN8jU91qDtRCp7gEHWZdgo=
|
||||
github.com/docker/compose/v5 v5.1.4 h1:72mGZplTVlbq6JxxhCW/bX2o1h+tT8mwt7mc+QtmA6o=
|
||||
github.com/docker/compose/v5 v5.1.4/go.mod h1:ImZiWTwIFm7BziHjX2MZVzwOiIkClXRzv+rkU18lQoc=
|
||||
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
|
||||
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||
github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM=
|
||||
@@ -222,6 +226,7 @@ github.com/mattn/go-runewidth v0.0.21 h1:jJKAZiQH+2mIinzCJIaIG9Be1+0NR+5sz/lYEEj
|
||||
github.com/mattn/go-runewidth v0.0.23 h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw=
|
||||
github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk=
|
||||
github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y=
|
||||
github.com/mattn/go-shellwords v1.0.13 h1:DC0OMEpGjm6LfNFU4ckYcvbQKyp2vE8atyFGXNtDcf4=
|
||||
github.com/microcosm-cc/bluemonday v1.0.27 h1:MpEUotklkwCSLeH+Qdx1VJgNqLlpY2KXwXFM08ygZfk=
|
||||
github.com/microcosm-cc/bluemonday v1.0.27/go.mod h1:jFi9vgW+H7c3V0lb6nR74Ib/DIB5OBs92Dimizgw2cA=
|
||||
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
|
||||
@@ -453,6 +458,7 @@ golang.org/x/sys v0.42.0 h1:omrd2nAlyT5ESRdCLYdm3+fMfNFE/+Rf4bDIQImRJeo=
|
||||
golang.org/x/sys v0.42.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||
golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
|
||||
golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
||||
golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
|
||||
golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
|
||||
golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
|
||||
golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q=
|
||||
|
||||
Reference in new issue
Block a user