From a904a0d1a363016595bfda90d97454f2981ec79b Mon Sep 17 00:00:00 2001 From: LordMathis Date: Sat, 11 Oct 2025 21:22:38 +0200 Subject: [PATCH] Improve admin credentials error messages with setup instructions --- server/internal/app/config.go | 8 +++++++- server/internal/app/config_test.go | 16 ++++++++++++++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/server/internal/app/config.go b/server/internal/app/config.go index fab59d4..a5e4010 100644 --- a/server/internal/app/config.go +++ b/server/internal/app/config.go @@ -48,7 +48,13 @@ func DefaultConfig() *Config { // validate checks if the configuration is valid func (c *Config) validate() error { if c.AdminEmail == "" || c.AdminPassword == "" { - return fmt.Errorf("LEMMA_ADMIN_EMAIL and LEMMA_ADMIN_PASSWORD must be set") + return fmt.Errorf(`admin credentials not configured + +To get started, set these environment variables: + export LEMMA_ADMIN_EMAIL="admin@example.com" + export LEMMA_ADMIN_PASSWORD="your-secure-password" + +Then start the server again.`) } // Validate encryption key if provided (if not provided, it will be auto-generated) diff --git a/server/internal/app/config_test.go b/server/internal/app/config_test.go index 976a91f..2419b8c 100644 --- a/server/internal/app/config_test.go +++ b/server/internal/app/config_test.go @@ -168,7 +168,13 @@ func TestLoad(t *testing.T) { setEnv(t, "LEMMA_ADMIN_PASSWORD", "password123") setEnv(t, "LEMMA_ENCRYPTION_KEY", "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY=") }, - expectedError: "LEMMA_ADMIN_EMAIL and LEMMA_ADMIN_PASSWORD must be set", + expectedError: `admin credentials not configured + +To get started, set these environment variables: + export LEMMA_ADMIN_EMAIL="admin@example.com" + export LEMMA_ADMIN_PASSWORD="your-secure-password" + +Then start the server again.`, }, { name: "missing admin password", @@ -177,7 +183,13 @@ func TestLoad(t *testing.T) { setEnv(t, "LEMMA_ADMIN_EMAIL", "admin@example.com") setEnv(t, "LEMMA_ENCRYPTION_KEY", "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY=") }, - expectedError: "LEMMA_ADMIN_EMAIL and LEMMA_ADMIN_PASSWORD must be set", + expectedError: `admin credentials not configured + +To get started, set these environment variables: + export LEMMA_ADMIN_EMAIL="admin@example.com" + export LEMMA_ADMIN_PASSWORD="your-secure-password" + +Then start the server again.`, }, { name: "invalid encryption key",