Configure production deployments to use LOG_LEVEL=error for minimal log volume.
- Add LOG_LEVEL=error to docker-compose.yml environment
- Add LOG_LEVEL: error to K8s ConfigMap
- Update .env.example with dev/prod LOG_LEVEL guidance
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)
- Replace default Vite favicon and title with project-specific branding
- Add axios response interceptor to handle 401 by clearing token and redirecting to login
- Move health check endpoint from '/' to '/api/health' so SPA index.html is served on root
- Integrate next-themes ThemeProvider with system preference detection and manual toggle
- Update docker-compose and k8s health check paths accordingly
- Replace hardcoded dark-only colors with semantic CSS variable tokens for theme compatibility
These env vars are no longer read by the application — all runtime
settings are managed through the Admin Dashboard Web UI backed by
SQLite. Only PORT remains in the ConfigMap. Secret resource removed
entirely. README k8s sections updated accordingly.
- docker-compose.e2e.yml: remove WEBHOOK_SECRET, REVIEW_* env vars
(now configured via assistant API in seed.sh)
- e2e/seed.sh: add step to configure assistant via Admin API after boot
(login with default password, set webhook secret + review settings)
- k8s/gitea-assistant.yaml: Secret now only contains GITEA_ACCESS_TOKEN;
ConfigMap reduced to GITEA_API_URL, PORT, QDRANT_URL
- cursor rules updated to document DB-first config architecture
Remove OPENAI_API_KEY from Secret, OPENAI_*/REVIEW_MODEL_*/CONFIG_OVERRIDES_PATH from ConfigMap; switch emptyDir to PVC.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
ConfigMap volumes are read-only in K8s, causing EROFS when saving config.
Replace ConfigMap-mounted config-overrides.json with a writable emptyDir
at /app/data/ and set CONFIG_OVERRIDES_PATH accordingly. The app handles
missing override files gracefully (starts with empty overrides).
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)