Merge pull request #43908 from thaJeztah/22.06_backport_deprecate_buildcache_parent
[22.06 backport] api: deprecate BuildCache.Parent, add BuildCache.Parents in API >= v1.42
This commit is contained in:
commit
86839c826f
9 changed files with 283 additions and 15 deletions
|
@ -174,6 +174,15 @@ func (s *systemRouter) getDiskUsage(ctx context.Context, w http.ResponseWriter,
|
|||
if versions.LessThan(version, "1.42") {
|
||||
for _, b := range buildCache {
|
||||
builderSize += b.Size
|
||||
// Parents field was added in API 1.42 to replace the Parent field.
|
||||
b.Parents = nil
|
||||
}
|
||||
}
|
||||
if versions.GreaterThanOrEqualTo(version, "1.42") {
|
||||
for _, b := range buildCache {
|
||||
// Parent field is deprecated in API v1.42 and up, as it is deprecated
|
||||
// in BuildKit. Empty the field to omit it in the API response.
|
||||
b.Parent = "" //nolint:staticcheck // ignore SA1019 (Parent field is deprecated)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2247,23 +2247,63 @@ definitions:
|
|||
|
||||
BuildCache:
|
||||
type: "object"
|
||||
description: |
|
||||
BuildCache contains information about a build cache record.
|
||||
properties:
|
||||
ID:
|
||||
type: "string"
|
||||
description: |
|
||||
Unique ID of the build cache record.
|
||||
example: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent:
|
||||
description: |
|
||||
ID of the parent build cache record.
|
||||
|
||||
> **Deprecated**: This field is deprecated, and omitted if empty.
|
||||
type: "string"
|
||||
x-nullable: true
|
||||
example: ""
|
||||
Parents:
|
||||
description: |
|
||||
List of parent build cache record IDs.
|
||||
type: "array"
|
||||
items:
|
||||
type: "string"
|
||||
x-nullable: true
|
||||
example: ["hw53o5aio51xtltp5xjp8v7fx"]
|
||||
Type:
|
||||
type: "string"
|
||||
description: |
|
||||
Cache record type.
|
||||
example: "regular"
|
||||
# see https://github.com/moby/buildkit/blob/fce4a32258dc9d9664f71a4831d5de10f0670677/client/diskusage.go#L75-L84
|
||||
enum:
|
||||
- "internal"
|
||||
- "frontend"
|
||||
- "source.local"
|
||||
- "source.git.checkout"
|
||||
- "exec.cachemount"
|
||||
- "regular"
|
||||
Description:
|
||||
type: "string"
|
||||
description: |
|
||||
Description of the build-step that produced the build cache.
|
||||
example: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is in use.
|
||||
example: false
|
||||
Shared:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is shared.
|
||||
example: true
|
||||
Size:
|
||||
description: |
|
||||
Amount of disk space used by the build cache (in bytes).
|
||||
type: "integer"
|
||||
example: 51
|
||||
CreatedAt:
|
||||
description: |
|
||||
Date and time at which the build cache was created in
|
||||
|
@ -2281,6 +2321,7 @@ definitions:
|
|||
example: "2017-08-09T07:09:37.632105588Z"
|
||||
UsageCount:
|
||||
type: "integer"
|
||||
example: 26
|
||||
|
||||
ImageID:
|
||||
type: "object"
|
||||
|
@ -9013,7 +9054,7 @@ paths:
|
|||
BuildCache:
|
||||
-
|
||||
ID: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Parent: ""
|
||||
Parents: []
|
||||
Type: "regular"
|
||||
Description: "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0"
|
||||
InUse: false
|
||||
|
@ -9024,7 +9065,7 @@ paths:
|
|||
UsageCount: 26
|
||||
-
|
||||
ID: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Parents: ["ndlpt0hhvkqcdfkputsk4cq9c"]
|
||||
Type: "regular"
|
||||
Description: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse: false
|
||||
|
|
|
@ -774,18 +774,31 @@ type BuildResult struct {
|
|||
ID string
|
||||
}
|
||||
|
||||
// BuildCache contains information about a build cache record
|
||||
// BuildCache contains information about a build cache record.
|
||||
type BuildCache struct {
|
||||
ID string
|
||||
Parent string
|
||||
Type string
|
||||
// ID is the unique ID of the build cache record.
|
||||
ID string
|
||||
// Parent is the ID of the parent build cache record.
|
||||
//
|
||||
// Deprecated: deprecated in API v1.42 and up, as it was deprecated in BuildKit; use Parents instead.
|
||||
Parent string `json:"Parent,omitempty"`
|
||||
// Parents is the list of parent build cache record IDs.
|
||||
Parents []string `json:" Parents,omitempty"`
|
||||
// Type is the cache record type.
|
||||
Type string
|
||||
// Description is a description of the build-step that produced the build cache.
|
||||
Description string
|
||||
InUse bool
|
||||
Shared bool
|
||||
Size int64
|
||||
CreatedAt time.Time
|
||||
LastUsedAt *time.Time
|
||||
UsageCount int
|
||||
// InUse indicates if the build cache is in use.
|
||||
InUse bool
|
||||
// Shared indicates if the build cache is shared.
|
||||
Shared bool
|
||||
// Size is the amount of disk space used by the build cache (in bytes).
|
||||
Size int64
|
||||
// CreatedAt is the date and time at which the build cache was created.
|
||||
CreatedAt time.Time
|
||||
// LastUsedAt is the date and time at which the build cache was last used.
|
||||
LastUsedAt *time.Time
|
||||
UsageCount int
|
||||
}
|
||||
|
||||
// BuildCachePruneOptions hold parameters to prune the build cache
|
||||
|
|
|
@ -129,7 +129,8 @@ func (b *Builder) DiskUsage(ctx context.Context) ([]*types.BuildCache, error) {
|
|||
for _, r := range duResp.Record {
|
||||
items = append(items, &types.BuildCache{
|
||||
ID: r.ID,
|
||||
Parent: r.Parent,
|
||||
Parent: r.Parent, //nolint:staticcheck // ignore SA1019 (Parent field is deprecated)
|
||||
Parents: r.Parents,
|
||||
Type: r.RecordType,
|
||||
Description: r.Description,
|
||||
InUse: r.InUse,
|
||||
|
|
|
@ -2132,23 +2132,52 @@ definitions:
|
|||
|
||||
BuildCache:
|
||||
type: "object"
|
||||
description: |
|
||||
BuildCache contains information about a build cache record.
|
||||
properties:
|
||||
ID:
|
||||
type: "string"
|
||||
description: |
|
||||
Unique ID of the build cache record.
|
||||
example: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent:
|
||||
description: |
|
||||
ID of the parent build cache record.
|
||||
type: "string"
|
||||
example: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Type:
|
||||
type: "string"
|
||||
description: |
|
||||
Cache record type.
|
||||
example: "regular"
|
||||
# see https://github.com/moby/buildkit/blob/fce4a32258dc9d9664f71a4831d5de10f0670677/client/diskusage.go#L75-L84
|
||||
enum:
|
||||
- "internal"
|
||||
- "frontend"
|
||||
- "source.local"
|
||||
- "source.git.checkout"
|
||||
- "exec.cachemount"
|
||||
- "regular"
|
||||
Description:
|
||||
type: "string"
|
||||
description: |
|
||||
Description of the build-step that produced the build cache.
|
||||
example: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is in use.
|
||||
example: false
|
||||
Shared:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is shared.
|
||||
example: true
|
||||
Size:
|
||||
description: |
|
||||
Amount of disk space used by the build cache (in bytes).
|
||||
type: "integer"
|
||||
example: 51
|
||||
CreatedAt:
|
||||
description: |
|
||||
Date and time at which the build cache was created in
|
||||
|
@ -2166,6 +2195,7 @@ definitions:
|
|||
example: "2017-08-09T07:09:37.632105588Z"
|
||||
UsageCount:
|
||||
type: "integer"
|
||||
example: 26
|
||||
|
||||
ImageID:
|
||||
type: "object"
|
||||
|
@ -8195,6 +8225,29 @@ paths:
|
|||
UsageData:
|
||||
Size: 10920104
|
||||
RefCount: 2
|
||||
BuildCache:
|
||||
-
|
||||
ID: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Parent: """
|
||||
Type: "regular"
|
||||
Description: "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0"
|
||||
InUse: false
|
||||
Shared: true
|
||||
Size: 0
|
||||
CreatedAt: "2021-06-28T13:31:01.474619385Z"
|
||||
LastUsedAt: "2021-07-07T22:02:32.738075951Z"
|
||||
UsageCount: 26
|
||||
-
|
||||
ID: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Type: "regular"
|
||||
Description: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse: false
|
||||
Shared: true
|
||||
Size: 51
|
||||
CreatedAt: "2021-06-28T13:31:03.002625487Z"
|
||||
LastUsedAt: "2021-07-07T22:02:32.773909517Z"
|
||||
UsageCount: 26
|
||||
500:
|
||||
description: "server error"
|
||||
schema:
|
||||
|
|
|
@ -2193,23 +2193,52 @@ definitions:
|
|||
|
||||
BuildCache:
|
||||
type: "object"
|
||||
description: |
|
||||
BuildCache contains information about a build cache record.
|
||||
properties:
|
||||
ID:
|
||||
type: "string"
|
||||
description: |
|
||||
Unique ID of the build cache record.
|
||||
example: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent:
|
||||
description: |
|
||||
ID of the parent build cache record.
|
||||
type: "string"
|
||||
example: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Type:
|
||||
type: "string"
|
||||
description: |
|
||||
Cache record type.
|
||||
example: "regular"
|
||||
# see https://github.com/moby/buildkit/blob/fce4a32258dc9d9664f71a4831d5de10f0670677/client/diskusage.go#L75-L84
|
||||
enum:
|
||||
- "internal"
|
||||
- "frontend"
|
||||
- "source.local"
|
||||
- "source.git.checkout"
|
||||
- "exec.cachemount"
|
||||
- "regular"
|
||||
Description:
|
||||
type: "string"
|
||||
description: |
|
||||
Description of the build-step that produced the build cache.
|
||||
example: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is in use.
|
||||
example: false
|
||||
Shared:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is shared.
|
||||
example: true
|
||||
Size:
|
||||
description: |
|
||||
Amount of disk space used by the build cache (in bytes).
|
||||
type: "integer"
|
||||
example: 51
|
||||
CreatedAt:
|
||||
description: |
|
||||
Date and time at which the build cache was created in
|
||||
|
@ -2227,6 +2256,7 @@ definitions:
|
|||
example: "2017-08-09T07:09:37.632105588Z"
|
||||
UsageCount:
|
||||
type: "integer"
|
||||
example: 26
|
||||
|
||||
ImageID:
|
||||
type: "object"
|
||||
|
@ -8526,6 +8556,29 @@ paths:
|
|||
UsageData:
|
||||
Size: 10920104
|
||||
RefCount: 2
|
||||
BuildCache:
|
||||
-
|
||||
ID: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Parent: """
|
||||
Type: "regular"
|
||||
Description: "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0"
|
||||
InUse: false
|
||||
Shared: true
|
||||
Size: 0
|
||||
CreatedAt: "2021-06-28T13:31:01.474619385Z"
|
||||
LastUsedAt: "2021-07-07T22:02:32.738075951Z"
|
||||
UsageCount: 26
|
||||
-
|
||||
ID: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Type: "regular"
|
||||
Description: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse: false
|
||||
Shared: true
|
||||
Size: 51
|
||||
CreatedAt: "2021-06-28T13:31:03.002625487Z"
|
||||
LastUsedAt: "2021-07-07T22:02:32.773909517Z"
|
||||
UsageCount: 26
|
||||
500:
|
||||
description: "server error"
|
||||
schema:
|
||||
|
|
|
@ -2244,23 +2244,52 @@ definitions:
|
|||
|
||||
BuildCache:
|
||||
type: "object"
|
||||
description: |
|
||||
BuildCache contains information about a build cache record.
|
||||
properties:
|
||||
ID:
|
||||
type: "string"
|
||||
description: |
|
||||
Unique ID of the build cache record.
|
||||
example: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent:
|
||||
description: |
|
||||
ID of the parent build cache record.
|
||||
type: "string"
|
||||
example: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Type:
|
||||
type: "string"
|
||||
description: |
|
||||
Cache record type.
|
||||
example: "regular"
|
||||
# see https://github.com/moby/buildkit/blob/fce4a32258dc9d9664f71a4831d5de10f0670677/client/diskusage.go#L75-L84
|
||||
enum:
|
||||
- "internal"
|
||||
- "frontend"
|
||||
- "source.local"
|
||||
- "source.git.checkout"
|
||||
- "exec.cachemount"
|
||||
- "regular"
|
||||
Description:
|
||||
type: "string"
|
||||
description: |
|
||||
Description of the build-step that produced the build cache.
|
||||
example: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is in use.
|
||||
example: false
|
||||
Shared:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is shared.
|
||||
example: true
|
||||
Size:
|
||||
description: |
|
||||
Amount of disk space used by the build cache (in bytes).
|
||||
type: "integer"
|
||||
example: 51
|
||||
CreatedAt:
|
||||
description: |
|
||||
Date and time at which the build cache was created in
|
||||
|
@ -2278,6 +2307,7 @@ definitions:
|
|||
example: "2017-08-09T07:09:37.632105588Z"
|
||||
UsageCount:
|
||||
type: "integer"
|
||||
example: 26
|
||||
|
||||
ImageID:
|
||||
type: "object"
|
||||
|
@ -8717,6 +8747,29 @@ paths:
|
|||
UsageData:
|
||||
Size: 10920104
|
||||
RefCount: 2
|
||||
BuildCache:
|
||||
-
|
||||
ID: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Parent: """
|
||||
Type: "regular"
|
||||
Description: "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0"
|
||||
InUse: false
|
||||
Shared: true
|
||||
Size: 0
|
||||
CreatedAt: "2021-06-28T13:31:01.474619385Z"
|
||||
LastUsedAt: "2021-07-07T22:02:32.738075951Z"
|
||||
UsageCount: 26
|
||||
-
|
||||
ID: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Type: "regular"
|
||||
Description: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse: false
|
||||
Shared: true
|
||||
Size: 51
|
||||
CreatedAt: "2021-06-28T13:31:03.002625487Z"
|
||||
LastUsedAt: "2021-07-07T22:02:32.773909517Z"
|
||||
UsageCount: 26
|
||||
500:
|
||||
description: "server error"
|
||||
schema:
|
||||
|
|
|
@ -2247,23 +2247,63 @@ definitions:
|
|||
|
||||
BuildCache:
|
||||
type: "object"
|
||||
description: |
|
||||
BuildCache contains information about a build cache record.
|
||||
properties:
|
||||
ID:
|
||||
type: "string"
|
||||
description: |
|
||||
Unique ID of the build cache record.
|
||||
example: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent:
|
||||
description: |
|
||||
ID of the parent build cache record.
|
||||
|
||||
> **Deprecated**: This field is deprecated, and omitted if empty.
|
||||
type: "string"
|
||||
x-nullable: true
|
||||
example: ""
|
||||
Parents:
|
||||
description: |
|
||||
List of parent build cache record IDs.
|
||||
type: "array"
|
||||
items:
|
||||
type: "string"
|
||||
x-nullable: true
|
||||
example: ["hw53o5aio51xtltp5xjp8v7fx"]
|
||||
Type:
|
||||
type: "string"
|
||||
description: |
|
||||
Cache record type.
|
||||
example: "regular"
|
||||
# see https://github.com/moby/buildkit/blob/fce4a32258dc9d9664f71a4831d5de10f0670677/client/diskusage.go#L75-L84
|
||||
enum:
|
||||
- "internal"
|
||||
- "frontend"
|
||||
- "source.local"
|
||||
- "source.git.checkout"
|
||||
- "exec.cachemount"
|
||||
- "regular"
|
||||
Description:
|
||||
type: "string"
|
||||
description: |
|
||||
Description of the build-step that produced the build cache.
|
||||
example: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is in use.
|
||||
example: false
|
||||
Shared:
|
||||
type: "boolean"
|
||||
description: |
|
||||
Indicates if the build cache is shared.
|
||||
example: true
|
||||
Size:
|
||||
description: |
|
||||
Amount of disk space used by the build cache (in bytes).
|
||||
type: "integer"
|
||||
example: 51
|
||||
CreatedAt:
|
||||
description: |
|
||||
Date and time at which the build cache was created in
|
||||
|
@ -2281,6 +2321,7 @@ definitions:
|
|||
example: "2017-08-09T07:09:37.632105588Z"
|
||||
UsageCount:
|
||||
type: "integer"
|
||||
example: 26
|
||||
|
||||
ImageID:
|
||||
type: "object"
|
||||
|
@ -9013,7 +9054,7 @@ paths:
|
|||
BuildCache:
|
||||
-
|
||||
ID: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Parent: ""
|
||||
Parents: []
|
||||
Type: "regular"
|
||||
Description: "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0"
|
||||
InUse: false
|
||||
|
@ -9024,7 +9065,7 @@ paths:
|
|||
UsageCount: 26
|
||||
-
|
||||
ID: "ndlpt0hhvkqcdfkputsk4cq9c"
|
||||
Parent: "hw53o5aio51xtltp5xjp8v7fx"
|
||||
Parents: ["ndlpt0hhvkqcdfkputsk4cq9c"]
|
||||
Type: "regular"
|
||||
Description: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache"
|
||||
InUse: false
|
||||
|
|
|
@ -81,6 +81,10 @@ keywords: "API, Docker, rcli, REST, documentation"
|
|||
volume (CNI). This option can only be used if the daemon is a Swarm manager.
|
||||
The Volume response on creation now also can contain a `ClusterVolume` field
|
||||
with information about the created volume.
|
||||
* The `BuildCache.Parent` field, as returned by `GET /system/df` is deprecated
|
||||
and is now omitted. API versions before v1.42 continue to include this field.
|
||||
* `GET /system/df` now includes a new `Parents` field, for "build-cache" records,
|
||||
which contains a list of parent IDs for the build-cache record.
|
||||
* Volume information returned by `GET /volumes/{name}`, `GET /volumes` and
|
||||
`GET /system/df` can now contain a `ClusterVolume` if the volume is a cluster
|
||||
volume (requires the daemon to be a Swarm manager).
|
||||
|
|
Loading…
Add table
Reference in a new issue