Compare commits

...

2 Commits

Author SHA1 Message Date
Yves Brissaud 43eaaf54af
Merge 69e1a636ac into 2995631498 2024-10-31 12:51:18 -04:00
Yves Brissaud 69e1a636ac
display presence of attestations in docker images --tree
Signed-off-by: Yves Brissaud <yves.brissaud@docker.com>
2024-09-18 16:27:26 +02:00
1 changed files with 20 additions and 0 deletions

View File

@ -51,6 +51,12 @@ func runTree(ctx context.Context, dockerCLI command.Cli, opts treeOptions) error
var totalContent int64
children := make([]subImage, 0, len(img.Manifests))
attestations := make(map[string]bool)
for _, im := range img.Manifests {
if im.Kind == imagetypes.ManifestKindAttestation {
attestations[im.AttestationData.For.String()] = true
}
}
for _, im := range img.Manifests {
if im.Kind != imagetypes.ManifestKindImage {
continue
@ -65,6 +71,7 @@ func runTree(ctx context.Context, dockerCLI command.Cli, opts treeOptions) error
DiskUsage: units.HumanSizeWithPrecision(float64(im.Size.Total), 3),
InUse: len(im.ImageData.Containers) > 0,
ContentSize: units.HumanSizeWithPrecision(float64(im.Size.Content), 3),
Attestation: attestations[im.ID],
},
}
@ -102,6 +109,7 @@ type imageDetails struct {
DiskUsage string
InUse bool
ContentSize string
Attestation bool
}
type topImage struct {
@ -162,6 +170,18 @@ func printImageTree(dockerCLI command.Cli, view treeView) error {
return stringid.TruncateID(d.ID)
},
},
{
Title: "Attest",
Align: alignLeft,
Width: 6,
Color: &greenColor,
DetailsValue: func(d *imageDetails) string {
if d.Attestation {
return "✔"
}
return " "
},
},
{
Title: "Disk usage",
Align: alignRight,