mirror of https://github.com/docker/cli.git
vendor: github.com/docker/docker v27.2.0-dev (9942d656bade)
full diff: f9522e5e96...9942d656ba
Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
This commit is contained in:
parent
c5e733becc
commit
26536d1145
|
@ -13,7 +13,7 @@ require (
|
||||||
github.com/distribution/reference v0.6.0
|
github.com/distribution/reference v0.6.0
|
||||||
github.com/docker/cli-docs-tool v0.8.0
|
github.com/docker/cli-docs-tool v0.8.0
|
||||||
github.com/docker/distribution v2.8.3+incompatible
|
github.com/docker/distribution v2.8.3+incompatible
|
||||||
github.com/docker/docker v27.1.2-0.20240810135946-f9522e5e96c3+incompatible // 27.x branch (v27.1.2-dev)
|
github.com/docker/docker v27.1.3-0.20240816164736-9942d656bade+incompatible // 27.x branch (v27.2.0-dev)
|
||||||
github.com/docker/docker-credential-helpers v0.8.2
|
github.com/docker/docker-credential-helpers v0.8.2
|
||||||
github.com/docker/go-connections v0.5.0
|
github.com/docker/go-connections v0.5.0
|
||||||
github.com/docker/go-units v0.5.0
|
github.com/docker/go-units v0.5.0
|
||||||
|
|
|
@ -57,8 +57,8 @@ github.com/docker/cli-docs-tool v0.8.0/go.mod h1:8TQQ3E7mOXoYUs811LiPdUnAhXrcVsB
|
||||||
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||||
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
|
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/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||||
github.com/docker/docker v27.1.2-0.20240810135946-f9522e5e96c3+incompatible h1:cDD1nJea6JwvYwLjAZG+6CFlzSTSi9swKUz0qaHwTYA=
|
github.com/docker/docker v27.1.3-0.20240816164736-9942d656bade+incompatible h1:UJ/AVeqmT18bXZ4a7+OVMGbx1caauQuVeGjqMGESeYc=
|
||||||
github.com/docker/docker v27.1.2-0.20240810135946-f9522e5e96c3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
github.com/docker/docker v27.1.3-0.20240816164736-9942d656bade+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||||
github.com/docker/docker-credential-helpers v0.8.2 h1:bX3YxiGzFP5sOXWc3bTPEXdEaZSeVMrFgOr3T+zrFAo=
|
github.com/docker/docker-credential-helpers v0.8.2 h1:bX3YxiGzFP5sOXWc3bTPEXdEaZSeVMrFgOr3T+zrFAo=
|
||||||
github.com/docker/docker-credential-helpers v0.8.2/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M=
|
github.com/docker/docker-credential-helpers v0.8.2/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M=
|
||||||
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0=
|
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0=
|
||||||
|
|
|
@ -3,7 +3,7 @@ package api // import "github.com/docker/docker/api"
|
||||||
// Common constants for daemon and client.
|
// Common constants for daemon and client.
|
||||||
const (
|
const (
|
||||||
// DefaultVersion of the current REST API.
|
// DefaultVersion of the current REST API.
|
||||||
DefaultVersion = "1.46"
|
DefaultVersion = "1.47"
|
||||||
|
|
||||||
// MinSupportedAPIVersion is the minimum API version that can be supported
|
// MinSupportedAPIVersion is the minimum API version that can be supported
|
||||||
// by the API server, specified as "major.minor". Note that the daemon
|
// by the API server, specified as "major.minor". Note that the daemon
|
||||||
|
|
|
@ -19,10 +19,10 @@ produces:
|
||||||
consumes:
|
consumes:
|
||||||
- "application/json"
|
- "application/json"
|
||||||
- "text/plain"
|
- "text/plain"
|
||||||
basePath: "/v1.46"
|
basePath: "/v1.47"
|
||||||
info:
|
info:
|
||||||
title: "Docker Engine API"
|
title: "Docker Engine API"
|
||||||
version: "1.46"
|
version: "1.47"
|
||||||
x-logo:
|
x-logo:
|
||||||
url: "https://docs.docker.com/assets/images/logo-docker-main.png"
|
url: "https://docs.docker.com/assets/images/logo-docker-main.png"
|
||||||
description: |
|
description: |
|
||||||
|
@ -55,8 +55,8 @@ info:
|
||||||
the URL is not supported by the daemon, a HTTP `400 Bad Request` error message
|
the URL is not supported by the daemon, a HTTP `400 Bad Request` error message
|
||||||
is returned.
|
is returned.
|
||||||
|
|
||||||
If you omit the version-prefix, the current version of the API (v1.46) is used.
|
If you omit the version-prefix, the current version of the API (v1.47) is used.
|
||||||
For example, calling `/info` is the same as calling `/v1.46/info`. Using the
|
For example, calling `/info` is the same as calling `/v1.47/info`. Using the
|
||||||
API without a version-prefix is deprecated and will be removed in a future release.
|
API without a version-prefix is deprecated and will be removed in a future release.
|
||||||
|
|
||||||
Engine releases in the near future should support this version of the API,
|
Engine releases in the near future should support this version of the API,
|
||||||
|
@ -2265,6 +2265,19 @@ definitions:
|
||||||
x-nullable: false
|
x-nullable: false
|
||||||
type: "integer"
|
type: "integer"
|
||||||
example: 2
|
example: 2
|
||||||
|
Manifests:
|
||||||
|
description: |
|
||||||
|
Manifests is a list of manifests available in this image.
|
||||||
|
It provides a more detailed view of the platform-specific image manifests
|
||||||
|
or other image-attached data like build attestations.
|
||||||
|
|
||||||
|
WARNING: This is experimental and may change at any time without any backward
|
||||||
|
compatibility.
|
||||||
|
type: "array"
|
||||||
|
x-nullable: false
|
||||||
|
x-omitempty: true
|
||||||
|
items:
|
||||||
|
$ref: "#/definitions/ImageManifestSummary"
|
||||||
|
|
||||||
AuthConfig:
|
AuthConfig:
|
||||||
type: "object"
|
type: "object"
|
||||||
|
@ -5318,7 +5331,7 @@ definitions:
|
||||||
description: |
|
description: |
|
||||||
The default (and highest) API version that is supported by the daemon
|
The default (and highest) API version that is supported by the daemon
|
||||||
type: "string"
|
type: "string"
|
||||||
example: "1.46"
|
example: "1.47"
|
||||||
MinAPIVersion:
|
MinAPIVersion:
|
||||||
description: |
|
description: |
|
||||||
The minimum API version that is supported by the daemon
|
The minimum API version that is supported by the daemon
|
||||||
|
@ -6644,6 +6657,120 @@ definitions:
|
||||||
additionalProperties:
|
additionalProperties:
|
||||||
type: "string"
|
type: "string"
|
||||||
|
|
||||||
|
ImageManifestSummary:
|
||||||
|
x-go-name: "ManifestSummary"
|
||||||
|
description: |
|
||||||
|
ImageManifestSummary represents a summary of an image manifest.
|
||||||
|
type: "object"
|
||||||
|
required: ["ID", "Descriptor", "Available", "Size", "Kind"]
|
||||||
|
properties:
|
||||||
|
ID:
|
||||||
|
description: |
|
||||||
|
ID is the content-addressable ID of an image and is the same as the
|
||||||
|
digest of the image manifest.
|
||||||
|
type: "string"
|
||||||
|
example: "sha256:95869fbcf224d947ace8d61d0e931d49e31bb7fc67fffbbe9c3198c33aa8e93f"
|
||||||
|
Descriptor:
|
||||||
|
$ref: "#/definitions/OCIDescriptor"
|
||||||
|
Available:
|
||||||
|
description: Indicates whether all the child content (image config, layers) is fully available locally.
|
||||||
|
type: "boolean"
|
||||||
|
example: true
|
||||||
|
Size:
|
||||||
|
type: "object"
|
||||||
|
x-nullable: false
|
||||||
|
required: ["Content", "Total"]
|
||||||
|
properties:
|
||||||
|
Total:
|
||||||
|
type: "integer"
|
||||||
|
format: "int64"
|
||||||
|
example: 8213251
|
||||||
|
description: |
|
||||||
|
Total is the total size (in bytes) of all the locally present
|
||||||
|
data (both distributable and non-distributable) that's related to
|
||||||
|
this manifest and its children.
|
||||||
|
This equal to the sum of [Content] size AND all the sizes in the
|
||||||
|
[Size] struct present in the Kind-specific data struct.
|
||||||
|
For example, for an image kind (Kind == "image")
|
||||||
|
this would include the size of the image content and unpacked
|
||||||
|
image snapshots ([Size.Content] + [ImageData.Size.Unpacked]).
|
||||||
|
Content:
|
||||||
|
description: |
|
||||||
|
Content is the size (in bytes) of all the locally present
|
||||||
|
content in the content store (e.g. image config, layers)
|
||||||
|
referenced by this manifest and its children.
|
||||||
|
This only includes blobs in the content store.
|
||||||
|
type: "integer"
|
||||||
|
format: "int64"
|
||||||
|
example: 3987495
|
||||||
|
Kind:
|
||||||
|
type: "string"
|
||||||
|
example: "image"
|
||||||
|
enum:
|
||||||
|
- "image"
|
||||||
|
- "attestation"
|
||||||
|
- "unknown"
|
||||||
|
description: |
|
||||||
|
The kind of the manifest.
|
||||||
|
|
||||||
|
kind | description
|
||||||
|
-------------|-----------------------------------------------------------
|
||||||
|
image | Image manifest that can be used to start a container.
|
||||||
|
attestation | Attestation manifest produced by the Buildkit builder for a specific image manifest.
|
||||||
|
ImageData:
|
||||||
|
description: |
|
||||||
|
The image data for the image manifest.
|
||||||
|
This field is only populated when Kind is "image".
|
||||||
|
type: "object"
|
||||||
|
x-nullable: true
|
||||||
|
x-omitempty: true
|
||||||
|
required: ["Platform", "Containers", "Size", "UnpackedSize"]
|
||||||
|
properties:
|
||||||
|
Platform:
|
||||||
|
$ref: "#/definitions/OCIPlatform"
|
||||||
|
description: |
|
||||||
|
OCI platform of the image. This will be the platform specified in the
|
||||||
|
manifest descriptor from the index/manifest list.
|
||||||
|
If it's not available, it will be obtained from the image config.
|
||||||
|
Containers:
|
||||||
|
description: |
|
||||||
|
The IDs of the containers that are using this image.
|
||||||
|
type: "array"
|
||||||
|
items:
|
||||||
|
type: "string"
|
||||||
|
example: ["ede54ee1fda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c7430", "abadbce344c096744d8d6071a90d474d28af8f1034b5ea9fb03c3f4bfc6d005e"]
|
||||||
|
Size:
|
||||||
|
type: "object"
|
||||||
|
x-nullable: false
|
||||||
|
required: ["Unpacked"]
|
||||||
|
properties:
|
||||||
|
Unpacked:
|
||||||
|
type: "integer"
|
||||||
|
format: "int64"
|
||||||
|
example: 3987495
|
||||||
|
description: |
|
||||||
|
Unpacked is the size (in bytes) of the locally unpacked
|
||||||
|
(uncompressed) image content that's directly usable by the containers
|
||||||
|
running this image.
|
||||||
|
It's independent of the distributable content - e.g.
|
||||||
|
the image might still have an unpacked data that's still used by
|
||||||
|
some container even when the distributable/compressed content is
|
||||||
|
already gone.
|
||||||
|
AttestationData:
|
||||||
|
description: |
|
||||||
|
The image data for the attestation manifest.
|
||||||
|
This field is only populated when Kind is "attestation".
|
||||||
|
type: "object"
|
||||||
|
x-nullable: true
|
||||||
|
x-omitempty: true
|
||||||
|
required: ["For"]
|
||||||
|
properties:
|
||||||
|
For:
|
||||||
|
description: |
|
||||||
|
The digest of the image manifest that this attestation is for.
|
||||||
|
type: "string"
|
||||||
|
example: "sha256:95869fbcf224d947ace8d61d0e931d49e31bb7fc67fffbbe9c3198c33aa8e93f"
|
||||||
|
|
||||||
paths:
|
paths:
|
||||||
/containers/json:
|
/containers/json:
|
||||||
get:
|
get:
|
||||||
|
@ -8622,6 +8749,11 @@ paths:
|
||||||
description: "Show digest information as a `RepoDigests` field on each image."
|
description: "Show digest information as a `RepoDigests` field on each image."
|
||||||
type: "boolean"
|
type: "boolean"
|
||||||
default: false
|
default: false
|
||||||
|
- name: "manifests"
|
||||||
|
in: "query"
|
||||||
|
description: "Include `Manifests` in the image summary."
|
||||||
|
type: "boolean"
|
||||||
|
default: false
|
||||||
tags: ["Image"]
|
tags: ["Image"]
|
||||||
/build:
|
/build:
|
||||||
post:
|
post:
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
package image
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/opencontainers/go-digest"
|
||||||
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ManifestKind string
|
||||||
|
|
||||||
|
const (
|
||||||
|
ManifestKindImage ManifestKind = "image"
|
||||||
|
ManifestKindAttestation ManifestKind = "attestation"
|
||||||
|
ManifestKindUnknown ManifestKind = "unknown"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ManifestSummary struct {
|
||||||
|
// ID is the content-addressable ID of an image and is the same as the
|
||||||
|
// digest of the image manifest.
|
||||||
|
//
|
||||||
|
// Required: true
|
||||||
|
ID string `json:"ID"`
|
||||||
|
|
||||||
|
// Descriptor is the OCI descriptor of the image.
|
||||||
|
//
|
||||||
|
// Required: true
|
||||||
|
Descriptor ocispec.Descriptor `json:"Descriptor"`
|
||||||
|
|
||||||
|
// Indicates whether all the child content (image config, layers) is
|
||||||
|
// fully available locally
|
||||||
|
//
|
||||||
|
// Required: true
|
||||||
|
Available bool `json:"Available"`
|
||||||
|
|
||||||
|
// Size is the size information of the content related to this manifest.
|
||||||
|
// Note: These sizes only take the locally available content into account.
|
||||||
|
//
|
||||||
|
// Required: true
|
||||||
|
Size struct {
|
||||||
|
// Content is the size (in bytes) of all the locally present
|
||||||
|
// content in the content store (e.g. image config, layers)
|
||||||
|
// referenced by this manifest and its children.
|
||||||
|
// This only includes blobs in the content store.
|
||||||
|
Content int64 `json:"Content"`
|
||||||
|
|
||||||
|
// Total is the total size (in bytes) of all the locally present
|
||||||
|
// data (both distributable and non-distributable) that's related to
|
||||||
|
// this manifest and its children.
|
||||||
|
// This equal to the sum of [Content] size AND all the sizes in the
|
||||||
|
// [Size] struct present in the Kind-specific data struct.
|
||||||
|
// For example, for an image kind (Kind == ManifestKindImage),
|
||||||
|
// this would include the size of the image content and unpacked
|
||||||
|
// image snapshots ([Size.Content] + [ImageData.Size.Unpacked]).
|
||||||
|
Total int64 `json:"Total"`
|
||||||
|
} `json:"Size"`
|
||||||
|
|
||||||
|
// Kind is the kind of the image manifest.
|
||||||
|
//
|
||||||
|
// Required: true
|
||||||
|
Kind ManifestKind `json:"Kind"`
|
||||||
|
|
||||||
|
// Fields below are specific to the kind of the image manifest.
|
||||||
|
|
||||||
|
// Present only if Kind == ManifestKindImage.
|
||||||
|
ImageData *ImageProperties `json:"ImageData,omitempty"`
|
||||||
|
|
||||||
|
// Present only if Kind == ManifestKindAttestation.
|
||||||
|
AttestationData *AttestationProperties `json:"AttestationData,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type ImageProperties struct {
|
||||||
|
// Platform is the OCI platform object describing the platform of the image.
|
||||||
|
//
|
||||||
|
// Required: true
|
||||||
|
Platform ocispec.Platform `json:"Platform"`
|
||||||
|
|
||||||
|
Size struct {
|
||||||
|
// Unpacked is the size (in bytes) of the locally unpacked
|
||||||
|
// (uncompressed) image content that's directly usable by the containers
|
||||||
|
// running this image.
|
||||||
|
// It's independent of the distributable content - e.g.
|
||||||
|
// the image might still have an unpacked data that's still used by
|
||||||
|
// some container even when the distributable/compressed content is
|
||||||
|
// already gone.
|
||||||
|
//
|
||||||
|
// Required: true
|
||||||
|
Unpacked int64 `json:"Unpacked"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Containers is an array containing the IDs of the containers that are
|
||||||
|
// using this image.
|
||||||
|
//
|
||||||
|
// Required: true
|
||||||
|
Containers []string `json:"Containers"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type AttestationProperties struct {
|
||||||
|
// For is the digest of the image manifest that this attestation is for.
|
||||||
|
For digest.Digest `json:"For"`
|
||||||
|
}
|
|
@ -76,6 +76,9 @@ type ListOptions struct {
|
||||||
|
|
||||||
// ContainerCount indicates whether container count should be computed.
|
// ContainerCount indicates whether container count should be computed.
|
||||||
ContainerCount bool
|
ContainerCount bool
|
||||||
|
|
||||||
|
// Manifests indicates whether the image manifests should be returned.
|
||||||
|
Manifests bool
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveOptions holds parameters to remove images.
|
// RemoveOptions holds parameters to remove images.
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
package image
|
package image
|
||||||
|
|
||||||
// This file was generated by the swagger tool.
|
|
||||||
// Editing this file might prove futile when you re-run the swagger generate command
|
|
||||||
|
|
||||||
// Summary summary
|
|
||||||
// swagger:model Summary
|
|
||||||
type Summary struct {
|
type Summary struct {
|
||||||
|
|
||||||
// Number of containers using this image. Includes both stopped and running
|
// Number of containers using this image. Includes both stopped and running
|
||||||
|
@ -47,6 +42,14 @@ type Summary struct {
|
||||||
// Required: true
|
// Required: true
|
||||||
ParentID string `json:"ParentId"`
|
ParentID string `json:"ParentId"`
|
||||||
|
|
||||||
|
// Manifests is a list of image manifests available in this image. It
|
||||||
|
// provides a more detailed view of the platform-specific image manifests or
|
||||||
|
// other image-attached data like build attestations.
|
||||||
|
//
|
||||||
|
// WARNING: This is experimental and may change at any time without any backward
|
||||||
|
// compatibility.
|
||||||
|
Manifests []ManifestSummary `json:"Manifests,omitempty"`
|
||||||
|
|
||||||
// List of content-addressable digests of locally available image manifests
|
// List of content-addressable digests of locally available image manifests
|
||||||
// that the image is referenced from. Multiple manifests can refer to the
|
// that the image is referenced from. Multiple manifests can refer to the
|
||||||
// same image.
|
// same image.
|
||||||
|
|
|
@ -34,10 +34,9 @@ type AuthConfig struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// EncodeAuthConfig serializes the auth configuration as a base64url encoded
|
// EncodeAuthConfig serializes the auth configuration as a base64url encoded
|
||||||
// RFC4648, section 5) JSON string for sending through the X-Registry-Auth header.
|
// ([RFC4648, section 5]) JSON string for sending through the X-Registry-Auth header.
|
||||||
//
|
//
|
||||||
// For details on base64url encoding, see:
|
// [RFC4648, section 5]: https://tools.ietf.org/html/rfc4648#section-5
|
||||||
// - RFC4648, section 5: https://tools.ietf.org/html/rfc4648#section-5
|
|
||||||
func EncodeAuthConfig(authConfig AuthConfig) (string, error) {
|
func EncodeAuthConfig(authConfig AuthConfig) (string, error) {
|
||||||
buf, err := json.Marshal(authConfig)
|
buf, err := json.Marshal(authConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -46,15 +45,14 @@ func EncodeAuthConfig(authConfig AuthConfig) (string, error) {
|
||||||
return base64.URLEncoding.EncodeToString(buf), nil
|
return base64.URLEncoding.EncodeToString(buf), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// DecodeAuthConfig decodes base64url encoded (RFC4648, section 5) JSON
|
// DecodeAuthConfig decodes base64url encoded ([RFC4648, section 5]) JSON
|
||||||
// authentication information as sent through the X-Registry-Auth header.
|
// authentication information as sent through the X-Registry-Auth header.
|
||||||
//
|
//
|
||||||
// This function always returns an AuthConfig, even if an error occurs. It is up
|
// This function always returns an [AuthConfig], even if an error occurs. It is up
|
||||||
// to the caller to decide if authentication is required, and if the error can
|
// to the caller to decide if authentication is required, and if the error can
|
||||||
// be ignored.
|
// be ignored.
|
||||||
//
|
//
|
||||||
// For details on base64url encoding, see:
|
// [RFC4648, section 5]: https://tools.ietf.org/html/rfc4648#section-5
|
||||||
// - RFC4648, section 5: https://tools.ietf.org/html/rfc4648#section-5
|
|
||||||
func DecodeAuthConfig(authEncoded string) (*AuthConfig, error) {
|
func DecodeAuthConfig(authEncoded string) (*AuthConfig, error) {
|
||||||
if authEncoded == "" {
|
if authEncoded == "" {
|
||||||
return &AuthConfig{}, nil
|
return &AuthConfig{}, nil
|
||||||
|
@ -69,7 +67,7 @@ func DecodeAuthConfig(authEncoded string) (*AuthConfig, error) {
|
||||||
// clients and API versions. Current clients and API versions expect authentication
|
// clients and API versions. Current clients and API versions expect authentication
|
||||||
// to be provided through the X-Registry-Auth header.
|
// to be provided through the X-Registry-Auth header.
|
||||||
//
|
//
|
||||||
// Like DecodeAuthConfig, this function always returns an AuthConfig, even if an
|
// Like [DecodeAuthConfig], this function always returns an [AuthConfig], even if an
|
||||||
// error occurs. It is up to the caller to decide if authentication is required,
|
// error occurs. It is up to the caller to decide if authentication is required,
|
||||||
// and if the error can be ignored.
|
// and if the error can be ignored.
|
||||||
func DecodeAuthConfigBody(rdr io.ReadCloser) (*AuthConfig, error) {
|
func DecodeAuthConfigBody(rdr io.ReadCloser) (*AuthConfig, error) {
|
||||||
|
|
|
@ -11,6 +11,11 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// ImageList returns a list of images in the docker host.
|
// ImageList returns a list of images in the docker host.
|
||||||
|
//
|
||||||
|
// Experimental: Setting the [options.Manifest] will populate
|
||||||
|
// [image.Summary.Manifests] with information about image manifests.
|
||||||
|
// This is experimental and might change in the future without any backward
|
||||||
|
// compatibility.
|
||||||
func (cli *Client) ImageList(ctx context.Context, options image.ListOptions) ([]image.Summary, error) {
|
func (cli *Client) ImageList(ctx context.Context, options image.ListOptions) ([]image.Summary, error) {
|
||||||
var images []image.Summary
|
var images []image.Summary
|
||||||
|
|
||||||
|
@ -47,6 +52,9 @@ func (cli *Client) ImageList(ctx context.Context, options image.ListOptions) ([]
|
||||||
if options.SharedSize && versions.GreaterThanOrEqualTo(cli.version, "1.42") {
|
if options.SharedSize && versions.GreaterThanOrEqualTo(cli.version, "1.42") {
|
||||||
query.Set("shared-size", "1")
|
query.Set("shared-size", "1")
|
||||||
}
|
}
|
||||||
|
if options.Manifests && versions.GreaterThanOrEqualTo(cli.version, "1.47") {
|
||||||
|
query.Set("manifests", "1")
|
||||||
|
}
|
||||||
|
|
||||||
serverResp, err := cli.get(ctx, "/images/json", query, nil)
|
serverResp, err := cli.get(ctx, "/images/json", query, nil)
|
||||||
defer ensureReaderClosed(serverResp)
|
defer ensureReaderClosed(serverResp)
|
||||||
|
|
|
@ -55,7 +55,7 @@ github.com/docker/distribution/registry/client/transport
|
||||||
github.com/docker/distribution/registry/storage/cache
|
github.com/docker/distribution/registry/storage/cache
|
||||||
github.com/docker/distribution/registry/storage/cache/memory
|
github.com/docker/distribution/registry/storage/cache/memory
|
||||||
github.com/docker/distribution/uuid
|
github.com/docker/distribution/uuid
|
||||||
# github.com/docker/docker v27.1.2-0.20240810135946-f9522e5e96c3+incompatible
|
# github.com/docker/docker v27.1.3-0.20240816164736-9942d656bade+incompatible
|
||||||
## explicit
|
## explicit
|
||||||
github.com/docker/docker/api
|
github.com/docker/docker/api
|
||||||
github.com/docker/docker/api/types
|
github.com/docker/docker/api/types
|
||||||
|
|
Loading…
Reference in New Issue