git-project-manager/cmd/config_show.go

40 lines
844 B
Go

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")
for _, r := range c.Remotes {
r.Token = strings.Repeat("*", len(r.Token))
}
} 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")
}