convox/pkg/cli/version.go
David Dollar a7f20d9f29
cli: terraform rack management (#79)
* vendor

* local rack management via terraform

* update mocks

* update tests for new local rack management

* clean up rack matcher and add more tests

* switch to rack after install, add more tests
2020-01-24 13:23:08 -05:00

40 lines
701 B
Go

package cli
import (
"net/url"
"github.com/convox/convox/sdk"
"github.com/convox/stdcli"
)
func init() {
register("version", "display version information", Version, stdcli.CommandOptions{
Flags: []stdcli.Flag{flagRack},
Validate: stdcli.Args(0),
})
}
func Version(rack sdk.Interface, c *stdcli.Context) error {
c.Writef("client: <info>%s</info>\n", c.Version())
ep, err := currentEndpoint(c)
if err != nil {
c.Writef("server: <info>none</info>\n")
return nil
}
s, err := rack.SystemGet()
if err != nil {
return err
}
eu, err := url.Parse(ep)
if err != nil {
return err
}
c.Writef("server: <info>%s</info> (<info>%s</info>)\n", s.Version, eu.Host)
return nil
}