2013-12-19 19:22:08 +00:00
|
|
|
package command
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
2016-08-17 18:29:09 +00:00
|
|
|
"github.com/hashicorp/consul/command/agent"
|
2014-03-09 22:54:21 +00:00
|
|
|
"github.com/hashicorp/consul/consul"
|
2013-12-19 19:22:08 +00:00
|
|
|
"github.com/mitchellh/cli"
|
|
|
|
)
|
|
|
|
|
|
|
|
// VersionCommand is a Command implementation prints the version.
|
|
|
|
type VersionCommand struct {
|
2016-07-20 01:38:15 +00:00
|
|
|
HumanVersion string
|
|
|
|
Ui cli.Ui
|
2013-12-19 19:22:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (c *VersionCommand) Help() string {
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *VersionCommand) Run(_ []string) int {
|
2016-07-20 01:38:15 +00:00
|
|
|
c.Ui.Output(fmt.Sprintf("Consul Version: %s", c.HumanVersion))
|
2016-08-17 18:29:09 +00:00
|
|
|
|
|
|
|
config := agent.DefaultConfig()
|
|
|
|
var supplement string
|
|
|
|
if config.Protocol < consul.ProtocolVersionMax {
|
|
|
|
supplement = fmt.Sprintf(" (agent will automatically use protocol >%d when speaking to compatible agents)",
|
|
|
|
config.Protocol)
|
|
|
|
}
|
|
|
|
c.Ui.Output(fmt.Sprintf("Protocol Version: speaks %d by default, understands %d to %d%s",
|
|
|
|
config.Protocol, consul.ProtocolVersionMin, consul.ProtocolVersionMax, supplement))
|
|
|
|
|
2013-12-19 19:22:08 +00:00
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *VersionCommand) Synopsis() string {
|
|
|
|
return "Prints the Consul version"
|
|
|
|
}
|