Мультитенантность
Организуйте вашу инфраструктуру с помощью организаций, проектов, окружений и сервисов.
Система мультитенантности Skitflow обеспечивает организованное управление инфраструктурой через иерархическую структуру с четырьмя уровнями.
Иерархия
Организации
Арендатор верхнего уровня, содержащий пользователей, биллинг и настройки. Каждый экземпляр Skitflow включает одну организацию по умолчанию, создаваемую при установке. Организации управляют:
- Участниками команды и их ролями
- Биллингом и настройками подписки
- Глобальной конфигурацией
Проекты
Логические группировки внутри организаций. Используйте проекты для организации по продукту, клиенту или команде. Проекты содержат несколько окружений и общие переменные, наследуемые всеми сервисами внутри.
Окружения
Изолированные контексты внутри проектов (например, production, staging, development). Каждое окружение имеет:
- Полностью изолированные сервисы без взаимного влияния
- Независимые конфигурации доменов
- Переопределения переменных, специфичные для окружения
- Отдельные конвейеры развёртывания
Сервисы
Фактические рабочие нагрузки — приложения, базы данных и стеки Docker Compose. Каждый сервис имеет:
- Независимые домены и SSL-сертификаты
- Переменные окружения, специфичные для сервиса
- Историю развёртываний и возможности отката
- Мониторинг ресурсов и логи
Наследование переменных
Переменные передаются иерархически с возможностью переопределения:
Переменные организации
└── Переменные проекта (могут переопределять переменные организации)
└── Переменные окружения (могут переопределять переменные проекта)
└── Переменные сервиса (могут переопределять переменные окружения)Переменная, определённая на уровне организации, доступна для всех сервисов, если только она не переопределена на более низком уровне.
Ролевой контроль доступа
Доступ ограничивается на каждом уровне иерархии:
| Роль | Организация | Проект | Окружение | Сервис |
|---|---|---|---|---|
| Владелец | Полный доступ | Полный доступ | Полный доступ | Полный доступ |
| Администратор | Управление пользователями | Управление сервисами | Управление развёртываниями | Полный доступ |
| Участник | Только просмотр | Назначенные проекты | Назначенные окружения | Только развёртывание |
| Пользовательская | Настраиваемый | Настраиваемый | Настраиваемый | Настраиваемый |
Пользовательские роли могут быть созданы с детальными разрешениями, адаптированными под потребности вашей команды (см. Пользовательские роли).
Лучшие практики
- Используйте единообразные соглашения об именовании для проектов и окружений
- Реализуйте принцип минимальных привилегий — назначайте минимально необходимую роль
- Разделяйте staging и production окружения для предотвращения случайных развёртываний
- Используйте переменные уровня проекта для общей конфигурации (хосты баз данных, URL API)
- Создавайте отдельные проекты для каждого клиента в агентских настройках