Go · 929 bytes Raw Blame History
1 // SPDX-License-Identifier: AGPL-3.0-or-later
2
3 package main
4
5 import (
6 "fmt"
7
8 "github.com/spf13/cobra"
9
10 "github.com/tenseleyFlow/shithub/internal/infra/config"
11 )
12
13 var configCmd = &cobra.Command{
14 Use: "config",
15 Short: "Inspect the resolved shithub configuration",
16 }
17
18 var configPrintCmd = &cobra.Command{
19 Use: "print",
20 Short: "Print the active configuration with secrets redacted",
21 RunE: func(_ *cobra.Command, _ []string) error {
22 cfg, err := config.Load(nil)
23 if err != nil {
24 return err
25 }
26 out, err := config.PrintRedacted(cfg)
27 if err != nil {
28 return err
29 }
30 fmt.Print(out)
31 return nil
32 },
33 }
34
35 var configValidateCmd = &cobra.Command{
36 Use: "validate",
37 Short: "Validate config (exits non-zero on failure)",
38 RunE: func(_ *cobra.Command, _ []string) error {
39 _, err := config.Load(nil)
40 return err
41 },
42 }
43
44 func init() {
45 configCmd.AddCommand(configPrintCmd)
46 configCmd.AddCommand(configValidateCmd)
47 }
48