diff --git a/cmd/config_show.go b/cmd/config_show.go new file mode 100644 index 0000000..976865e --- /dev/null +++ b/cmd/config_show.go @@ -0,0 +1,37 @@ +package cmd + +import ( + "os" + "strings" + + "github.com/spf13/cobra" + "gopkg.in/yaml.v3" +) + +var configShowCmd = &cobra.Command{ + Use: "show", + Short: "Show GitLab Project Manager Configuration", + Aliases: []string{"s", "dump", "cat", "ls"}, + Run: runConfigShowCmd, +} + +func runConfigShowCmd(cmd *cobra.Command, args []string) { + c := conf + + showSensitive, _ := cmd.Flags().GetBool("sensitive") + if !showSensitive { + plog.Info("Sensitive fields hidden, do not use unreviewed as config") + c.GitlabToken = strings.Repeat("*", len(c.GitlabToken)) + } else { + plog.Warn("Displaying sensitive fields!") + } + + enc := yaml.NewEncoder(os.Stdout) + enc.SetIndent(2) + enc.Encode(c) +} + +func init() { + configCmd.AddCommand(configShowCmd) + configShowCmd.Flags().BoolP("sensitive", "s", false, "Set to show sensitive fields") +}