Commit Graph

  • 6a7cf71f84 Added homepage autodiscovery to helm charts master adebaumann 2026-03-16 00:26:38 +01:00
  • 956f0c2cf5 docs: update README to reflect OIDC auth, secrets management, and CI/CD adebaumann 2026-03-07 12:36:11 +01:00
  • 2b9cbfd884 chore: add .gitignore and track frontend/package-lock.json feature/sso adebaumann 2026-03-01 22:07:45 +01:00
  • 6699bf7421 docs: document command-line download via config token in README adebaumann 2026-03-01 22:03:30 +01:00
  • 881f812fa8 Bump adebaumann 2026-03-01 17:50:13 +01:00
  • 593daa17bf fix: move readOnly into inputProps on download token OutlinedInput adebaumann 2026-03-01 16:39:42 +01:00
  • 0943798399 feat: show download token with copy and regenerate on Config Detail adebaumann 2026-03-01 16:33:38 +01:00
  • c24c00b307 feat: add regenerateToken to configsApi adebaumann 2026-03-01 16:27:11 +01:00
  • ab181e802f fix: remove unused Response import, constrain format param to Literal[json,zip] adebaumann 2026-03-01 16:26:43 +01:00
  • b71e1e5989 feat: token auth on generate endpoint and regenerate-token endpoint adebaumann 2026-03-01 16:24:28 +01:00
  • 2e0cda834b feat: add get_optional_user for unauthenticated generate access adebaumann 2026-03-01 16:05:15 +01:00
  • 29b71b267e feat: reject empty-string tokens in GenerateRequest (min_length=1) adebaumann 2026-03-01 16:04:43 +01:00
  • 3b90373b78 feat: add download_token to ConfigOut, add GenerateRequest and RegenerateTokenOut schemas adebaumann 2026-03-01 16:02:38 +01:00
  • 9b15c081b0 feat: add index on configs.download_token for token-auth lookups adebaumann 2026-03-01 16:01:57 +01:00
  • e9a91a7794 feat: add download_token field to Config model adebaumann 2026-03-01 15:59:59 +01:00
  • d6e3904f0a fix: remove permanent server_default from download_token migration adebaumann 2026-03-01 15:59:20 +01:00
  • c55d73fd58 feat: migration 0012 — add download_token to configs adebaumann 2026-03-01 15:35:21 +01:00
  • ad35b00023 docs: add implementation plan for config download token adebaumann 2026-03-01 15:33:19 +01:00
  • d28d034a17 docs: add design doc for config download token adebaumann 2026-03-01 15:31:42 +01:00
  • 4d0164ed02 chore: use storageClassName nfs for postgres PV/PVC adebaumann 2026-03-01 14:54:45 +01:00
  • 426fb8fbfd chore: use existing 'nfs' PV instead of creating one adebaumann 2026-03-01 14:49:09 +01:00
  • d56075a74e feat: expose app version from ConfigMap in sidebar footer adebaumann 2026-03-01 11:51:30 +01:00
  • 9382106e8d fix: reset generated files cache when modal closes so reopening fetches fresh data adebaumann 2026-03-01 11:45:47 +01:00
  • 390774c79a feat: default interface broadcast to 'detect' adebaumann 2026-03-01 11:43:58 +01:00
  • 08dddb7297 fix: convert empty select values to null before submitting adebaumann 2026-03-01 11:35:53 +01:00
  • 02c8f71957 feat: complete snat with all shorewall columns (proto, port, ipsec, mark, user, switch, origdest, probability) adebaumann 2026-03-01 11:27:36 +01:00
  • 36224cebcd feat: complete rules with all shorewall columns (origdest, rate, user, mark, connlimit, time, headers, switch, helper) adebaumann 2026-03-01 11:25:09 +01:00
  • 3c259a1862 feat: add placeholder support to EntityForm FieldDef adebaumann 2026-03-01 11:18:53 +01:00
  • e05e9d5975 feat: add limit:burst and connlimit:mask fields to policies adebaumann 2026-03-01 11:18:26 +01:00
  • 3dc97df6cd feat: allow 'all' for policy source and destination zones adebaumann 2026-03-01 11:14:42 +01:00
  • 8b787a99c2 feat: add broadcast field to interfaces adebaumann 2026-03-01 11:13:13 +01:00
  • 58ef0dec63 feat: allow interfaces to have no zone (shorewall '-' zone) adebaumann 2026-03-01 11:11:52 +01:00
  • 21d404229a feat: add hosts and params files, fix rules SECTION NEW header adebaumann 2026-03-01 01:42:28 +01:00
  • 15f28cb070 chore: bump container version to 0.007 adebaumann 2026-03-01 01:31:17 +01:00
  • 686ce911bb feat: rename masq to snat throughout, update generator to Shorewall 5 snat format adebaumann 2026-03-01 01:30:19 +01:00
  • 1b543ed44a chore: remove OIDC debug logging adebaumann 2026-03-01 01:24:45 +01:00
  • 59d9b438a1 debug: decode and log raw ID token payload in OIDC callback adebaumann 2026-03-01 01:24:06 +01:00
  • 388e945343 chore: remove temporary OIDC debug logging adebaumann 2026-03-01 01:21:22 +01:00
  • 740983277f debug: log userinfo keys and groups claim in OIDC callback adebaumann 2026-03-01 01:16:26 +01:00
  • 6b340f50cb fix: remove passlib import from migration 0001, embed static hash adebaumann 2026-03-01 01:08:40 +01:00
  • aaa6e7def4 Version bump to test sso adebaumann 2026-03-01 01:02:44 +01:00
  • 2b6cd29413 feat(sso): bump container version for SSO release adebaumann 2026-03-01 00:55:19 +01:00
  • daabafc595 feat(sso): replace login form with SSO redirect button adebaumann 2026-03-01 00:55:07 +01:00
  • 1daa6f6e90 feat(sso): replace local auth with Keycloak OIDC callback flow adebaumann 2026-03-01 00:51:14 +01:00
  • f28240c37f feat(sso): update User model and schemas for Keycloak adebaumann 2026-03-01 00:50:44 +01:00
  • 95fbe99b61 feat(sso): migration — add keycloak_sub, make hashed_password nullable adebaumann 2026-03-01 00:50:20 +01:00
  • ff4aa155d1 feat(sso): add KEYCLOAK_CLIENT_SECRET to secrets script and backend deployment adebaumann 2026-03-01 00:45:37 +01:00
  • 924e51ffaa feat(sso): add Keycloak settings to database.py and Helm ConfigMap adebaumann 2026-03-01 00:45:07 +01:00
  • 58f0fd50d8 feat(sso): replace passlib/bcrypt with authlib + httpx adebaumann 2026-03-01 00:44:18 +01:00
  • 40113bc634 docs: add Keycloak SSO integration design adebaumann 2026-03-01 00:37:49 +01:00
  • 4c4cdf0a52 fix: route all traffic through nginx; remove direct /api->backend ingress rule adebaumann 2026-03-01 00:12:33 +01:00
  • 5ac2f931f8 URL changed - rebuild adebaumann 2026-03-01 00:06:57 +01:00
  • bd229d52a1 fix: run postgres as uid 99/gid 100 to match Unraid NFS squash mapping adebaumann 2026-03-01 00:02:12 +01:00
  • 271fec8da5 fix: add JWT_SECRET_KEY to migrate init container; run postgres as uid 70 to avoid NFS chown failure adebaumann 2026-02-28 23:53:03 +01:00
  • ee50261216 fix: set build_context to backend/ and frontend/ subdirectories adebaumann 2026-02-28 23:36:02 +01:00
  • 84fd1c8072 feat: complete Gitea Actions CI workflow for container builds adebaumann 2026-02-28 23:26:00 +01:00
  • cf837fb994 fix: add kubectl preflight check and clarify repo-root usage in comment adebaumann 2026-02-28 23:16:51 +01:00
  • 92a8026bef feat: add scripts/create-secrets.sh for bootstrapping k8s secrets adebaumann 2026-02-28 23:11:40 +01:00
  • 3278ef63b3 feat: remove secrets block from Helm values adebaumann 2026-02-28 23:08:48 +01:00
  • a8e30fa7c4 feat: remove Helm-managed Secret template adebaumann 2026-02-28 22:47:57 +01:00
  • 4968ea79d9 docs: add secrets management implementation plan adebaumann 2026-02-28 22:46:55 +01:00
  • 5d23878736 docs: add secrets management design (kubectl bootstrap script) adebaumann 2026-02-28 22:45:43 +01:00
  • 123e914f01 fix: pin bcrypt<4.0.0 to restore passlib compatibility adebaumann 2026-02-28 21:49:00 +01:00
  • 3f5b0d1591 fix: set PYTHONPATH=/app so alembic can import app package adebaumann 2026-02-28 21:42:39 +01:00
  • 853f26d326 fix: use double-cast to resolve TS2352/TS2322 type errors adebaumann 2026-02-28 21:34:51 +01:00
  • 3a82801360 fix: import ReactNode, Dispatch, SetStateAction explicitly (React namespace not in scope) adebaumann 2026-02-28 21:29:04 +01:00
  • 57d666e759 fix: use npm install in Dockerfile (no package-lock.json yet) adebaumann 2026-02-28 21:25:38 +01:00
  • 488c385de3 fix: correct generate endpoint return type, migration server_default SQL, and auth loading propagation adebaumann 2026-02-28 21:22:11 +01:00
  • 1de7974921 docs: add README with quickstart and deployment instructions adebaumann 2026-02-28 21:20:24 +01:00
  • be64d0bffd feat: add Helm charts for Kubernetes deployment (Traefik + NFS Postgres) adebaumann 2026-02-28 21:19:50 +01:00
  • 1d5c98739b feat: add Config Detail page with tabbed entity management adebaumann 2026-02-28 20:09:15 +01:00
  • 627e6149fb feat: add GenerateModal component adebaumann 2026-02-28 20:07:34 +01:00
  • f7845c4c53 feat: add Config List page adebaumann 2026-02-28 20:07:16 +01:00
  • 667e4eefad feat: add Login page adebaumann 2026-02-28 20:07:02 +01:00
  • e23f1255fe feat: add reusable DataTable and EntityForm components adebaumann 2026-02-28 20:06:38 +01:00
  • f8a6e49038 feat: add Layout and ProtectedRoute components adebaumann 2026-02-28 20:06:08 +01:00
  • d0ee7d2f23 feat: add API client and auth store adebaumann 2026-02-28 20:05:22 +01:00
  • b5c941c159 feat: add frontend entry point, theme, and router adebaumann 2026-02-28 20:04:33 +01:00
  • 1afc95fe8b feat: add ShorewallGenerator (zones, interfaces, policy, rules, masq, json, zip) adebaumann 2026-02-28 20:02:48 +01:00
  • 77aded3918 feat: add nested resource routers for zones, interfaces, policies, rules, masq adebaumann 2026-02-28 20:02:05 +01:00
  • 099fd8307f feat: add configs CRUD router with generate endpoint adebaumann 2026-02-28 20:00:19 +01:00
  • ec6b9f6332 feat: add auth router (register/login/logout/me) adebaumann 2026-02-28 19:59:33 +01:00
  • 472593b8e6 feat: add FastAPI app entrypoint adebaumann 2026-02-28 19:59:07 +01:00
  • 5c33dd7c96 feat: add Pydantic schemas adebaumann 2026-02-28 19:58:30 +01:00
  • a96cdc825c feat: add JWT auth module adebaumann 2026-02-28 19:58:10 +01:00
  • bee6b83556 feat: add Alembic migration with schema and seed data adebaumann 2026-02-28 19:57:35 +01:00
  • c562d35345 feat: add SQLAlchemy models and database setup adebaumann 2026-02-28 19:55:54 +01:00
  • 3436856215 feat: add frontend Dockerfile, Vite config, and Nginx config adebaumann 2026-02-28 19:54:51 +01:00
  • ee9dc101da feat: add backend Dockerfile and requirements adebaumann 2026-02-28 19:54:06 +01:00
  • cb9b802d43 feat: add project skeleton and docker-compose adebaumann 2026-02-28 19:53:19 +01:00
  • f4d81ad8e9 Instructions and plan adebaumann 2026-02-28 19:00:53 +01:00