Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var VersionCmd = &cobra.Command{ Use: "version", Short: "Get the Arcane server version", SilenceUsage: true, RunE: func(cmd *cobra.Command, args []string) error { logger.GetLogger().Debug("Fetching server version") c, err := client.NewFromConfig() if err != nil { return err } logger.GetLogger().Debug("Sending request", "endpoint", clitypes.Endpoints.AppVersionEndpoint) resp, err := c.Get(cmd.Context(), clitypes.Endpoints.AppVersionEndpoint) if err != nil { return errors.WrapIf(err, "failed to get version") } defer func() { _ = resp.Body.Close() }() logger.GetLogger().Debug("Response received", "status", resp.Status) body, err := cmdutil.ReadJSONBody(resp) if err != nil { return errors.WrapIf(err, "failed to get version") } logger.GetLogger().Debug("Raw response", "body", string(body)) var result version.Info if err := json.Unmarshal(body, &result); err != nil { return errors.WrapIf(err, "failed to parse response") } logger.GetLogger().Debug("Parsed version data", "result", result) if cmdutil.JSONOutputEnabled(cmd) { resultBytes, err := json.MarshalIndent(result, "", " ") if err != nil { return errors.WrapIf(err, "failed to marshal JSON") } fmt.Println(string(resultBytes)) return nil } output.Header("Arcane Environment Details: \n") output.KeyValue("Version", result.DisplayVersion) if result.Revision != "" { output.KeyValue("Revision", result.Revision) } if result.UpdateAvailable { output.Warning("Update available! New version: %s", result.NewestVersion) if result.ReleaseURL != "" { output.Info("Download at: %s", result.ReleaseURL) } } return nil }, }
VersionCmd gets the server version
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.