ref: master
cmd/curcuma/main.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
package main import ( "log" "strconv" "github.com/minio/minio-go/v7" "github.com/minio/minio-go/v7/pkg/credentials" "github.com/vaughan0/go-ini" "git.eletrotupi.com/curcuma" ) func main() { log.Print("Starting server") var ( config ini.File err error ) for _, path := range []string{"config.ini", "/etc/curcuma.ini"} { config, err = ini.LoadFile(path) if err == nil { break } } if err != nil { log.Fatalf("Failed to load config file: %v", err) } endpoint, _ := config.Get("s3", "endpoint") accessKeyID, _ := config.Get("s3", "access-key") accessKeySecret, _ := config.Get("s3", "access-secret") useSSLStr, _ := config.Get("s3", "use-ssl") useSSL, _ := strconv.ParseBool(useSSLStr) if endpoint == "" || accessKeyID == "" || accessKeySecret == "" { panic("Configuration for s3 is missing") } minioClient, err := minio.New(endpoint, &minio.Options{ Creds: credentials.NewStaticV4(accessKeyID, accessKeySecret, ""), Secure: useSSL, }) if err != nil { log.Fatalln(err) } wtc := curcuma.NewWatcher(minioClient, config) go wtc.Observe() srv := curcuma.NewServer(minioClient, config) srv.Start() } |