6
1
mirror of https://git.mills.io/saltyim/saltyim.git synced 2024-06-30 18:51:03 +00:00
prologic-saltyim/internal/config.go
xuu 38a6d71644 xuu/bot (#64)
Co-authored-by: Jon Lundy <jon@xuu.cc>
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/64
Co-authored-by: xuu <xuu@noreply@mills.io>
Co-committed-by: xuu <xuu@noreply@mills.io>
2022-03-26 14:43:05 +00:00

44 lines
888 B
Go

package internal
import (
"net/url"
log "github.com/sirupsen/logrus"
)
// Config contains the server configuration parameters
type Config struct {
Debug bool
TLS bool `json:"-"`
TLSKey string `json:"-"`
TLSCert string `json:"-"`
Data string `json:"-"`
Store string `json:"-"`
BaseURL string
ServicesUser string
AdminUser string `json:"-"`
AdminEmail string `json:"-"`
baseURL *url.URL
}
// Validate validates the configuration is valid which for the most part
// just ensures that default secrets are actually configured correctly
func (c *Config) Validate() error {
// Automatically correct missing Scheme in Pod Base URL
if c.baseURL.Scheme == "" {
log.Warnf("base url (-u/--base-url) %s is missing the scheme", c.BaseURL)
c.baseURL.Scheme = "http"
c.BaseURL = c.baseURL.String()
}
if c.Debug {
return nil
}
return nil
}