Configuration and environment loading #8

Closed
opened 2026-10-10 22:18:18 +00:00 by keith · 1 comment
Owner

Centralise configuration so storage paths and credentials are never hard-coded.

Scope

  • Load from environment with documented defaults
  • Required keys: MESHVAULT_LIBRARY_DIR, database host/port/name/user/password, app environment, log level
  • Fail fast at boot with a clear message when a required key is missing
  • Validate that the library directory exists and is writable

Acceptance criteria

  • .env.example documents every supported key
  • Missing required config aborts startup with an actionable error
  • Unwritable library directory is reported clearly at boot

Blocked by: #7, #1

Centralise configuration so storage paths and credentials are never hard-coded. ## Scope - Load from environment with documented defaults - Required keys: `MESHVAULT_LIBRARY_DIR`, database host/port/name/user/password, app environment, log level - Fail fast at boot with a clear message when a required key is missing - Validate that the library directory exists and is writable ## Acceptance criteria - [ ] `.env.example` documents every supported key - [ ] Missing required config aborts startup with an actionable error - [ ] Unwritable library directory is reported clearly at boot --- Blocked by: #7, #1
keith added this to the M1 - Docker & Dev Environment milestone 2026-10-10 22:18:18 +00:00
keith added the area:backendtype:chorepriority:high labels 2026-10-10 22:18:18 +00:00
Author
Owner

Acceptance reconciliation at c1ef2ee: .env.example, AppConfig and entrypoint validation implement documented configuration, defaults and startup checks. Historical M1 task3 runtime tests verified missing-config and unwritable-directory rejection as www-data. Fresh full suite and lint pass. Native PHP intentionally does not load .env; Compose injects values. Closing.

Acceptance reconciliation at c1ef2ee: .env.example, AppConfig and entrypoint validation implement documented configuration, defaults and startup checks. Historical M1 task3 runtime tests verified missing-config and unwritable-directory rejection as www-data. Fresh full suite and lint pass. Native PHP intentionally does not load .env; Compose injects values. Closing.
keith closed this issue 2026-10-12 18:54:38 +00:00
Sign in to join this conversation.