summaryrefslogtreecommitdiff
path: root/nexus/config/env.go
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-29 22:52:46 +0530
committerBobby <[email protected]>2026-03-29 22:52:46 +0530
commit9eb9b7f4bd552a641235764f66483e1f940fcfd9 (patch)
treeda520b923b5e6758d5457b6233dd6671fc640914 /nexus/config/env.go
parent65a143a0871c35989b7c7ea6723d39a0585c089e (diff)
downloadechoes-of-vaelun-main.tar.xz
echoes-of-vaelun-main.zip
feat: nexus account manager scaffold with auth, characters, realmsHEADmain
Diffstat (limited to 'nexus/config/env.go')
-rw-r--r--nexus/config/env.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/nexus/config/env.go b/nexus/config/env.go
new file mode 100644
index 0000000..3b3b65b
--- /dev/null
+++ b/nexus/config/env.go
@@ -0,0 +1,37 @@
+package config
+
+import "time"
+
+type server struct {
+ Host string `env:"HOST" default:"0.0.0.0"`
+ Port int `env:"PORT" default:"8080"`
+ Debug bool `env:"DEBUG" default:"false"`
+}
+
+type database struct {
+ Host string `env:"DB_HOST" default:"localhost"`
+ Port int `env:"DB_PORT" default:"5432"`
+ User string `env:"DB_USER" default:"postgres"`
+ Password string `env:"DB_PASSWORD" default:"postgres"`
+ Name string `env:"DB_NAME" default:"nexus"`
+ SSLMode string `env:"DB_SSL_MODE" default:"disable"`
+}
+
+type session struct {
+ CookieName string `env:"SESSION_COOKIE_NAME" default:"eov_session"`
+ CookieDomain string `env:"SESSION_COOKIE_DOMAIN" default:"localhost"`
+ CookiePath string `env:"SESSION_COOKIE_PATH" default:"/"`
+ CookieSecure bool `env:"SESSION_COOKIE_SECURE" default:"false"`
+ Timeout time.Duration `env:"SESSION_TIMEOUT" default:"24h"`
+}
+
+type token struct {
+ AuthExpiry int `env:"AUTH_TOKEN_EXPIRY_MINUTES" default:"30"`
+ RefreshExpiry int `env:"REFRESH_TOKEN_EXPIRY_DAYS" default:"30"`
+}
+
+type game struct {
+ NakamaHost string `env:"NAKAMA_HOST" default:"localhost"`
+ NakamaPort int `env:"NAKAMA_PORT" default:"7350"`
+ ServerKey string `env:"NAKAMA_SERVER_KEY" default:"defaultkey"`
+}