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

     1  package telemetry
     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/config"
     8  	"github.com/kubeshop/testkube/pkg/ui"
     9  )
    10  
    11  func NewStatusTelemetryCmd() *cobra.Command {
    12  	cmd := &cobra.Command{
    13  		Use:   "telemetry",
    14  		Short: "Get telemetry status",
    15  		Run: func(cmd *cobra.Command, args []string) {
    16  			ui.NL()
    17  			ui.Print(ui.IconRocket + "  Getting telemetry status on the testkube CLI and API")
    18  
    19  			cfg, err := config.Load()
    20  			ui.ExitOnError("   Loading config file failed", err)
    21  			if cfg.TelemetryEnabled {
    22  				ui.PrintEnabled("Telemetry on CLI", "enabled")
    23  			} else {
    24  				ui.PrintDisabled("Telemetry on CLI", "disabled")
    25  			}
    26  
    27  			client, _, err := common.GetClient(cmd)
    28  			ui.ExitOnError("getting client", err)
    29  
    30  			config, err := client.GetConfig()
    31  			ui.ExitOnError("   Getting API config failed", err)
    32  			if config.EnableTelemetry {
    33  				ui.PrintEnabled("Telemetry on API", "enabled")
    34  			} else {
    35  				ui.PrintDisabled("Telemetry on API", "disabled")
    36  			}
    37  
    38  			ui.NL()
    39  		},
    40  	}
    41  
    42  	return cmd
    43  }