OPENAI_API_KEY default + OPENAI_API_KEY_FILE override (file wins — k8s-secret pattern). Trims trailing whitespace (some k8s mounts add newlines). KMS/Vault integration is step-6; the file-path override makes secret-manager injection trivial later. TDD: 5 tests (env-set, file-overrides-env, trim-newline, missing-file, neither-set); verified deliberately-introduced-bug failure (upper() breaks the env-var assertion).
48 KiB
48 KiB