Перейти до вмісту

Документація

Інтеграції

Інтеграція — це одна система, з якою ваш агент спілкується від вашого імені: гіпервізор, панель керування, ігрова панель. Ця сторінка про те, що в них спільного: як підключити інтеграцію, що Provibr може з нею робити і як зрозуміти, чи вона справді працює.

Один реєстр, а не купа винятків

Кожен провайдер описаний в одному місці: до якої категорії він належить, який вид ресурсу дає, яких облікових даних потребує і які з семи можливостей має. Панель, платформа й агент читають один і той самий опис. Ніщо в продукті не питає, чи є ця система саме Proxmox.

Саме тому вкладки в інтеграції відрізняються від провайдера до провайдера. Вкладка тесту є тому, що провайдер заявляє тест зʼєднання; вкладка операційних систем — тому, що провайдер може тримати шаблони; вкладка імпорту — тому, що провайдер уміє перелічити те, що вже в нього працює. Відсутня вкладка означає відсутню можливість, а не сторінку, яка не завантажилася.

Категорії

Гіпервізор
Запускає віртуальні машини й віддає машину цілком: ядра, памʼять, диск, мережу. Які гіпервізори доступні, а які в дорожній карті, показано на сторінці інтеграцій.
Панель керування
Тримає облікові записи вебхостингу на машині, яка вже працює. Вона створює обліковий запис із пакетом, а не з операційною системою. Сторінка інтеграцій позначає кожну панель керування як доступну чи в дорожній карті.
Ігрова панель
Запускає контейнери ігрових серверів, зібрані за рецептом, а не з образу операційної системи. Ця категорія стоїть поруч із панелями керування, а не всередині них, бо спільного між ними майже немає. Сторінка інтеграцій показує ігрові панелі, які доступні.
Виділені сервери
Фізичні машини, які встановлюються мережею й обслуговуються окремим каналом керування. Анонсовано, але не реалізовано.
Мережа
Комутатори й маршрутизатори. Анонсовано, але не реалізовано, і на сторінці інтеграцій ця категорія взагалі не зʼявляється: мережеві пристрої мають власні екрани й не рахуються як ресурс.

Що вміє провайдер

Сім можливостей визначають, що зʼявиться на екрані і що платформа взагалі погодиться надіслати. Команду, якій потрібна можливість, що її провайдер не має, буде відхилено ще до того, як вона дійде до вашого агента, із названою причиною.

  • Консоль: живий екран або термінал на ресурсі.
  • Фаєрвол: платформа може примусово визначати, якими адресами ресурсу дозволено користуватися.
  • Правила фаєрвола: упорядкований список правил, який ви редагуєте самі, і журнал фаєрвола.
  • Обладнання: диски й мережеві карти, які можна додавати, змінювати за розміром і прибирати.
  • Метрики: вимірювання використання, а отже й графіки.
  • Операційні системи: шаблони або образи, з яких платформа може встановлювати.
  • Призначення адрес: Provibr вирішує, яку адресу отримає ресурс.

Як підключити інтеграцію

Додавання інтеграції — це три кроки: вид системи, зʼєднання й облікові дані. Категорія, за якою ще нічого не реалізовано, видима, але недоступна для вибору, тож ви бачите, що готується, але обрати це не можете.

  • Ви обираєте не лише провайдера, а й агента. Саме цей агент діставатиметься до системи, тож він має бути в мережі, з якої це можливо.
  • Назва ваша. Це позначка в панелі, і більше її ніхто не читає.
  • Облікові дані перевіряються за тими самими правилами, що й в агента, потім передаються цьому агенту та запечатуються в його сейфі. Ви лишаєтеся на сторінці, доки агент не відповість.
  • Якщо агент їх відхилить, буде показано причину, а введені вами значення залишаться на місці, щоб одна одруківка не коштувала вам усієї форми.

Що зберігається, а що ні

Облікові дані ніколи не потрапляють до бази даних платформи. Зберігаються лише назви полів, які ви заповнили, а також хост і порт, щоб панелі було що вам показати, а журналу аудиту було на що послатися.

Саме тому облікові дані не можна ні переглянути, ні відредагувати, а можна лише надіслати ще раз. Форма щоразу починається порожньою. І саме тому ніхто в Provibr не може їх прочитати.

На хості вони зашифровані ключем, у який вмішано ідентичність цієї машини. Скопіювати сейф разом із ключем на іншу машину не дасть нічого. Від root на вашому власному хості це не захищає: цей хост ваш, і облікові дані теж ваші.

TLS-відбитки

Кожен провайдер, який говорить HTTPS, має поле для відбитка. Заповніть його, і агент прийматиме лише той сертифікат, який ви привʼязали; саме це робить самопідписаний сертифікат на вашому власному вузлі безпечним. Знімайте відбиток із хоста агента, щоб привʼязати те, що агент справді побачить:

shell
openssl s_client -connect <host>:<port> </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
Відбиток поруч із незашифрованим хостом відхиляється, а не ігнорується, бо він натякав би на захист, якого там бути не може.
Команди та вивід термінала всюди англійською і в панелі, і на цих сторінках. Один текст, одна правда: те, що ви читаєте тут, ваш хост виведе дослівно так само.

Контрольний список налаштування

Статус «Активна» означає лише те, що агент прийняв ваші облікові дані. Він не означає, що інтеграція готова роздавати машини. Контрольний список над вкладками показує, чого ще бракує, і веде просто туди.

  • Облікові дані: доставлені агенту й прийняті.
  • Налаштування: несекретні рішення, потрібні провайдеру, наприклад, який вузол і який діапазон ID машин. Провайдер, у якого нічого обирати, пропускає цей крок, а не показує його невиконаним.
  • Спосіб встановлення: машини клонуються із шаблону чи встановлюються мережею.
  • Операційні системи: щонайменше один образ, привʼязаний до обраного вами способу.
Жоден крок нічого не гарантує. Контрольний список перевіряє, що поля заповнені, а не що вони заповнені правильно. Для цього є тест.

Перевірка зʼєднання

Кнопка тесту ставить у чергу справжній виклик до вашої системи, який виконує ваш агент, і показує, що повернулося. Те, про що він звітує, різне для кожного провайдера, бо зміст тесту зʼєднання випливає з API самого продукту.

  • Proxmox: версія та список вузлів із їхнім станом у мережі.
  • DirectAdmin: версія панелі, кількість облікових записів, скільки команд дозволено виконувати вашому ключу входу і чи зашифроване зʼєднання. Останнє може визначити лише ваш агент.
  • Webmin: чи відповідає модуль Virtualmin, скільки є облікових записів хостингу та планів і чи збігається сертифікат із вказаним відбитком.
  • Pterodactyl: кількість вузлів та ігрових серверів і чи працює клієнтський ключ. Без нього немає ні керування живленням, ні консолі, і про це краще дізнатися до першого натискання кнопки запуску, а не після.
Тест на інтеграції, чиї облікові дані так і не були прийняті, замість запуску показує причину відмови, бо саме цієї відповіді ви й шукали.

Вимкнення та видалення

Вимкнення — це безпечний проміжний крок: агент перестає отримувати команди для цієї інтеграції, а все інше лишається як є. Повторне ввімкнення повертає її у стан «Активна», якщо облікові дані раніше були прийняті, і у стан очікування облікових даних, якщо ні: про те, чи вони досі працюють, скаже тільки тест.

Інтеграцію, до якої привʼязані сервери, видалити не можна, і у відмові названо їхню кількість. Ці сервери тримаються на інтеграції й зникли б непомітно, разом із їхнім місцем у ліміті ліцензії.

Коли щось іде не так

Агент повідомляє код із параметрами, а не готове речення, щоб панель могла показати вам причину вашою мовою. Там, де інша сторона сказала щось сама (тіло HTTP-відповіді від вашого гіпервізора, помилка від вашої панелі), це наводиться нижче без перекладу, бо це цитата.

Для випадку «спрацювало, але» є окремий канал. Панель, яка працює через незашифроване зʼєднання, — це не збій, але й не статус, тож вона зʼявляється як попередження на вкладці «Огляд» доти, доки ваш агент про неї повідомляє.