diff --git a/cmd/pgmanager/main.go b/cmd/pgmanager/main.go index 7ca7018..4aa876e 100644 --- a/cmd/pgmanager/main.go +++ b/cmd/pgmanager/main.go @@ -9,8 +9,8 @@ import ( // Packages kong "github.com/alecthomas/kong" - httpclient "github.com/mutablelogic/go-pg/pkg/manager/httpclient" client "github.com/mutablelogic/go-client" + httpclient "github.com/mutablelogic/go-pg/pkg/manager/httpclient" ) /////////////////////////////////////////////////////////////////////////////// @@ -23,7 +23,7 @@ type Globals struct { // HTTP server options HTTP struct { Prefix string `name:"prefix" help:"HTTP path prefix" default:"/api/v1"` - Listen string `name:"http" help:"HTTP Listen address" default:":8080"` + Addr string `name:"addr" env:"PG_ADDR" help:"HTTP Listen address" default:":8080"` } `embed:"" prefix:"http."` // Private fields @@ -44,6 +44,7 @@ type CLI struct { SettingCommands StatementCommands TablespaceCommands + VersionCommands } /////////////////////////////////////////////////////////////////////////////// @@ -68,7 +69,7 @@ func main() { // PRIVATE METHODS func (g *Globals) Client() (*httpclient.Client, error) { - host, port, err := net.SplitHostPort(g.HTTP.Listen) + host, port, err := net.SplitHostPort(g.HTTP.Addr) if err != nil { return nil, err } diff --git a/cmd/pgmanager/server.go b/cmd/pgmanager/server.go index 26041e0..cbfa38b 100644 --- a/cmd/pgmanager/server.go +++ b/cmd/pgmanager/server.go @@ -92,12 +92,12 @@ func (cmd *RunServer) Run(ctx *Globals) error { } // Create a HTTP server - server, err := httpserver.New(ctx.HTTP.Listen, router, tlsconfig) + server, err := httpserver.New(ctx.HTTP.Addr, router, tlsconfig) if err != nil { return err } // Run the server - fmt.Println("Starting server on", ctx.HTTP.Listen) + fmt.Println("Starting server on", ctx.HTTP.Addr) return server.Run(ctx.ctx) } diff --git a/cmd/pgmanager/version.go b/cmd/pgmanager/version.go new file mode 100644 index 0000000..bac3806 --- /dev/null +++ b/cmd/pgmanager/version.go @@ -0,0 +1,39 @@ +package main + +import ( + "fmt" + + // Packages + "github.com/mutablelogic/go-pg/pkg/version" +) + +/////////////////////////////////////////////////////////////////////////////// +// TYPES + +type VersionCommands struct { + Version VersionCommand `cmd:"version" help:"Print version information"` +} + +type VersionCommand struct{} + +/////////////////////////////////////////////////////////////////////////////// +// PUBLIC METHODS + +func (cmd *VersionCommand) Run(g *Globals) error { + if version.GitSource != "" { + fmt.Printf("%s@%s\n\n", version.GitSource, version.Version()) + } else { + fmt.Printf("pgmanager %s\n\n", version.Version()) + } + if version.GitHash != "" { + fmt.Printf("Commit: %s\n", version.GitHash) + } + if version.GitBranch != "" { + fmt.Printf("Branch: %s\n", version.GitBranch) + } + if version.GoBuildTime != "" { + fmt.Printf("Build Time: %s\n", version.GoBuildTime) + } + fmt.Printf("Compiler: %s\n", version.Compiler()) + return nil +}