Help us shape the future of Go! Take the 2026 Go Developer Survey

version

package
v2.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2026 License: BSD-3-Clause Imports: 10 Imported by: 0

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.AppVersionEndpoint)
		resp, err := c.Get(cmd.Context(), clitypes.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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL