1
0
Fork 0
mirror of https://github.com/Luzifer/mondash.git synced 2024-11-13 01:42:41 +00:00
mondash/config/config.go

33 lines
870 B
Go
Raw Normal View History

2015-07-06 19:41:21 +00:00
package config // import "github.com/Luzifer/mondash/config"
import (
"os"
"github.com/spf13/pflag"
)
2015-07-06 19:44:13 +00:00
// Config is a storage struct for configuration parameters
2015-07-06 19:41:21 +00:00
type Config struct {
Storage string
BaseURL string
APIToken string
S3 struct {
Bucket string
}
}
2015-07-06 19:44:13 +00:00
// Load parses arguments / ENV variable to load configuration
2015-07-06 19:41:21 +00:00
func Load() *Config {
cfg := &Config{}
pflag.StringVar(&cfg.Storage, "storage", "s3", "Storage engine to use")
pflag.StringVar(&cfg.BaseURL, "baseurl", os.Getenv("BASE_URL"), "The Base-URL the application is running on for example https://mondash.org")
pflag.StringVar(&cfg.APIToken, "api-token", os.Getenv("API_TOKEN"), "API Token used for the /welcome dashboard (you can choose your own)")
// S3
pflag.StringVar(&cfg.S3.Bucket, "s3Bucket", os.Getenv("S3Bucket"), "Bucket to use for S3 storage")
pflag.Parse()
return cfg
}