blob: 73816b476ca771afda651fa881cecb09eb7a536b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
package config
import "time"
type server struct {
Host string `env:"SERVER_HOST" default:"localhost"`
Port int `env:"SERVER_PORT" default:"8080"`
AppSecret string `env:"APP_SECRET" default:"mysecret"`
AppName string `env:"APP_NAME" default:"Shifoo's Cafe"`
AppDescription string `env:"APP_DESCRIPTION" default:"A cozy place for close friends"`
DevMode bool `env:"DEV_MODE" default:"true"`
}
type openid struct {
DiscoveryURL string `env:"OPENID_DISCOVERY_URL" default:""`
ClientID string `env:"OPENID_CLIENT_ID" default:""`
ClientSecret string `env:"OPENID_CLIENT_SECRET" default:""`
CallbackURL string `env:"OPENID_CALLBACK_URL" default:"http://localhost:8080/auth/callback"`
}
type database struct {
Host string `env:"DB_HOST" default:"localhost"`
Port int `env:"DB_PORT" default:"5432"`
Username string `env:"DB_USER" default:"postgres"`
Password string `env:"DB_PASS" default:""`
Name string `env:"DB_NAME" default:"cafe"`
SSLMode string `env:"DB_SSLMODE" default:"disable"`
}
type session struct {
CookieDomain string `env:"SESSION_COOKIE_DOMAIN" default:"localhost"`
CookieName string `env:"SESSION_COOKIE_NAME" default:"cafe_session"`
CookiePath string `env:"SESSION_COOKIE_PATH" default:"/"`
CookieSameSite string `env:"SESSION_COOKIE_SAME_SITE" default:"Lax"`
CookieSecure bool `env:"SESSION_SECURE_COOKIE" default:"false"`
CookieTimeout time.Duration `env:"SESSION_TIMEOUT" default:"24h"`
}
|