-
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