Основной режим: WEB. Пользователь выбирает сервис, а портал открывает нужный URL в заранее прогретом браузере.
Для WEB используется общий пул горячих контейнеров с автодоращиванием по занятости.
Пользователи
Список пользователей
{% for u in users %}
{% endfor %}
Редактирование пользователя
ACL выбранного пользователя
Пилоты сюда не входят — доступ к ним назначается на вкладке «Pilots» (там же, где и слот).
{% for s in services if s.id not in pilot_service_ids %}
{% endfor %}
Добавить пользователя
Пароль не задаётся вручную — он сгенерируется и уйдёт пользователю на почту (username) сразу после создания.
WEB сервисы
Как читать статусы: прогрето X / Y — это состояние общего WEB-пула, занято: N — активные сессии конкретного сервиса.
Настройки общего WEB pool
WEB сервисов
{{ web_totals.services }}
Всего прогрето
{{ web_totals.running }} / {{ web_totals.desired }}
Сейчас занято
{{ web_totals.active_sessions }}
Список WEB
{% for s in web_services %}
{% endfor %}
Редактирование WEB
Для пользователей показывается только название и описание. Технический тип скрыт.
Категории
{% for c in categories %}
{% endfor %}
Container Health
| name | state | status | image | labels |
|---|
Иконка сервиса
Добавить WEB
Горячий пул задается сверху и общий для всех WEB сервисов.
Категории
{% for c in categories %}
{% endfor %}
RDP сервисы
Список RDP
{% for s in rdp_services %}
{% endfor %}
Редактирование RDP
Используйте поля host/port/user. Поле target собирается автоматически.
Категории
{% for c in categories %}
{% endfor %}
Container Health
| name | state | status | image | labels |
|---|
Иконка сервиса
RDP пользователи (слоты пула)
Каждый пользователь — отдельный контейнер. Пользователи портала берут свободный слот.
| Логин RDP | Контейнер | Статус | Занят |
|---|
Добавить RDP
Для большинства кейсов достаточно host + user + password.
Категории
{% for c in categories %}
{% endfor %}
Пилоты
Пилот — это RDP-сервис, скрытый из самостоятельного запроса доступа. Каждый слот (контейнер) закрепляется за одним конкретным пользователем, а не раздаётся из общего пула.
Список пилотов
{% for s in pilot_services %}
{% else %}
{{s.name}}{% if not s.active %} выключен{% endif %}
{{service_health[s.id].health}} | {{service_health[s.id].running}} / {{service_health[s.id].desired}} | active: {{service_health[s.id].active_sessions}}
Пилотов пока нет
{% endfor %}
Новый пилот
Используйте поля host/port/user. Поле target собирается автоматически.
Иконка пилота
Пользователи пилота (слоты)
Назначение слота пользователю — это и есть выдача доступа: он сразу видит пилота на портале и получает именно этот контейнер. Снятие назначения отзывает доступ.
| Логин RDP | Контейнер | Статус | Назначен | Доступ до |
|---|
Категории
Добавляйте и удаляйте категории, чтобы аккуратно группировать сервисы на главной панели.
Существующие категории
{% for c in categories %}
{% else %}
{{ c.name }}
{{ c.slug }}
Категории пока не созданы
{% endfor %}
Добавить категорию
Статистика открытий
Здесь видно кто, когда и какой сервис открывал, а также кто сейчас онлайн.
Топ запусков (user x service)
| user | service | slug | opens |
|---|---|---|---|
| {{ row.username }} | {{ row.service_name }} | {{ row.service_slug }} | {{ row.opens }} |
| Нет данных | |||
Последние открытия
| user | service | status | created | last_access | session_id |
|---|---|---|---|---|---|
| {{ row.username }} | {{ row.service_name }} ({{ row.service_slug }}) | {{ row.status }} | {{ row.created_at }} | {{ row.last_access_at }} | {{ row.id }} |
| Нет данных | |||||
Сейчас онлайн (активные сессии)
| user | service | type | container | last_access | created | session_id |
|---|---|---|---|---|---|---|
| {{ row.username }} | {{ row.service_name }} ({{ row.service_slug }}) | {{ row.service_type }} | {{ row.container_id }} | {{ row.last_access_at }} | {{ row.created_at }} | {{ row.id }} |
| Сейчас нет активных сессий | ||||||
