Administration plateforme
Accessible uniquement aux users avec role admin. 3 pages dédiées + tools MCP admin-only.
/admin · Dashboard plateforme
Vue globale de la plateforme, rafraîchie à chaque visite :
- Totaux : users, projects, sites (total / running / error), databases, repos, previews running, backups
- 24h : deploys, deploys échoués, actions audit
- Storage : taille totale des backups Nextcloud
- Liens rapides : erreurs audit récentes, actions MCP, health endpoint
/users · Gestion des utilisateurs
Table des users
Chaque row expose :
- Email + nom + user_id
- Role dropdown : client ↔ admin (self-demote interdit)
- rotate key : régénère l'API key long-terme (révoque l'ancienne)
- supprimer : delete user (refuse si projects restants)
Créer un user
Deux méthodes dans la sidebar droite :
- Inviter par email : envoie un magic link, user crée sa session au clic. Recommandé.
- Créer avec API key : génère l'user + API key long-terme affichée 1×. Pour CLI/CI/MCP sans email.
/admin/audit · Journal d'audit
Historique complet des actions via MCP, API REST, Web UI, CLI.
Filtres disponibles
- Tool : ex
create_site,delete_project... - Source : mcp | api | web | cli
- Résultat : success | error
- User ID : filtre par utilisateur
- Limit : nombre d'entrées à retourner (défaut 100, max 500)
Colonnes
- Timestamp (ISO)
- User (email joint depuis DB, ou "bootstrap")
- Tool + source + résultat + durée
- Détail : errorMsg surligné rouge OU params du call (JSON expandable)
push_files). L'audit log est admin only pour cette raison.Tools MCP admin-only
list_users·delete_user·update_user_role·invite_userupdate_project_owner: transfert de project entre userslist_audit_log·audit_stats·admin_statsexec_site: shell arbitraire dans un container (dangereux, admin only)
Compte bootstrap
Iridflow supporte un compte bootstrap via IRIDFLOW_ADMIN_API_KEY dans /etc/iridflow/mcp.env. Cette clé donne role admin sans user en DB (utile pour le premier login sur une nouvelle instance).
- User apparent :
id: "bootstrap", email :bootstrap@iridflow - Les tools qui créent au nom d'un user (create_project, rotate_api_key…) fallback vers le premier admin en DB
- À éviter pour un usage régulier : créer un vrai user admin et utiliser sa propre API key
Sécurité opérationnelle
Rotation des clés
Rotate périodiquement les API keys long-terme (mensuel recommandé). Chaque rotate audite l'action dans audit_log.
Audit régulier
Check /admin/audit?result=error pour repérer les erreurs récurrentes (auth, RBAC, tool failures).
Backups plateforme
La DB SQLite Iridflow (/var/lib/iridflow/iridflow.db) n'a pas de backup auto en V1. Snapshot manuel recommandé avant grosses opérations (delete cascade, rotation admin bootstrap...).