in gke-deploy/core/resource/resource.go [377:432]
func DeploySummary(ctx context.Context, objs Objects) (string, error) {
// Sort values
var sorted []*Object
for _, obj := range objs {
sorted = append(sorted, obj)
}
sorted = sortObjectsByKindAndName(sorted)
// Create table
padding := 4
buf := new(bytes.Buffer)
w := tabwriter.NewWriter(buf, 0, 0, padding, ' ', 0)
if _, err := fmt.Fprintln(w, "NAMESPACE\tKIND\tNAME\tREADY\t"); err != nil {
return "", fmt.Errorf("failed to write to writer: %v", err)
}
for _, obj := range sorted {
kind := ObjectKind(obj)
name, err := ObjectName(obj)
if err != nil {
return "", fmt.Errorf("failed to get resource name: %v", err)
}
namespace, err := ObjectNamespace(obj)
if err != nil {
return "", fmt.Errorf("failed to get namespace of object: %v", err)
}
if namespace == "" {
namespace = "default"
}
extraInfo, err := deploySummaryExtraInfo(obj)
if err != nil {
return "", fmt.Errorf("failed to get resource summary extra info: %v", err)
}
var ready string
ok, err := IsReady(ctx, obj)
if err != nil {
ready = "Unknown"
} else if ok {
ready = "Yes"
} else {
ready = "No"
}
if _, err := fmt.Fprintf(w, "%s\t%s\t%s\t%s\t%s\n", namespace, kind, name, ready, extraInfo); err != nil {
return "", fmt.Errorf("failed to write to writer: %v", err)
}
}
if err := w.Flush(); err != nil {
return "", fmt.Errorf("failed to flush writer: %v", err)
}
return buf.String(), nil
}