mirror of
https://github.com/Luzifer/cloudkeys-go.git
synced 2024-11-09 14:40:05 +00:00
30 lines
1.1 KiB
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
|
|
}
|