oven-exporter/main.go

37 lines
796 B
Go

package main
import (
"flag"
"net/http"
"dev.sum7.eu/genofire/golang-lib/file"
"github.com/bdlm/log"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"dev.sum7.eu/genofire/oven-exporter/api"
)
type configData struct {
API *api.Client `toml:"api"`
Listen string `toml:"listen"`
}
func main() {
configPath := "config.toml"
flag.StringVar(&configPath, "c", configPath, "path to configuration file")
flag.Parse()
config := &configData{}
if err := file.ReadTOML(configPath, config); err != nil {
log.Panicf("open config file: %s", err)
}
config.API.SetToken(config.API.Token)
prometheus.MustRegister(config)
http.Handle("/metrics", promhttp.Handler())
log.Fatal(http.ListenAndServe(config.Listen, nil))
}