diff --git a/commands/inspect.go b/commands/inspect.go index fc4530b7..0c4e9fd8 100644 --- a/commands/inspect.go +++ b/commands/inspect.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "sort" "strings" "text/tabwriter" "time" @@ -12,6 +13,7 @@ import ( "github.com/docker/buildx/util/platformutil" "github.com/docker/cli/cli" "github.com/docker/cli/cli/command" + "github.com/docker/go-units" "github.com/moby/buildkit/util/appcontext" "github.com/spf13/cobra" ) @@ -89,6 +91,26 @@ func runInspect(dockerCli command.Cli, in inspectOptions) error { fmt.Fprintf(w, "Buildkit:\t%s\n", nodes[i].Version) } fmt.Fprintf(w, "Platforms:\t%s\n", strings.Join(platformutil.FormatInGroups(n.Node.Platforms, n.Platforms), ", ")) + if len(nodes[i].Labels) > 0 { + fmt.Fprintf(w, "Labels:\n") + for _, k := range sortedKeys(nodes[i].Labels) { + v := nodes[i].Labels[k] + fmt.Fprintf(w, "\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) + if len(rule.Filter) > 0 { + fmt.Fprintf(w, "\tFilters:\t%s\n", strings.Join(rule.Filter, " ")) + } + if rule.KeepDuration > 0 { + fmt.Fprintf(w, "\tKeep Duration:\t%v\n", rule.KeepDuration.String()) + } + if rule.KeepBytes > 0 { + fmt.Fprintf(w, "\tKeep Bytes:\t%s\n", units.BytesSize(float64(rule.KeepBytes))) + } + } } } } @@ -119,3 +141,14 @@ func inspectCmd(dockerCli command.Cli, rootOpts *rootOptions) *cobra.Command { return cmd } + +func sortedKeys(m map[string]string) []string { + s := make([]string, len(m)) + i := 0 + for k := range m { + s[i] = k + i++ + } + sort.Strings(s) + return s +} diff --git a/docs/reference/buildx_inspect.md b/docs/reference/buildx_inspect.md index f9ec309a..fcefe75b 100644 --- a/docs/reference/buildx_inspect.md +++ b/docs/reference/buildx_inspect.md @@ -49,20 +49,38 @@ The following example shows information about a builder instance named ```console $ docker buildx inspect elated_tesla - -Name: elated_tesla -Driver: docker-container +Name: elated_tesla +Driver: docker-container +Last Activity: 2022-11-30 12:42:47 +0100 CET Nodes: -Name: elated_tesla0 -Endpoint: unix:///var/run/docker.sock -Status: running -Buildkit: v0.10.3 -Platforms: linux/amd64 - -Name: elated_tesla1 -Endpoint: ssh://ubuntu@1.2.3.4 -Status: running -Buildkit: v0.10.3 -Platforms: linux/arm64*, linux/arm/v7, linux/arm/v6 +Name: elated_tesla0 +Endpoint: unix:///var/run/docker.sock +Driver Options: env.BUILDKIT_STEP_LOG_MAX_SPEED="10485760" env.JAEGER_TRACE="localhost:6831" image="moby/buildkit:latest" network="host" env.BUILDKIT_STEP_LOG_MAX_SIZE="10485760" +Status: running +Flags: --debug --allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host +BuildKit: v0.10.6 +Platforms: linux/arm64*, linux/arm/v7, linux/arm/v6 +Labels: + org.mobyproject.buildkit.worker.executor: oci + org.mobyproject.buildkit.worker.hostname: docker-desktop + org.mobyproject.buildkit.worker.network: host + org.mobyproject.buildkit.worker.oci.process-mode: sandbox + org.mobyproject.buildkit.worker.selinux.enabled: false + org.mobyproject.buildkit.worker.snapshotter: overlayfs +GC Policy rule#0: + All: false + Filters: type==source.local,type==exec.cachemount,type==source.git.checkout + Keep Duration: 48h0m0s + Keep Bytes: 488.3MiB +GC Policy rule#1: + All: false + Keep Duration: 1440h0m0s + Keep Bytes: 24.21GiB +GC Policy rule#2: + All: false + Keep Bytes: 24.21GiB +GC Policy rule#3: + All: true + Keep Bytes: 24.21GiB ```