diff options
author | Benjamin Morrison <ben@gbmor.dev> | 2021-10-21 21:41:44 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-21 21:41:44 -0400 |
commit | 57dfee62f097eed8f5e4a3429d7ea850ce07c570 (patch) | |
tree | 5ee99ab38e00c41190f82bef4b08a298c914f329 /svc/conf.go | |
parent | d2cbd7b2dca8b981f886c490d0aed205f0530c31 (diff) | |
parent | dd3d87bd97e41c77eea270812d338139fd87b9fc (diff) | |
download | getwtxt-57dfee62f097eed8f5e4a3429d7ea850ce07c570.tar.gz |
Merge pull request #15 from getwtxt/delete-user
Delete user endpoint with admin pass
Diffstat (limited to 'svc/conf.go')
-rw-r--r-- | svc/conf.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/svc/conf.go b/svc/conf.go index 7365b2b..5f826fb 100644 --- a/svc/conf.go +++ b/svc/conf.go @@ -20,6 +20,7 @@ along with Getwtxt. If not, see <https://www.gnu.org/licenses/>. package svc // import "git.sr.ht/~gbmor/getwtxt/svc" import ( + "fmt" "log" "os" "path/filepath" @@ -43,6 +44,7 @@ type Configuration struct { DBPath string `yaml:"DatabasePath"` AssetsDir string `yaml:"AssetsDirectory"` StaticDir string `yaml:"StaticFilesDirectory"` + AdminPassHash string `yaml:"-"` StdoutLogging bool `yaml:"StdoutLogging"` CacheInterval time.Duration `yaml:"StatusFetchInterval"` DBInterval time.Duration `yaml:"DatabasePushInterval"` @@ -126,6 +128,7 @@ func setConfigDefaults() { viper.SetDefault("StdoutLogging", false) viper.SetDefault("ReCacheInterval", "1h") viper.SetDefault("DatabasePushInterval", "5m") + viper.SetDefault("AdminPassword", "please_change_me") viper.SetDefault("Instance.SiteName", "getwtxt") viper.SetDefault("Instance.OwnerName", "Anonymous Microblogger") @@ -173,6 +176,16 @@ func bindConfig() { confObj.StdoutLogging = viper.GetBool("StdoutLogging") confObj.CacheInterval = viper.GetDuration("StatusFetchInterval") confObj.DBInterval = viper.GetDuration("DatabasePushInterval") + txtPass := viper.GetString("AdminPassword") + if txtPass == "please_change_me" { + fmt.Println("Please set AdminPassword in getwtxt.yml") + os.Exit(1) + } + passHash, err := HashPass(txtPass) + if err != nil { + errFatal("Failed to hash administrator password: ", err) + } + confObj.AdminPassHash = passHash confObj.Instance.Vers = Vers confObj.Instance.Name = viper.GetString("Instance.SiteName") |