Helm chart:
- Add postgresql section to values with bundled and external modes
- Add postgres deployment, service, and PVC templates
- Construct DATABASE_URL dynamically with password from Secret
- Backend strategy switches to RollingUpdate when using Postgres
- SQLite PVC suppressed when Postgres is active
Backend:
- Add psycopg2-binary to requirements
- Make run.py schema migrations portable (BOOLEAN, TIMESTAMP, BYTEA types)
- Add Postgres-compatible name-split migration using SPLIT_PART/POSITION
Demo:
- Add docker-compose.postgres.yml for containerized Postgres
- Wire into demo.sh alongside Keycloak
Docs:
- Update CLAUDE.md, README, and design docs to reflect Postgres as primary DB
- Mark scalability SQLite blocker as resolved
- Update roadmap and keycloak-setup examples
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Backend Dockerfile: install deps into /venv so bind-mounts on /app
don't overwrite them
- Frontend Dockerfile: add multi-stage with dev target for hot-reload
(npm run dev --host), production build chains from it
- docker-compose.yml: use dev command/target, fix volume strategy,
add API_TARGET env for vite proxy inside containers
- Keycloak seed runs inside a container (seed-keycloak service) instead
of requiring a local Python venv
- demo.sh (was dev-docker.sh): only needs podman + curl, no local
Python/Node
- dev.sh (was dev-local.sh): local dev with Keycloak, replaces the
old no-Keycloak dev.sh which was redundant
- Update docs, .gitignore, .dockerignore for new script names
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Change backend port from 5000 to 5001 (macOS AirPlay conflict)
- Fix base-ui Button overriding type="submit" breaking all forms
- Fix dashboard crash from rendering audit details object as React child
- Fix dialog scroll for tall content (max-height + overflow-y)
- Fix app shell scroll with min-h-0 on flex containers
- Add email/phone fields to project contacts with copy-to-clipboard tooltips
- Add Users stat card to dashboard (Keycloak API stubbed)
- Remove licenses/certs tabs from project detail page (admin-only tools)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Flask backend with project, license, and certificate management.
React frontend with Tailwind/shadcn UI. Helm chart for Kubernetes
deployment with PVC-backed SQLite storage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>