3f5b0d1591
fix: set PYTHONPATH=/app so alembic can import app package
...
When the alembic console-script entry point runs, Python sets sys.path[0]
to the entry point directory (/usr/local/bin/), not the WORKDIR. Without
PYTHONPATH=/app, `from app.models import Base` in alembic/env.py fails
with ModuleNotFoundError. uvicorn is unaffected as it adds CWD to
sys.path itself.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 21:42:39 +01:00
853f26d326
fix: use double-cast to resolve TS2352/TS2322 type errors
...
Named interfaces without index signatures cannot be directly cast to
Record<string, unknown>. Use `as unknown as` double-cast to satisfy
TypeScript strict mode for the AnyEntity[] and Dispatch casts in
ConfigDetail.tsx, and the Config -> Record<string, unknown> cast in
ConfigList.tsx.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 21:34:51 +01:00
3a82801360
fix: import ReactNode, Dispatch, SetStateAction explicitly (React namespace not in scope)
2026-02-28 21:29:04 +01:00
57d666e759
fix: use npm install in Dockerfile (no package-lock.json yet)
2026-02-28 21:25:38 +01:00
488c385de3
fix: correct generate endpoint return type, migration server_default SQL, and auth loading propagation
2026-02-28 21:22:11 +01:00
1de7974921
docs: add README with quickstart and deployment instructions
2026-02-28 21:20:24 +01:00
be64d0bffd
feat: add Helm charts for Kubernetes deployment (Traefik + NFS Postgres)
2026-02-28 21:19:50 +01:00
1d5c98739b
feat: add Config Detail page with tabbed entity management
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 20:09:15 +01:00
627e6149fb
feat: add GenerateModal component
2026-02-28 20:07:34 +01:00
f7845c4c53
feat: add Config List page
2026-02-28 20:07:16 +01:00
667e4eefad
feat: add Login page
2026-02-28 20:07:02 +01:00
e23f1255fe
feat: add reusable DataTable and EntityForm components
2026-02-28 20:06:38 +01:00
f8a6e49038
feat: add Layout and ProtectedRoute components
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 20:06:08 +01:00
d0ee7d2f23
feat: add API client and auth store
2026-02-28 20:05:22 +01:00
b5c941c159
feat: add frontend entry point, theme, and router
2026-02-28 20:04:33 +01:00
1afc95fe8b
feat: add ShorewallGenerator (zones, interfaces, policy, rules, masq, json, zip)
2026-02-28 20:02:48 +01:00
77aded3918
feat: add nested resource routers for zones, interfaces, policies, rules, masq
2026-02-28 20:02:05 +01:00
099fd8307f
feat: add configs CRUD router with generate endpoint
2026-02-28 20:00:19 +01:00
ec6b9f6332
feat: add auth router (register/login/logout/me)
2026-02-28 19:59:33 +01:00
472593b8e6
feat: add FastAPI app entrypoint
2026-02-28 19:59:07 +01:00
5c33dd7c96
feat: add Pydantic schemas
2026-02-28 19:58:30 +01:00
a96cdc825c
feat: add JWT auth module
2026-02-28 19:58:10 +01:00
bee6b83556
feat: add Alembic migration with schema and seed data
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-02-28 19:57:35 +01:00
c562d35345
feat: add SQLAlchemy models and database setup
2026-02-28 19:55:54 +01:00
3436856215
feat: add frontend Dockerfile, Vite config, and Nginx config
2026-02-28 19:54:51 +01:00
ee9dc101da
feat: add backend Dockerfile and requirements
2026-02-28 19:54:06 +01:00
cb9b802d43
feat: add project skeleton and docker-compose
2026-02-28 19:53:19 +01:00
f4d81ad8e9
Instructions and plan
2026-02-28 19:00:53 +01:00