github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/swarmkit/cmd/swarmctl/secret/inspect.go (about) 1 package secret 2 3 import ( 4 "errors" 5 "fmt" 6 "os" 7 "text/tabwriter" 8 9 "github.com/docker/swarmkit/api" 10 "github.com/docker/swarmkit/cmd/swarmctl/common" 11 gogotypes "github.com/gogo/protobuf/types" 12 "github.com/spf13/cobra" 13 ) 14 15 func printSecretSummary(secret *api.Secret) { 16 w := tabwriter.NewWriter(os.Stdout, 8, 8, 8, ' ', 0) 17 defer w.Flush() 18 19 common.FprintfIfNotEmpty(w, "ID\t: %s\n", secret.ID) 20 common.FprintfIfNotEmpty(w, "Name\t: %s\n", secret.Spec.Annotations.Name) 21 if len(secret.Spec.Annotations.Labels) > 0 { 22 fmt.Fprintln(w, "Labels\t") 23 for k, v := range secret.Spec.Annotations.Labels { 24 fmt.Fprintf(w, " %s\t: %s\n", k, v) 25 } 26 } 27 28 common.FprintfIfNotEmpty(w, "Created\t: %s\n", gogotypes.TimestampString(secret.Meta.CreatedAt)) 29 } 30 31 var ( 32 inspectCmd = &cobra.Command{ 33 Use: "inspect <secret ID or name>", 34 Short: "Inspect a secret", 35 RunE: func(cmd *cobra.Command, args []string) error { 36 if len(args) != 1 { 37 return errors.New("inspect command takes a single secret ID or name") 38 } 39 40 client, err := common.Dial(cmd) 41 if err != nil { 42 return err 43 } 44 45 secret, err := getSecret(common.Context(cmd), client, args[0]) 46 if err != nil { 47 return err 48 } 49 50 printSecretSummary(secret) 51 return nil 52 }, 53 } 54 )