Setup super-admin
Come provisionare il primo utente super-admin su un'istanza FireFeed.
Per la versione completa originale vedi
docs/super-admin-setup.mdnel repo. Questa pagina ne è il porting MDX.
Cos'è un super-admin
Un super-admin ha accesso a:
- gestione companies (creazione, sospensione)
- gestione invitations cross-company
- ispezione delle pipeline runs di qualsiasi tenant
- accesso al pannello
/admin/...
Non sostituisce l'auth utente normale: il super-admin è un utente con un flag isSuperAdmin: true nella tabella users.
Provisioning
1. Prima company creata via Keycloak
Il primo utente che si logga via SSO non è super-admin di default. Devi promuoverlo manualmente:
UPDATE users SET "isSuperAdmin" = true WHERE email = 'tu@dominio.com';2. Logout / login
Il flag viene letto nel callback NextAuth alla creazione della sessione. Dopo l'update SQL, fai logout completo (Keycloak logout) e rilogga.
3. Verifica
Vai su /admin — se sei super-admin vedi il pannello, altrimenti 403.
Demote
Stesso pattern al contrario:
UPDATE users SET "isSuperAdmin" = false WHERE email = '...';In dev
Lo seed (pnpm db:seed) può opzionalmente creare un super-admin di default; controlla packages/shared/prisma/seed.ts per gli email hard-coded.
In produzione
Procedura raccomandata:
- SSH sull'host produzione.
docker compose exec web pnpm --filter @firefeed/shared exec prisma studioper accesso UI alle tabelle (oppure psql diretto).- Update flag, verifica con SELECT.
- Logout/login dell'utente promosso.
Mai esporre Prisma Studio su porta pubblica.