feat: add DB flags, fix presence config, switch basicauth to map
This commit is contained in:
parent
2dcf0ec867
commit
940c6d8a25
4 changed files with 98 additions and 30 deletions
99
flag.go
99
flag.go
|
@ -6,37 +6,106 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
configPort = "Port"
|
||||
defaultPort = 8080
|
||||
flagPort = "port"
|
||||
flagPortConfig = "Port"
|
||||
flagPortDefault = 8080
|
||||
flagPort = "port"
|
||||
|
||||
configTLSCert = "TLS.Cert"
|
||||
defaultTLSCert = ""
|
||||
flagTLSCert = "tls-cert"
|
||||
flagTLSCertConfig = "TLS.Cert"
|
||||
flagTLSCertDefault = ""
|
||||
flagTLSCert = "tls-cert"
|
||||
|
||||
configTLSKey = "TLS.Key"
|
||||
defaultTLSKey = ""
|
||||
flagTLSKey = "tls-key"
|
||||
flagTLSKeyConfig = "TLS.Key"
|
||||
flagTLSKeyDefault = ""
|
||||
flagTLSKey = "tls-key"
|
||||
|
||||
flagDBDatabaseConfig = "DB.Database"
|
||||
flagDBDatabaseDefault = "presences"
|
||||
flagDBDatabase = "db-database"
|
||||
|
||||
flagDBHostConfig = "DB.Host"
|
||||
flagDBHostDefault = "presences-db"
|
||||
flagDBHost = "db-host"
|
||||
|
||||
flagDBPasswordConfig = "DB.Password"
|
||||
flagDBPasswordDefault = "presences"
|
||||
flagDBPassword = "db-password"
|
||||
|
||||
flagDBPortConfig = "DB.Port"
|
||||
flagDBPortDefault = 5432
|
||||
flagDBPort = "db-port"
|
||||
|
||||
flagDBSSLModeConfig = "DB.SSLMode"
|
||||
flagDBSSLModeDefault = "prefer"
|
||||
flagDBSSLMode = "db-sslmode"
|
||||
|
||||
flagDBUsernameConfig = "DB.Username"
|
||||
flagDBUsernameDefault = "presences"
|
||||
flagDBUsername = "db-username"
|
||||
|
||||
/*
|
||||
flagUICredentialsConfig = "UI.Credentials"
|
||||
//flagUICredentialsDefault = make(map[string]string)
|
||||
flagUICredentials = "ui-credentials"
|
||||
*/
|
||||
|
||||
//TODO check if any necessary flags are missing
|
||||
)
|
||||
|
||||
// BindClientFlags declares client-related flags and config options in the specified *pflag.FlagSet
|
||||
func BindFlags(set *pflag.FlagSet) error {
|
||||
// Credentials -> seulement par config
|
||||
|
||||
set.Int(flagPort, defaultPort, "User interface port")
|
||||
if err := viper.BindPFlag(configPort, set.Lookup(flagPort)); err != nil {
|
||||
set.Int(flagPort, flagPortDefault, "User interface port")
|
||||
if err := viper.BindPFlag(flagPortConfig, set.Lookup(flagPort)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set.String(flagTLSKey, defaultTLSKey, "User interface TLS private key (or path to file)")
|
||||
if err := viper.BindPFlag(configTLSKey, set.Lookup(flagTLSKey)); err != nil {
|
||||
set.String(flagTLSKey, flagTLSKeyDefault, "User interface TLS private key (or path to file)")
|
||||
if err := viper.BindPFlag(flagTLSKeyConfig, set.Lookup(flagTLSKey)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set.String(flagTLSCert, defaultTLSCert, "User interface TLS certificate (or path to file)")
|
||||
if err := viper.BindPFlag(configTLSCert, set.Lookup(flagTLSCert)); err != nil {
|
||||
set.String(flagTLSCert, flagTLSCertDefault, "User interface TLS certificate (or path to file)")
|
||||
if err := viper.BindPFlag(flagTLSCertConfig, set.Lookup(flagTLSCert)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set.String(flagDBDatabase, flagDBDatabaseDefault, "PostgreSQL database")
|
||||
if err := viper.BindPFlag(flagDBDatabaseConfig, set.Lookup(flagDBDatabase)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set.String(flagDBHost, flagDBHostDefault, "PostgreSQL host")
|
||||
if err := viper.BindPFlag(flagDBHostConfig, set.Lookup(flagDBHost)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set.String(flagDBPassword, flagDBPasswordDefault, "PostgreSQL password")
|
||||
if err := viper.BindPFlag(flagDBPasswordConfig, set.Lookup(flagDBPassword)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set.Int(flagDBPort, flagDBPortDefault, "PostgreSQL port")
|
||||
if err := viper.BindPFlag(flagDBPortConfig, set.Lookup(flagDBPort)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set.String(flagDBSSLMode, flagDBSSLModeDefault, "PostgreSQL ssl mode")
|
||||
if err := viper.BindPFlag(flagDBSSLModeConfig, set.Lookup(flagDBSSLMode)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
set.String(flagDBUsername, flagDBUsernameDefault, "PostgreSQL username")
|
||||
if err := viper.BindPFlag(flagDBUsernameConfig, set.Lookup(flagDBUsername)); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
/*
|
||||
set.StringToString(flagUICredentials, nil, "Sets of credentials for the UI console")
|
||||
if err := viper.BindPFlag(flagUICredentialsConfig, set.Lookup(flagUICredentials)); err != nil {
|
||||
return err
|
||||
}
|
||||
*/
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue