Documentation
¶
Index ¶
Constants ¶
View Source
const (
K3sServerNotReady = "k3s server is not ready, please wait"
)
Variables ¶
View Source
var Cmd = &cobra.Command{ Use: "status", Short: "get status of your current context (user, team, environment, vpn status)", Run: func(cmd *cobra.Command, _ []string) { apic, err := apiclient.New() if err != nil { fn.PrintError(err) return } if u, err := apic.GetCurrentUser(); err == nil { fn.Logf("\nLogged in as %s (%s)\n", text.Blue(u.Name), text.Blue(u.Email), ) } fc, err := fileclient.New() if err != nil { fn.PrintError(err) return } k3sClient, err := k3s.NewClient(cmd) if err != nil { fn.PrintError(err) return } data, err := fileclient.GetExtraData() if err == nil { fn.Log(fmt.Sprint(text.Bold(text.Blue("Team: ")), data.SelectedTeam)) } e, err := apic.EnsureEnv() selectedEnv := "" if err == nil { selectedEnv = e.Name } else if errors.Is(err, fileclient.NoEnvSelected) { filePath := fn.ParseKlFile(cmd) klFile, err := fc.GetKlFile(filePath) if err != nil { fn.PrintError(err) return } selectedEnv = klFile.DefaultEnv } ev, err := apic.GetEnvironment(data.SelectedTeam, selectedEnv) if err == nil { r := text.Yellow("offline") if ev.ClusterName != "" { if ev.IsArchived { r = text.Yellow("archived") } else { cluster, err := apic.GetCluster(data.SelectedTeam, ev.ClusterName) if err != nil { fn.PrintError(err) return } if time.Since(cluster.LastOnlineAt) < time.Minute { r = text.Green("online") } if ev.Spec.Suspend { r = text.Yellow("suspended") } } fn.Log(text.Bold(text.Blue("Environment: ")), selectedEnv, fmt.Sprintf("(%s)", r)) } } else if selectedEnv != "" { fn.Log(text.Bold(text.Blue("Environment: ")), selectedEnv) } if envclient.InsideBox() { fn.Log(text.Bold("\nWorkspace Status")) env, _ := fc.CurrentEnv() fn.Log("Current Environment: ", text.Blue(env.Name)) if connect.ChekcWireguardConnection() { fn.Log("Edge Connection:", text.Green("online")) } else { fn.Log("Edge Connection:", text.Yellow("offline")) } return } fn.Log(text.Bold("\nCluster Status")) config, err := fc.GetClusterConfig(data.SelectedTeam) if err == nil { fn.Log("Name: ", text.Blue(config.ClusterName)) k3sStatus, _ := k3sClient.CheckK3sRunningLocally() if k3sStatus { fn.Log("Running: ", text.Green("true")) } else { fn.Log("Running ", text.Yellow("false")) } k3sTracker, err := fc.GetK3sTracker() if err != nil { if flags.IsVerbose { fn.PrintError(err) } fn.Log("Local Cluster: ", text.Yellow("not ready")) fn.Log("Edge Connection:", text.Yellow("offline")) } else { err = getClusterK3sStatus(k3sTracker) if err != nil { if flags.IsVerbose { fn.PrintError(err) } fn.Log("Local Cluster: ", text.Yellow("not ready")) fn.Log("Edge Connection:", text.Yellow("offline")) } } } if err != nil { if os.IsNotExist(err) { fn.Log(text.Yellow("cluster not found")) } else { fn.PrintError(err) } } }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.