esbot/main.go

52 lines
1.1 KiB
Go
Raw Normal View History

2021-02-22 19:39:22 +00:00
package main
import (
"os"
"git.netflux.io/rob/esbot/internal/http"
2021-02-25 15:35:34 +00:00
"git.netflux.io/rob/esbot/internal/lang"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
2021-02-22 19:39:22 +00:00
)
func main() {
2021-02-25 15:35:34 +00:00
logger := log.Output(zerolog.ConsoleWriter{Out: os.Stdout})
2021-02-22 19:39:22 +00:00
accessToken := os.Getenv("ACCESS_TOKEN")
if accessToken == "" {
2021-02-25 15:35:34 +00:00
logger.Fatal().Msg("missing ACCESS_TOKEN")
2021-02-22 19:39:22 +00:00
}
listenAddr := os.Getenv("LISTEN_ADDR")
if listenAddr == "" {
2021-02-25 15:35:34 +00:00
logger.Fatal().Msg("missing LISTEN_ADDR")
2021-02-22 19:39:22 +00:00
}
2021-02-24 17:20:32 +00:00
baseURL := os.Getenv("BASE_URL")
if baseURL == "" {
2021-02-25 15:35:34 +00:00
logger.Fatal().Msg("missing BASE_URL")
2021-02-24 17:20:32 +00:00
}
2021-02-25 20:18:59 +00:00
user := os.Getenv("MATRIX_USER")
if user == "" {
logger.Fatal().Msg("missing MATRIX_USER")
}
verbsFile := os.Getenv("VERBS_FILE")
if verbsFile == "" {
logger.Fatal().Msg("missing VERBS_FILE")
}
2021-02-22 19:39:22 +00:00
insecureTLS := os.Getenv("INSECURE_TLS") == "yes"
2021-02-25 20:18:59 +00:00
if n, err := lang.Load(verbsFile); err == nil {
2021-02-25 15:35:34 +00:00
logger.Info().Msgf("Loaded %d verbs", n)
} else {
logger.Fatal().Msgf("could not initialize languages: %v", err)
}
2021-02-25 20:18:59 +00:00
if err := http.ListenAndServe(listenAddr, baseURL, user, accessToken, insecureTLS, logger); err != nil {
2021-02-25 15:35:34 +00:00
panic(err)
}
2021-02-22 19:39:22 +00:00
}