204  /  282

Провайдеры

Просмотров: 28534
Дата последнего изменения: 17.06.2020
Александр Суворов
Сложность урока:
4 уровень - сложно, требуется сосредоточиться, внимание деталям и точному следованию инструкции.
1
2
3
4
5

Вся работа с провайдерами осуществляется с помощью плагинов, расположенных в определенном каталоге (на текущий момент всё управление сделано на файлах): /opt/webdir/providers.

Для каждого провайдера предусмотрены:

  • обязательные параметры командной строки для универсализации доступа к их возможностям;
  • стандартизированный вывод по завершению обработки результатов.

Скрипт плагина, который будет использован в web-интерфейсе продуктов «1С-Битрикс», должен быть раcположен по адресу:

/opt/webdir/providers/{provider_name}/bin/{provider_name}

Для подключения в пул плагин провайдера должен поддерживать следующие аргументы командной строки:

  • help - отображает поддерживаемые аргументы командной строки:
    {
      "options": [
        "help",
        "configs",
        "order",
        "order_status"
      ],
      "status": "enabled"
    }
    

    Массив options должен содержать список поддерживаемых опций (например, в данном случае отсутствует опция init, которая позволяет подключиться на этапе создания мастер сервера).

    Опция status может содержать следующие значения: disabled или enabled, что позволяет определить включен или выключен провайдер на конкретном сервере.

  • configs - отображает список поддерживаемых конфигураций:
    {
      "configurations": [
        {
          "id": "1",
          "descr": "Bitrix-env, 1 month, Centos-6 x86_64, CPU 2x1.0 Ghz, Memory 1Gb, HDD 20Gb"
        }
      ],
      "status": "enabled"
    }
    

    configurations - содержит список сервисов/конфигураций, которые может заказать пользователь, используя web интерфейс «1С-Битрикс».

    На текущий момент поддерживается два параметра по каждой конфигурации:

    • id - идентификатор конфигурации, который будет использован в заказе,
    • descr - описание для пользователя.
  • order - позволяет заказать сервер/VPS выбранной конфигурации, вторым параметром в данном случае будет передан номер конфигурации:
    {"task_id":"24"}
    

    task_id должен содержать номер задания, который используется для дальнейшего опроса и старта добавления машины по завершению.

  • order_status - позволяет получить информацию по заказу:
    {
      "server_password": "XXXXXXXXXXXXXX",
      "status": "finished",
      "server": "xxx.xxx.xxx.xxx",
      "task_id": "24"
    }
    
    где:
    • status - содержит информацию по заказу, может содержать следующие значения:
      • in_progress - находится на обработке со стороны провайдера/хостера;
      • finished - обработка завершена, можно добавлять машину в пул;
      • error - во время выполнения произошла ошибка.
    • server - содержит ip address или имя машины;
    • server_password - содержит пароль пользователя root для копирования ssh-ключей при подключение сервера в пул.

    Любое из действий может сообщить об ошибке с помощью значений в полях error и error_message. Например:

    {
      "error_message": "get_task error N102, No task found",
      "error": 1
    }
    

Внимание! Информацию о работе скрипта, который использует возможности провайдеров и позволяет подключить их в web- интерфейс, см Скрипт работы с провайдерами.



6
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии