spiegel/main.go

55 lines
1.1 KiB
Go
Raw Normal View History

2024-04-04 01:12:42 +02:00
package main
import (
"os"
"os/signal"
"syscall"
"time"
2024-04-08 03:56:21 +02:00
"git.gnous.eu/ada/spiegel/internal/config"
"git.gnous.eu/ada/spiegel/internal/cron"
"git.gnous.eu/ada/spiegel/internal/git"
"git.gnous.eu/ada/spiegel/internal/router"
2024-04-04 01:12:42 +02:00
"github.com/sirupsen/logrus"
)
func main() {
2024-05-22 01:45:19 +02:00
var configPath string
switch len(os.Args) {
case 2: //nolint:mnd
configPath = os.Args[1]
case 1:
configPath = "config.toml"
default:
logrus.Fatal("Max 1 argument is valid.")
}
initConfig, err := config.LoadToml(configPath)
2024-04-04 01:12:42 +02:00
if err != nil {
logrus.Fatal(err)
}
err = initConfig.Verify()
if err != nil {
logrus.Fatal(err)
}
2024-04-04 01:12:42 +02:00
initConfig.Log.Init()
logrus.Info("Config loaded")
logrus.Debug("Config: ", initConfig)
routerConfig := router.Config{Listen: ":3000", Archive: initConfig.CloneDirectory}
go routerConfig.Router()
git.StartClone(initConfig.RepoList)
duration := time.Duration(initConfig.Interval) * time.Minute
cron.Launch(duration, initConfig.RepoList)
quitSignal := make(chan os.Signal, 1)
signal.Notify(quitSignal, syscall.SIGINT, syscall.SIGTERM)
<-quitSignal
logrus.Info("Bye!")
2024-04-04 01:12:42 +02:00
}