Отладочный shell
Инструменты для диагностики не входят в состав Selenite — в нормальной работе они не нужны. Но иногда для отладки требуется полноценное окружение: посмотреть файлы хоста, проверить сеть изнутри, запустить утилиты, которых нет в образе.
Для этого есть отладочный shell. Команда debug запускает привилегированный контейнер из образа на ваш выбор и открывает в нём сессию. Когда вы выходите, контейнер и образ удаляются.
Запуск
ssh -t <server> debug <image> [command...]Параметры:
<image>— образ контейнера, напримерalpineилиbusybox[command...]— команда для выполнения; если не указана, запускаетсяsh
Флаг -t обязателен: команде нужен PTY.
Интерактивная сессия:
ssh -t server debug alpineОдна команда и выход:
ssh -t server debug alpine cat /host/etc/hostnameЧто происходит внутри
Контейнер запускается с полным доступом к устройствам и namespaces хоста, а корневая файловая система хоста примонтирована в /host и является рабочей директорией по умолчанию.
Права доступа
Разрешение на запуск контролируется через RBAC — ресурс debug, действие invoke:
access:
roles:
- name: debugger
rules:
- resources: [debug]
verbs: [invoke]
users:
- name: alice
roles: [debugger]
keys:
- ssh-ed25519 AAAAC3NzaC... alice@example.comПользователи с ролью root имеют доступ автоматически.