From ae748859be8d6d3ed3c0929770f0c287ab6d6460 Mon Sep 17 00:00:00 2001 From: Slack Coder Date: Mon, 8 Apr 2024 15:29:11 -0500 Subject: Port to Golang --- cmd/mirror/main.go | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 cmd/mirror/main.go (limited to 'cmd') diff --git a/cmd/mirror/main.go b/cmd/mirror/main.go new file mode 100644 index 0000000..e8a7f6c --- /dev/null +++ b/cmd/mirror/main.go @@ -0,0 +1,44 @@ +package main + +import ( + "flag" + "log" + "os" + + "git.server.ky/slackcoder/mirror/internal/service" +) + +type Flags struct { + Config string + Mirrors string +} + +func ParseFlags() *Flags { + var flags Flags + + flag.StringVar(&flags.Config, "config", "/etc/mirror/config.json", "configuration file") + + flag.Parse() + return &flags +} + +func exitOnError(err error) { + if err != nil { + log.Printf("%s", err) + os.Exit(-1) + } +} + +func main() { + flags := ParseFlags() + + var cfg service.Config + err := service.ApplyFileConfig(&cfg, flags.Config) + exitOnError(err) + + srv, err := service.NewService(&cfg) + exitOnError(err) + + err = srv.Run() + exitOnError(err) +} -- cgit v1.2.3