version

package
v2.15.0 Latest Latest
Warning

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

Go to latest
Published: Oct 4, 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:        "Show CLI and Arcane server versions",
	Args:         cobra.NoArgs,
	SilenceUsage: true,
	RunE: func(cmd *cobra.Command, args []string) error {
		jsonOutput := cmdutil.JSONOutputEnabled(cmd)
		if !jsonOutput {
			output.Header("Arcane CLI")
			output.KeyValue("Version", config.Version)
			output.KeyValue("Revision", config.Revision)
		}

		c, err := cmdutil.ClientFromCommand(cmd)
		var result version.Info
		if err == nil {
			logger.GetLogger().Debug("Fetching server version", "endpoint", clitypes.AppVersionEndpoint)
			result, err = c.DoJSON[version.Info](cmd.Context(), http.MethodGet, clitypes.AppVersionEndpoint, nil)
		}
		if err != nil {
			if cmd.Context().Err() != nil {
				return cmd.Context().Err()
			}
			if jsonOutput {
				return fmt.Errorf("failed to get server version: %w", err)
			}
			output.Header("Arcane Server")
			output.KeyValue("Status", "Unavailable")
			output.Warning("Could not get server version: %s", err)
			return nil
		}

		if cmdutil.JSONOutputEnabled(cmd) {
			return cmdutil.PrintJSON(result)
		}

		output.Header("Arcane Server")

		output.KeyValue("Version", cmp.Or(result.DisplayVersion, result.CurrentVersion))
		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 displays CLI and server versions.

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