github.com/kubeshop/testkube@v1.17.23/cmd/kubectl-testkube/commands/status.go (about)

     1  package commands
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  
     6  	"github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/common"
     7  	"github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/oauth"
     8  	"github.com/kubeshop/testkube/cmd/kubectl-testkube/commands/telemetry"
     9  	"github.com/kubeshop/testkube/cmd/kubectl-testkube/config"
    10  	"github.com/kubeshop/testkube/pkg/ui"
    11  )
    12  
    13  func NewStatusCmd() *cobra.Command {
    14  	cmd := &cobra.Command{
    15  		Use:         "status [feature|resource]",
    16  		Short:       "Show status of feature or resource",
    17  		Annotations: map[string]string{cmdGroupAnnotation: cmdGroupCommands},
    18  		Run: func(cmd *cobra.Command, args []string) {
    19  			ui.NL()
    20  			ui.Print(ui.IconRocket + "  Getting status on the testkube CLI")
    21  
    22  			cfg, err := config.Load()
    23  			ui.ExitOnError("   Loading config file failed", err)
    24  
    25  			if cfg.TelemetryEnabled {
    26  				ui.PrintEnabled("Telemetry on CLI", "enabled")
    27  			} else {
    28  				ui.PrintDisabled("Telemetry on CLI", "disabled")
    29  			}
    30  
    31  			client, _, err := common.GetClient(cmd)
    32  			ui.ExitOnError("getting client", err)
    33  
    34  			config, err := client.GetConfig()
    35  			ui.ExitOnError("   Getting API config failed", err)
    36  			if config.EnableTelemetry {
    37  				ui.PrintEnabled("Telemetry on API", "enabled")
    38  			} else {
    39  				ui.PrintDisabled("Telemetry on API", "disabled")
    40  			}
    41  
    42  			if cfg.OAuth2Data.Enabled {
    43  				ui.PrintEnabled("OAuth", "enabled")
    44  			} else {
    45  				ui.PrintDisabled("Oauth", "disabled")
    46  			}
    47  			ui.NL()
    48  		},
    49  	}
    50  
    51  	cmd.AddCommand(telemetry.NewStatusTelemetryCmd())
    52  	cmd.AddCommand(oauth.NewStatusOAuthCmd())
    53  
    54  	return cmd
    55  }