1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "net/http" 7 "os" 8 ) 9 10 func main() { 11 if err := run(); err != nil { 12 fmt.Fprintln(os.Stderr, err) 13 14 os.Exit(1) 15 } 16 } 17 18 func run() error { 19 var path, pass string 20 21 flag.StringVar(&pass, "p", os.Getenv("CONFIG_PASS"), "SHA256 password hash for config changes") 22 flag.StringVar(&path, "c", os.Getenv("CONFIG_FILE"), "Configuration File") 23 flag.Parse() 24 25 c, err := NewConfigHandler(path, pass) 26 if err != nil { 27 return err 28 } 29 30 http.Handle("/config.json", c) 31 http.Handle("/", index) 32 33 return http.ListenAndServe(":8080", nil) 34 } 35