mirror of
https://github.com/gotify/server.git
synced 2024-01-28 15:20:56 +03:00
Adjust config for SSL support
This commit is contained in:
committed by
Jannis Mattheis
parent
9d635b15a6
commit
7bbe7d374a
@@ -4,7 +4,22 @@ import "github.com/jinzhu/configor"
|
||||
|
||||
// Configuration is stuff that can be configured externally per env variables or config file (config.yml).
|
||||
type Configuration struct {
|
||||
Port int `default:"8080"`
|
||||
Server struct {
|
||||
Port int `default:"80"`
|
||||
SSL struct {
|
||||
Enabled *bool `default:"false"`
|
||||
RedirectToHTTPS *bool `default:"true"`
|
||||
Port int `default:"443"`
|
||||
CertFile string `default:""`
|
||||
CertKey string `default:""`
|
||||
LetsEncrypt struct {
|
||||
Enabled *bool `default:"false"`
|
||||
AcceptTOS *bool `default:"false"`
|
||||
Cache string `default:"certs"`
|
||||
Hosts []string
|
||||
}
|
||||
}
|
||||
}
|
||||
Database struct {
|
||||
Dialect string `default:"sqlite3"`
|
||||
Connection string `default:"gotify.db"`
|
||||
|
||||
@@ -9,10 +9,13 @@ import (
|
||||
|
||||
func TestConfigEnv(t *testing.T) {
|
||||
os.Setenv("GOTIFY_DEFAULTUSER_NAME", "jmattheis")
|
||||
os.Setenv("GOTIFY_SERVER_SSL_LETSENCRYPT_HOSTS", "- push.example.tld\n- push.other.tld")
|
||||
conf := Get()
|
||||
assert.Equal(t, 8080, conf.Port, "should use defaults")
|
||||
assert.Equal(t, 80, conf.Server.Port, "should use defaults")
|
||||
assert.Equal(t, "jmattheis", conf.DefaultUser.Name, "should not use default but env var")
|
||||
assert.Equal(t, []string{"push.example.tld", "push.other.tld"}, conf.Server.SSL.LetsEncrypt.Hosts)
|
||||
os.Unsetenv("GOTIFY_DEFAULTUSER_NAME")
|
||||
os.Unsetenv("GOTIFY_SERVER_SSL_LETSENCRYPT_HOSTS")
|
||||
}
|
||||
|
||||
func TestConfigFile(t *testing.T) {
|
||||
@@ -22,7 +25,13 @@ func TestConfigFile(t *testing.T) {
|
||||
}()
|
||||
assert.Nil(t, err)
|
||||
_, err = file.WriteString(`
|
||||
port: 1234
|
||||
server:
|
||||
port: 1234
|
||||
ssl:
|
||||
port: 3333
|
||||
letsencrypt:
|
||||
hosts:
|
||||
- push.example.tld
|
||||
database:
|
||||
dialect: mysql
|
||||
connection: user name
|
||||
@@ -33,7 +42,9 @@ defaultuser:
|
||||
file.Close()
|
||||
assert.Nil(t, err)
|
||||
conf := Get()
|
||||
assert.Equal(t, 1234, conf.Port)
|
||||
assert.Equal(t, 1234, conf.Server.Port)
|
||||
assert.Equal(t, 3333, conf.Server.SSL.Port)
|
||||
assert.Equal(t, []string{"push.example.tld"}, conf.Server.SSL.LetsEncrypt.Hosts)
|
||||
assert.Equal(t, "nicories", conf.DefaultUser.Name)
|
||||
assert.Equal(t, "12345", conf.DefaultUser.Pass)
|
||||
assert.Equal(t, "mysql", conf.Database.Dialect)
|
||||
|
||||
Reference in New Issue
Block a user