1
0
Fork 0
mirror of https://github.com/Luzifer/cloudkeys-go.git synced 2024-11-09 14:40:05 +00:00
cloudkeys-go/config.go

30 lines
1.1 KiB
Go

package main
import (
"net/url"
"github.com/Luzifer/rconfig"
)
type config struct {
// General Config
PasswordSalt string `env:"passwordSalt" flag:"password-salt" description:"A random unique salt for encrypting the passwords"`
UsernameSalt string `env:"usernameSalt" flag:"username-salt" description:"A random unique salt for encrypting the usernames"`
Storage string `env:"storage" flag:"storage" default:"local:///./data" description:"Configuration for storage adapter (see README.md)"`
Listen string `flag:"listen" env:"listen" default:":3000" description:"IP and port to listen on"`
CookieSigningKey string `flag:"cookie-authkey" env:"authkey" description:"Key used to authenticate the session"`
CookieEncryptKey string `flag:"cookie-encryptkey" env:"encryptkey" description:"Key used to encrypt the session"`
VersionAndQuit bool `flag:"version" default:"false" description:"Show version and quit"`
}
func (c config) ParsedStorage() (*url.URL, error) {
return url.Parse(c.Storage)
}
func loadConfig() *config {
cfg := &config{}
rconfig.Parse(cfg)
return cfg
}