mirror of https://github.com/status-im/consul.git
46 lines
976 B
Go
46 lines
976 B
Go
package version
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/hashicorp/consul/agent/config"
|
|
"github.com/hashicorp/consul/agent/consul"
|
|
"github.com/mitchellh/cli"
|
|
)
|
|
|
|
func New(ui cli.Ui, version string) *cmd {
|
|
return &cmd{UI: ui, version: version}
|
|
}
|
|
|
|
type cmd struct {
|
|
UI cli.Ui
|
|
version string
|
|
}
|
|
|
|
func (c *cmd) Run(_ []string) int {
|
|
c.UI.Output(fmt.Sprintf("Consul %s", c.version))
|
|
|
|
rpcProtocol, err := config.DefaultRPCProtocol()
|
|
if err != nil {
|
|
c.UI.Error(err.Error())
|
|
return 2
|
|
}
|
|
var supplement string
|
|
if rpcProtocol < consul.ProtocolVersionMax {
|
|
supplement = fmt.Sprintf(" (agent will automatically use protocol >%d when speaking to compatible agents)",
|
|
rpcProtocol)
|
|
}
|
|
c.UI.Output(fmt.Sprintf("Protocol %d spoken by default, understands %d to %d%s",
|
|
rpcProtocol, consul.ProtocolVersionMin, consul.ProtocolVersionMax, supplement))
|
|
|
|
return 0
|
|
}
|
|
|
|
func (c *cmd) Synopsis() string {
|
|
return "Prints the Consul version"
|
|
}
|
|
|
|
func (c *cmd) Help() string {
|
|
return ""
|
|
}
|