34 lines
764 B
Go
34 lines
764 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"log"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
"weatherstation/internal/server"
|
|
"weatherstation/internal/tools"
|
|
)
|
|
|
|
func main() {
|
|
server.SetupLogger()
|
|
|
|
// If CAIYUN_TOKEN is provided, enable wind override automatically.
|
|
opts := tools.ExporterOptions{}
|
|
if token := os.Getenv("CAIYUN_TOKEN"); token != "" {
|
|
opts.OverrideWindWithCaiyun = true
|
|
opts.CaiyunToken = token
|
|
log.Printf("[service-exporter] wind override enabled via CAIYUN_TOKEN")
|
|
}
|
|
|
|
exp := tools.NewExporterWithOptions(opts)
|
|
|
|
ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
|
|
defer stop()
|
|
|
|
if err := exp.Start(ctx); err != nil && !errors.Is(err, context.Canceled) {
|
|
log.Fatalf("service-exporter failed: %v", err)
|
|
}
|
|
}
|