From 18e322c5e19a8c5e81d64ead359d748d4c3fc1cc Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Tue, 3 Nov 2020 17:34:25 -0800 Subject: [PATCH] Add version number to status endpoint --- config/config.go | 5 +++-- core/status.go | 2 ++ main.go | 12 ++++++++---- models/status.go | 2 ++ 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/config/config.go b/config/config.go index 3c4676329..420164226 100644 --- a/config/config.go +++ b/config/config.go @@ -21,6 +21,7 @@ type config struct { InstanceDetails InstanceDetails `yaml:"instanceDetails"` S3 S3 `yaml:"s3"` VersionInfo string `yaml:"-"` // For storing the version/build number + VersionNumber string `yaml:"-"` VideoSettings videoSettings `yaml:"videoSettings"` WebServerPort int `yaml:"webServerPort"` YP YP `yaml:"yp"` @@ -228,7 +229,7 @@ func (q *StreamQuality) GetEncoderPreset() string { } //Load tries to load the configuration file -func Load(filePath string, versionInfo string) error { +func Load(filePath string, versionInfo string, versionNumber string) error { Config = new(config) _default = getDefaults() @@ -237,6 +238,6 @@ func Load(filePath string, versionInfo string) error { } Config.VersionInfo = versionInfo - + Config.VersionNumber = versionNumber return Config.verifySettings() } diff --git a/core/status.go b/core/status.go index 1d336f793..0aa256e3d 100644 --- a/core/status.go +++ b/core/status.go @@ -1,6 +1,7 @@ package core import ( + "github.com/owncast/owncast/config" "github.com/owncast/owncast/models" ) @@ -17,6 +18,7 @@ func GetStatus() models.Status { SessionMaxViewerCount: _stats.SessionMaxViewerCount, LastDisconnectTime: _stats.LastDisconnectTime, LastConnectTime: _stats.LastConnectTime, + VersionNumber: config.Config.VersionNumber, } } diff --git a/main.go b/main.go index 4f166ffa4..c26a0f635 100644 --- a/main.go +++ b/main.go @@ -28,7 +28,7 @@ var ( func main() { configureLogging() - log.Infoln(getVersion()) + log.Infoln(getReleaseString()) configFile := flag.String("configFile", "config.yaml", "Config File full path. Defaults to current folder") dbFile := flag.String("database", "", "Path to the database file.") @@ -47,7 +47,7 @@ func main() { log.SetLevel(log.InfoLevel) } - if err := config.Load(*configFile, getVersion()); err != nil { + if err := config.Load(*configFile, getReleaseString(), getVersionNumber()); err != nil { panic(err) } config.Config.EnableDebugFeatures = *enableDebugOptions @@ -75,11 +75,15 @@ func main() { } -//getVersion gets the version string -func getVersion() string { +//getReleaseString gets the version string +func getReleaseString() string { return fmt.Sprintf("Owncast v%s-%s (%s)", BuildVersion, BuildType, GitCommit) } +func getVersionNumber() string { + return BuildVersion +} + func configureLogging() { logging.Setup() log.SetFormatter(&log.TextFormatter{ diff --git a/models/status.go b/models/status.go index 47f6f77f2..b307cddbb 100644 --- a/models/status.go +++ b/models/status.go @@ -11,4 +11,6 @@ type Status struct { LastConnectTime utils.NullTime `json:"lastConnectTime"` LastDisconnectTime utils.NullTime `json:"lastDisconnectTime"` + + VersionNumber string `json:"versionNumber"` }