kiss server monitoring tool with email alerts
go monitoring

refactor: add dynamic version

Changed files
+18 -1
+18 -1
main.go
···
package main
import (
"fmt"
"os"
"os/exec"
"path"
"runtime"
"github.com/spf13/cobra"
)
var (
-
version = "1.0.0"
flagConfig = "config"
flagDaemon = "daemon"
cfgFile string
···
if err != nil {
fmt.Fprintf(os.Stderr, "error getting user home directory: %v", err)
os.Exit(1)
}
rootCmd := &cobra.Command{
···
return 0, fmt.Errorf("daemon mode is not supported on %s", runtime.GOOS)
}
···
package main
import (
+
"errors"
"fmt"
"os"
"os/exec"
"path"
"runtime"
+
"runtime/debug"
+
"strings"
"github.com/spf13/cobra"
)
var (
flagConfig = "config"
flagDaemon = "daemon"
cfgFile string
···
if err != nil {
fmt.Fprintf(os.Stderr, "error getting user home directory: %v", err)
os.Exit(1)
+
}
+
+
version, err := getVersion()
+
if err != nil {
+
fmt.Fprintf(os.Stderr, "error getting version: %v", err)
+
version = "unknown"
}
rootCmd := &cobra.Command{
···
return 0, fmt.Errorf("daemon mode is not supported on %s", runtime.GOOS)
}
+
+
func getVersion() (string, error) {
+
version, ok := debug.ReadBuildInfo()
+
if !ok {
+
return "", errors.New("failed to get version")
+
}
+
+
return strings.TrimSpace(version.Main.Version), nil
+
}