Appearance
SaaS: панель суперадмина
Панель /superadmin — операционный центр мультитенантного стенда. Доступна только платформенным суперадминам — учётным записям, созданным командой:
bash
docker exec -it orbita_prod_backend php artisan superadmin:create \
--name="Platform Admin" --email="superadmin@example.com" --password="..."Суперадмин — роль уровня платформы, не тенанта: он управляет организациями, но не является пользователем ни одной из них. На on-premise стендах панель тоже доступна (аудит, error-log), но большинство разделов актуальны именно для SaaS.
Разделы панели
Метрики
Сводка по стенду и разбивка по тенантам: пользователи, объём данных, активность. Первое место, куда смотреть при вопросе «как себя чувствует платформа».
Тенанты
Список организаций с карточкой каждой:
| Действие | Что делает |
|---|---|
| Создание/редактирование | Завести организацию вручную (в обход публичной регистрации), поменять название/план |
| Suspend / Restore | Приостановить обслуживание (пользователи тенанта теряют доступ) и вернуть обратно. Данные не удаляются |
| Удаление | Полное удаление тенанта. Необратимо — перед этим снять бэкап тенанта |
| Пользователи тенанта | Список; сброс пароля пользователю (выдаёт временный доступ без почты — для случаев «почта не настроена/не доходит») |
| Features | Пер-тенантные фиче-флаги, в т.ч. выключатель модуля бизнес-процессов (см. ниже) |
| Impersonate | Войти в приложение от имени пользователя тенанта — для разбора инцидентов «глазами пользователя». Действие фиксируется в аудите |
| Plan override | Ручное переопределение тарифных лимитов конкретному тенанту |
Настройки платформы
Глобальные флаги стенда (хранятся в sys_settings с tenant_id IS NULL):
registration_enabled— открыта ли самостоятельная регистрация организаций;oauth_google_enabled/oauth_github_enabled— провайдеры входа;processes_enabled— глобальный выключатель модуля бизнес-процессов.
Аудит и error-log
- Аудит — действия пользователей по всем тенантам (включая impersonate-сессии).
- Error log — ошибки приложения по датам, без SSH-доступа к серверу. Удобно дежурному.
GDPR-политики
Мульти-региональные политики персональных данных: политика по умолчанию и региональные варианты, назначаемые по стране тенанта; смена политики запускает re-consent у пользователей затронутых тенантов.
Управление модулем процессов
Модуль бизнес-процессов управляется двухуровнево:
- Глобально (SuperAdmin → Settings,
processes_enabled): по умолчанию выключен — на свежем стенде процессов нет ни у кого, пока суперадмин не включит. - Пер-тенант (карточка тенанта → Features): когда глобальный флаг включён, отдельному тенанту можно выключить модуль. Отсутствие пер-тенантной записи = «не переопределено», т.е. включено.
При выключенном модуле у тенанта: разделы процессов скрыты из меню, API процессов возвращает отказ, автостарт процессов и таймеры не срабатывают. Данные существующих процессов не удаляются — при повторном включении всё возвращается.
Типовые операции
Организация жалуется «у нас всё пропало» → Метрики тенанта (жив ли), карточка тенанта (не suspended ли), error-log за сегодня, при необходимости impersonate и посмотреть глазами пользователя.
Уходящий клиент просит данные → php artisan tenant:backup --tenant=<ID> и передать SQL-файл; вложения выгружаются из SeaweedFS по префиксу <tenant_id>/.
Спам-регистрации → SuperAdmin Settings → выключить registration_enabled; существующие тенанты продолжают работать.