1
0
mirror of https://github.com/Luzifer/badge-gen.git synced 2024-09-19 15:23:04 +00:00

Improve config loading

Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
Knut Ahlers 2021-03-11 11:16:48 +01:00
parent a0e3ab6575
commit 13ac3b6bd1
Signed by: luzifer
GPG Key ID: 0066F03ED215AD7D
3 changed files with 24 additions and 13 deletions

35
app.go
View File

@ -5,8 +5,6 @@ import (
"crypto/sha1" "crypto/sha1"
"errors" "errors"
"fmt" "fmt"
"io/ioutil"
"log"
"net/http" "net/http"
"net/url" "net/url"
"os" "os"
@ -15,16 +13,16 @@ import (
"text/template" "text/template"
"time" "time"
"gopkg.in/yaml.v2" "github.com/gorilla/mux"
log "github.com/sirupsen/logrus"
"github.com/tdewolff/minify"
"github.com/tdewolff/minify/svg"
"golang.org/x/net/context" "golang.org/x/net/context"
"gopkg.in/yaml.v2"
"github.com/Luzifer/badge-gen/cache" "github.com/Luzifer/badge-gen/cache"
"github.com/Luzifer/go_helpers/v2/accessLogger" "github.com/Luzifer/go_helpers/v2/accessLogger"
"github.com/Luzifer/rconfig/v2" "github.com/Luzifer/rconfig/v2"
"github.com/gorilla/mux"
"github.com/tdewolff/minify"
"github.com/tdewolff/minify/svg"
) )
const ( const (
@ -100,20 +98,31 @@ func main() {
cfg.Listen = fmt.Sprintf(":%d", cfg.Port) cfg.Listen = fmt.Sprintf(":%d", cfg.Port)
} }
log.Printf("badge-gen %s started...", version) log.Infof("badge-gen %s started...", version)
var err error var err error
cacheStore, err = cache.GetCacheByURI(cfg.Cache) cacheStore, err = cache.GetCacheByURI(cfg.Cache)
if err != nil { if err != nil {
log.Fatalf("Unable to open cache: %s", err) log.WithError(err).Fatal("Unable to open cache")
} }
if _, err := os.Stat(cfg.ConfStorage); err == nil { f, err := os.Open(cfg.ConfStorage)
rawConfig, _ := ioutil.ReadFile(cfg.ConfStorage) switch {
if err := yaml.Unmarshal(rawConfig, &configStore); err != nil { case err == nil:
log.Fatalf("Unable to parse config: %s", err) yamlDecoder := yaml.NewDecoder(f)
yamlDecoder.SetStrict(true)
if err = yamlDecoder.Decode(&configStore); err != nil {
log.WithError(err).Fatal("Unable to parse config")
} }
log.Printf("Loaded %d value pairs into configuration store", len(configStore)) log.Printf("Loaded %d value pairs into configuration store", len(configStore))
f.Close()
case os.IsNotExist(err):
// Do nothing
default:
log.WithError(err).Fatal("Unable to open config")
} }
r := mux.NewRouter().UseEncodedPath() r := mux.NewRouter().UseEncodedPath()

1
go.mod
View File

@ -9,6 +9,7 @@ require (
github.com/gorilla/mux v1.8.0 github.com/gorilla/mux v1.8.0
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1
github.com/prometheus/client_golang v1.9.0 github.com/prometheus/client_golang v1.9.0
github.com/sirupsen/logrus v1.7.0
github.com/tdewolff/minify v2.3.6+incompatible github.com/tdewolff/minify v2.3.6+incompatible
github.com/tdewolff/parse v2.3.4+incompatible // indirect github.com/tdewolff/parse v2.3.4+incompatible // indirect
github.com/tdewolff/test v1.0.6 // indirect github.com/tdewolff/test v1.0.6 // indirect

1
go.sum
View File

@ -271,6 +271,7 @@ github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeV
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.7.0 h1:ShrD1U9pZB12TX0cVy0DtePoCH97K8EtX+mg7ZARUtM=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=