diff --git a/builder/node.go b/builder/node.go index e5a8e66d..d5af8750 100644 --- a/builder/node.go +++ b/builder/node.go @@ -32,10 +32,11 @@ type Node struct { Err error // worker settings - IDs []string - Platforms []ocispecs.Platform - GCPolicy []client.PruneInfo - Labels map[string]string + IDs []string + Platforms []ocispecs.Platform + GCPolicy []client.PruneInfo + Labels map[string]string + CDIDevices []client.CDIDevice } // Nodes returns nodes for this builder. @@ -259,6 +260,7 @@ func (n *Node) loadData(ctx context.Context, clientOpt ...client.ClientOpt) erro n.GCPolicy = w.GCPolicy n.Labels = w.Labels } + n.CDIDevices = w.CDIDevices } sort.Strings(n.IDs) n.Platforms = platformutil.Dedupe(n.Platforms) diff --git a/commands/inspect.go b/commands/inspect.go index 8ff25c07..eeae99ea 100644 --- a/commands/inspect.go +++ b/commands/inspect.go @@ -115,6 +115,25 @@ func runInspect(ctx context.Context, dockerCli command.Cli, in inspectOptions) e fmt.Fprintf(w, "\t%s:\t%s\n", k, v) } } + + if len(nodes[i].CDIDevices) > 0 { + fmt.Fprintf(w, "Devices:\n") + for _, dev := range nodes[i].CDIDevices { + fmt.Fprintf(w, "\tName:\t%s\n", dev.Name) + if dev.OnDemand { + fmt.Fprintf(w, "\tOn-Demand:\t%v\n", dev.OnDemand) + } else { + fmt.Fprintf(w, "\tAutomatically allowed:\t%v\n", dev.AutoAllow) + } + if len(dev.Annotations) > 0 { + fmt.Fprintf(w, "\tAnnotations:\n") + for k, v := range dev.Annotations { + fmt.Fprintf(w, "\t\t%s:\t%s\n", k, v) + } + } + } + } + for ri, rule := range nodes[i].GCPolicy { fmt.Fprintf(w, "GC Policy rule#%d:\n", ri) fmt.Fprintf(w, "\tAll:\t%v\n", rule.All)