84 Commits

Author SHA1 Message Date
24fc02ff1f portal: enforce Keycloak required actions 2026-01-03 21:45:29 -03:00
d62ac0fd45 ui: tighten portal layout and status polling 2026-01-03 20:35:59 -03:00
35f7b77c1b ui: improve account/apps layout and lab status responsiveness 2026-01-03 19:50:12 -03:00
6b9aaa3e53 ui: adjust Apps security links 2026-01-03 17:24:00 -03:00
a6db3762a3 portal: surface Vaultwarden status 2026-01-03 16:54:23 -03:00
7902d7658f portal: trigger Nextcloud mail sync 2026-01-03 12:18:46 -03:00
c9ffcedceb fix(auth): refresh token before API calls 2026-01-03 06:47:20 -03:00
960e2c4c8a ui(account): space hero actions 2026-01-03 06:22:50 -03:00
c8067fdf53 portal: fix request status pills 2026-01-03 05:10:04 -03:00
a4c621a9bb portal: surface provisioning task status 2026-01-03 04:55:03 -03:00
5e2888abf7 portal: handle legacy approved requests 2026-01-03 04:27:26 -03:00
b41a2a2b1d portal: make provisioning retries safe 2026-01-03 04:08:13 -03:00
71678a4819 fix(portal): persist mailu attributes 2026-01-03 03:11:52 -03:00
13b0099c29 portal: gate requests on verified email 2026-01-03 02:36:29 -03:00
2c2f0b04d9 portal: auto-verify keycloak onboarding 2026-01-03 00:57:14 -03:00
b0ed2374e3 portal: require TOTP for new users 2026-01-03 00:42:01 -03:00
6a8a527c8b ui: space account actions 2026-01-02 21:04:41 -03:00
dbaed208d0 ui: improve account error display 2026-01-02 20:20:57 -03:00
cd39e77d0c portal: provision vaultwarden accounts 2026-01-02 19:16:54 -03:00
4dd991bc30 portal: fix keycloak admin user lookup 2026-01-02 17:42:03 -03:00
6ae48eed9d portal: polish password links and request copy 2026-01-02 13:06:52 -03:00
90f0937f73 portal: improve jellyfin/mailu status 2026-01-02 12:11:40 -03:00
d986cbd922 portal: provision Keycloak + Mailu on approve 2026-01-02 11:12:43 -03:00
712676a054 portal: gate onboarding link; revamp apps 2026-01-02 10:27:02 -03:00
2c52a23d8f portal: onboarding statuses + checklist 2026-01-02 09:42:06 -03:00
1cb12dd6c6 portal: improve request status UX and jellyfin sync 2026-01-02 04:27:44 -03:00
8edc680503 portal: fix access requests and account status 2026-01-02 03:48:22 -03:00
8b5a8bda3d portal: request email scope and fix access rate limiting 2026-01-02 03:09:07 -03:00
7dac934a81 portal: sync mailu rotate and fix account UI 2026-01-02 02:53:49 -03:00
a5ab2ad896 portal: derive mail username from Keycloak email 2026-01-02 01:45:15 -03:00
a1fbfe604e portal: fix rate limits and onboarding 2026-01-02 01:34:18 -03:00
8460a28e5d Update metrics and service grid labels 2026-01-02 00:53:07 -03:00
456974b3c9 portal: store access requests in postgres 2026-01-02 00:41:49 -03:00
575932b32f portal: link Keycloak reset-credentials 2026-01-01 23:40:21 -03:00
8ef4198646 portal: modularize backend and add request code status 2026-01-01 23:17:19 -03:00
c22c27b8aa portal: add access request approvals 2026-01-01 22:14:15 -03:00
5a9a3b4f8b auth: trust proxy headers 2026-01-01 21:51:27 -03:00
d53a63021d portal: add Keycloak-backed account portal 2026-01-01 21:37:53 -03:00
b980eda249 Adjust service grid ordering and descriptions 2026-01-01 13:04:07 -03:00
c3912b19b5 Reorder service grid for Titan Live stack 2026-01-01 12:04:25 -03:00
6bbc623b20 Add Matrix/LiveKit stack to service grid 2026-01-01 11:32:42 -03:00
db4dcb5059 Mark Jitsi live and refresh AI chat 2025-12-22 16:52:25 -03:00
33e6082b56 feat(ai): add keep-warm ping for chat model 2025-12-21 01:35:23 -03:00
5228a68fe2 chore(ai): drop duplicate AI node fact 2025-12-21 01:28:01 -03:00
059f4cd291 fix(ai): query ai namespace instead of serviceaccount namespace 2025-12-21 01:16:17 -03:00
dfe409c475 chore(ai): read model/gpu from k8s pod annotations when available 2025-12-21 00:45:30 -03:00
7a832d6e4c chore(ai): discover AI node via k8s when available 2025-12-21 00:31:48 -03:00
eeaece5bae chore(ai): return AI node/GPU facts and copy public endpoint 2025-12-21 00:30:55 -03:00
3ce4ac3273 chore(ai): show node location and curl copy action 2025-12-21 00:17:57 -03:00
bef08fb1fb feat(ai): expose node/gpu meta and improve chat UX 2025-12-21 00:16:43 -03:00