Документація
Інтеграції
Інтеграція — це одна система, з якою ваш агент спілкується від вашого імені: гіпервізор, панель керування, ігрова панель. Ця сторінка про те, що в них спільного: як підключити інтеграцію, що Provibr може з нею робити і як зрозуміти, чи вона справді працює.
Один реєстр, а не купа винятків
Кожен провайдер описаний в одному місці: до якої категорії він належить, який вид ресурсу дає, яких облікових даних потребує і які з семи можливостей має. Панель, платформа й агент читають один і той самий опис. Ніщо в продукті не питає, чи є ця система саме Proxmox.
Саме тому вкладки в інтеграції відрізняються від провайдера до провайдера. Вкладка тесту є тому, що провайдер заявляє тест зʼєднання; вкладка операційних систем — тому, що провайдер може тримати шаблони; вкладка імпорту — тому, що провайдер уміє перелічити те, що вже в нього працює. Відсутня вкладка означає відсутню можливість, а не сторінку, яка не завантажилася.
Категорії
- Гіпервізор
- Запускає віртуальні машини й віддає машину цілком: ядра, памʼять, диск, мережу. Які гіпервізори доступні, а які в дорожній карті, показано на сторінці інтеграцій.
- Панель керування
- Тримає облікові записи вебхостингу на машині, яка вже працює. Вона створює обліковий запис із пакетом, а не з операційною системою. Сторінка інтеграцій позначає кожну панель керування як доступну чи в дорожній карті.
- Ігрова панель
- Запускає контейнери ігрових серверів, зібрані за рецептом, а не з образу операційної системи. Ця категорія стоїть поруч із панелями керування, а не всередині них, бо спільного між ними майже немає. Сторінка інтеграцій показує ігрові панелі, які доступні.
- Виділені сервери
- Фізичні машини, які встановлюються мережею й обслуговуються окремим каналом керування. Анонсовано, але не реалізовано.
- Мережа
- Комутатори й маршрутизатори. Анонсовано, але не реалізовано, і на сторінці інтеграцій ця категорія взагалі не зʼявляється: мережеві пристрої мають власні екрани й не рахуються як ресурс.
Що вміє провайдер
Сім можливостей визначають, що зʼявиться на екрані і що платформа взагалі погодиться надіслати. Команду, якій потрібна можливість, що її провайдер не має, буде відхилено ще до того, як вона дійде до вашого агента, із названою причиною.
- Консоль: живий екран або термінал на ресурсі.
- Фаєрвол: платформа може примусово визначати, якими адресами ресурсу дозволено користуватися.
- Правила фаєрвола: упорядкований список правил, який ви редагуєте самі, і журнал фаєрвола.
- Обладнання: диски й мережеві карти, які можна додавати, змінювати за розміром і прибирати.
- Метрики: вимірювання використання, а отже й графіки.
- Операційні системи: шаблони або образи, з яких платформа може встановлювати.
- Призначення адрес: Provibr вирішує, яку адресу отримає ресурс.
Як підключити інтеграцію
Додавання інтеграції — це три кроки: вид системи, зʼєднання й облікові дані. Категорія, за якою ще нічого не реалізовано, видима, але недоступна для вибору, тож ви бачите, що готується, але обрати це не можете.
- Ви обираєте не лише провайдера, а й агента. Саме цей агент діставатиметься до системи, тож він має бути в мережі, з якої це можливо.
- Назва ваша. Це позначка в панелі, і більше її ніхто не читає.
- Облікові дані перевіряються за тими самими правилами, що й в агента, потім передаються цьому агенту та запечатуються в його сейфі. Ви лишаєтеся на сторінці, доки агент не відповість.
- Якщо агент їх відхилить, буде показано причину, а введені вами значення залишаться на місці, щоб одна одруківка не коштувала вам усієї форми.
Що зберігається, а що ні
Облікові дані ніколи не потрапляють до бази даних платформи. Зберігаються лише назви полів, які ви заповнили, а також хост і порт, щоб панелі було що вам показати, а журналу аудиту було на що послатися.
На хості вони зашифровані ключем, у який вмішано ідентичність цієї машини. Скопіювати сейф разом із ключем на іншу машину не дасть нічого. Від root на вашому власному хості це не захищає: цей хост ваш, і облікові дані теж ваші.
TLS-відбитки
Кожен провайдер, який говорить HTTPS, має поле для відбитка. Заповніть його, і агент прийматиме лише той сертифікат, який ви привʼязали; саме це робить самопідписаний сертифікат на вашому власному вузлі безпечним. Знімайте відбиток із хоста агента, щоб привʼязати те, що агент справді побачить:
openssl s_client -connect <host>:<port> </dev/null 2>/dev/null | \
openssl x509 -noout -fingerprint -sha256Контрольний список налаштування
Статус «Активна» означає лише те, що агент прийняв ваші облікові дані. Він не означає, що інтеграція готова роздавати машини. Контрольний список над вкладками показує, чого ще бракує, і веде просто туди.
- Облікові дані: доставлені агенту й прийняті.
- Налаштування: несекретні рішення, потрібні провайдеру, наприклад, який вузол і який діапазон ID машин. Провайдер, у якого нічого обирати, пропускає цей крок, а не показує його невиконаним.
- Спосіб встановлення: машини клонуються із шаблону чи встановлюються мережею.
- Операційні системи: щонайменше один образ, привʼязаний до обраного вами способу.
Перевірка зʼєднання
Кнопка тесту ставить у чергу справжній виклик до вашої системи, який виконує ваш агент, і показує, що повернулося. Те, про що він звітує, різне для кожного провайдера, бо зміст тесту зʼєднання випливає з API самого продукту.
- Proxmox: версія та список вузлів із їхнім станом у мережі.
- DirectAdmin: версія панелі, кількість облікових записів, скільки команд дозволено виконувати вашому ключу входу і чи зашифроване зʼєднання. Останнє може визначити лише ваш агент.
- Webmin: чи відповідає модуль Virtualmin, скільки є облікових записів хостингу та планів і чи збігається сертифікат із вказаним відбитком.
- Pterodactyl: кількість вузлів та ігрових серверів і чи працює клієнтський ключ. Без нього немає ні керування живленням, ні консолі, і про це краще дізнатися до першого натискання кнопки запуску, а не після.
Вимкнення та видалення
Вимкнення — це безпечний проміжний крок: агент перестає отримувати команди для цієї інтеграції, а все інше лишається як є. Повторне ввімкнення повертає її у стан «Активна», якщо облікові дані раніше були прийняті, і у стан очікування облікових даних, якщо ні: про те, чи вони досі працюють, скаже тільки тест.
Коли щось іде не так
Агент повідомляє код із параметрами, а не готове речення, щоб панель могла показати вам причину вашою мовою. Там, де інша сторона сказала щось сама (тіло HTTP-відповіді від вашого гіпервізора, помилка від вашої панелі), це наводиться нижче без перекладу, бо це цитата.
Для випадку «спрацювало, але» є окремий канал. Панель, яка працює через незашифроване зʼєднання, — це не збій, але й не статус, тож вона зʼявляється як попередження на вкладці «Огляд» доти, доки ваш агент про неї повідомляє.