Перейти к содержанию

Добавление нового Воркспейса

Info

В случае необходимости добавления нового дополнительного Воркспейса, стоит учесть, что дополнительно добавить можно только воркспейс, находящийся на отдельном сервере, т.е. не на том где стоит Логин Центр.

Регистрация нового воркспейса

Для начала нам нужно добавить регистрацию нового воркспейса в админке Логин центра. Первый воркспейс был создан автоматически при установке логин центра. Все последующие, следует добавлять через логин центр.

Открываем в браузере логин центр, авторизуемся и входим в раздел Workspaces.

add_new_workspace_1

После этого переходим по ссылке Add new и заполняем форму регистрации нового воркспейса.

add_new_workspace_2

  • Name - имя нового воркспейса. Это имя будет отображаться в боковом меню для перехода на воркспейс.
  • Description - описание воркспейса. Можно указать еще раз имя или url.
  • URL - полный url нового воркспейса.
  • Authentication path - уже заполненное поле. Оставляем как есть без изменений.
  • Admin URL - опционально можно указать ссылку для перехода в админку воркспейса. Можно оставить пустым. Можно указать url воркспейса с /admin в конце. Тогда в боковом меню ссылка примет вид как на изображении ниже. При клике по имени воркспейса мы перейдем на воркспейс, а по изображению шестеренки справа сразу в раздел администратора.

    add_new_workspace_3

Заполняем форму и выбираем кнопку Save.

add_new_workspace_4

Нас перенаправит на страницу управления созданным воркспейсом. По аналогией с установкой первого воркспейса, нам нужно собрать следующую информацию для заполнения манифеста воркспейса.

add_new_workspace_5

  1. workspace.name - имя воркспейса.
  2. workspace.web.url - url адрес воркспейса.
  3. workspace.id - уникальный id воркспейса.
  4. workspace.loginCenter.url - url логин центра.
  5. workspace.loginCenter.token - token регистрации воркспейса в логин центре.

Для завершения регистрации, нам нужно подтвердить регистрацию воркспейса. Для этого вверху нужно нажать на ссылку Grant Approval.

Дополнительно можно выдать права себе на созданный воркспейс в разделе User access. После обновления страницы, ссылка на воркспейс отобразится в боковом меню. Можно переходить к установке воркспейса.

Подготовка сервера

Предполагается, что на сервере уже установлен весь необходимый софт для работы воркспейса и скачан архив с официальной версией дистрибутива Optimacros в директорию /home/user/installer-версия.tar. С предварительными установками ПО можно ознакомиться на странице документации: Предварительные установки ПО необходимые для работы Optimacros

Для начала применим правила хорошего тона утверждённые командой Optimacros, касательно структуры и наименования директорий воркспейса.

Создаем директории:

mkdir -p /om/workspace1 /om/workspace-installer/current

На этом этапе, можно считать, что фундамент структуры директорий воркспейса, мы уже заложили.

Подготовка ssl сертификатов

Путь до файла сертификата и приватного ключа может быть любой. Можно разместить в каталоге /etc/ssl. Мы рекомендуем размещать рядом с воркспейсом. Это облегчает последующее обслуживание воркспейса. Создаем каталог.

mkdir /om/certs

Если у вас уже есть файл сертификата и ключа просто копируем в созданный каталог через WinSCP. Сертификат должен быть создан доверенным удостоверяющим центром или удостоверяющим центром вашей организации с настройкой доверия к этому удостоверяющему центру на рабочих местах пользователей.

Если сертификата нет, можно сгенерировать самоподписанный сертификат.

Info

Пр использовании самоподписанного сертификата в браузере при первом входе будет отображаться сообщение о том что к этому сертификату нет доверия.

openssl req -newkey rsa:2048 -nodes -keyout /om/certs/crt.key -x509 -days 1095 -out /om/certs/bundle.crt

Отвечаем на вопросы, которые задаст программа генерации и проверяем полученный результат.

ls -al /om/certs

Можно просмотреть данные сертификата

openssl x509 -in /om/certs/bundle.crt --noout --text

Установка воркспейса

Затем перемещаемся в директорию workspace1 с помощью команды

cd /om/workspace1

и создаём в ней файл manifest.json с помощью команды

nano manifest.json 

после выполнения, которой попадаем в режим редактирования данного файла. Вот стандартный вид файла manifest.json:

{
  "container": {
    "ip": "10.0.3.15",
    "cpu": 6,
    "memory": 33685016576,
    "ports": {
        "0.0.0.0:80": 80,
        "0.0.0.0:443": 443
    },
    "hosts": {},
  },
  "workspace": {
    "id": "dc08132db5f2e3d0324b9566",
    "name": "WORKSPACE 2",
    "web": {
      "url": "https://ws2.optimacros.com",
      "ssl": {
        "cert": "/om/certs/bundle.crt",
        "key": "/om/certs/crt.key"
      }
    },
    "loginCenter": {
      "url": "https://test-lc-agent.optimacros.com/",
      "token": "9e85fc75ff23584770d3f2d7",
      "apiUrl": "wss://test-lc-agent.optimacros.com/api/ws/v1/"
    },
    "admin": {
      "email": "admin@optimacros.com"
    },
    "console": {
      "commands": {
        "frontend-build": {
          "appConfig": {
            "flags": [
                "fun_loader_message_off", 
                "interface_theme_optimacros",
                "color_scheme_advexcel",
                "color_scheme_optimacros",
                "color_scheme_olapsoft",
                "color_scheme_corplan",
                "color_scheme_orange",
                "interface_language_RU",
                "interface_language_EN",
                "support_email_support@optimacros.com"
            ]
          }
        }
      }
    }
  }
}
Подробнее о манифест файле тут

  • container.ip - указываем стандартное значение "10.0.3.15". В большинстве случаев, нам не нужно менять это значение. Если в вашей внутренней сети уже занята стандартная подсеть lxc 10.0.3.0/24 тогда потребуется изменить настройки сети lxc и здесь использовать адрес из заданного вами блока адресов.
  • container.cpu соответствует количеству ядер процессора на текущем сервере. Это мы можем узнать например воспользовавшись утилитой htop введя команду htop.
  • container.memory - соответствует количеству оперативной памяти сервера в байтах. Для получения этого значения воспользуемся командой free -b. add_new_workspace_6
  • container.ports - настройка проброса портов. Без Логин Центра в качестве reverse proxy, необходимо пробрасывать порты. Можно обойти правилами iptables или использовать встроенный механизм переадресации портов. В составе логин центра используется утилита redir. В данном случае значение ключа "0.0.0.0:80" соответствует адресу и порту хоста, на котором принимаем соединение. А значение 80 соответствует порту контейнера на который это соединение будет перенаправлено. Аналогично вторая строка используется для ssl соединения на порту 443.

Далее вводим значения которые мы получили при регистрации воркспейса в Логин центре.

Параметры воркспейса.

  • workspace.id - указываем параметр id
  • workspace.name - указываем параметр name
  • workspace.web.url - указываем url адрес воркспейса
  • workspace.web.ssl - указываем пути до сертификатов которые мы скопировали или сгенерировали.

Переходим к заполнению настроек Логин Центра.

  • workspace.loginCenter.url - вводим URL нашего Логин Центра
  • workspace.loginCenter.token - указываем параметр token
  • workspace.loginCenter.apiUrl вводим URL вида wss://urlЛогинЦентра/api/ws/v1/, где вместо urlЛогинЦентра указываем адрес нашего Логин Центра
  • workspace.admin.email - указываем строку с email учётной записи администратора воркспейса.

Шпаргалка с краткими комментариями по некоторым свойствам файла манифест.

{
  "container": {
    "ip": "10.0.3.15", // данный IP остаётся неизменным
    "cpu": 6, // количество ядер на сервере
    "memory": 33685016576, //количество оперативной памяти
    "ports": { //проброс портов, без Логин Центра в качестве reverse proxy, необходимо пробрасывать порты (можно обойти правилами iptables или использовать встроенный механизм переадресации портов)
        "0.0.0.0:80": 80,
        "0.0.0.0:443": 443
    },
    "hosts": {},
  },
  "workspace": {
    "id": "8522aedecc6b4219ee87ee28", // берётся в адресной строке прямо в Логин Центре при переходе к воркспейсу
    "name": "TEST", // название воркспейса
    "web": {
      "url": "https://om.test.workspace.ru" // URL создаваемого воркспейса
    },
    "loginCenter": {
      "url": "https://lc.company.ru/", // URL относящегося к воркспейсу Логин Центра
      "token": "4aed337a0ac34dd13716c476a4c7", // URL относящегося к воркспейсу Логин Центра
      "apiUrl": "wss://lc.company.ru/api/ws/v1/" // изменяем только домен на свой, оставляя протокол и путь
    },
    "admin": {
      "email": "admin@optimacros.com" // почтовый ящик пользователя администратора воркспейса
    },
    "console": {
      "commands": {
        "frontend-build": {
          "appConfig": {
            "flags": [
                "fun_loader_message_off", // отключает "веселые" сообщения при первичной загрузке
                "interface_theme_optimacros", // по умолчанию фиолетовая тема с заголовком Optimacros и своим фавиконом
                "color_scheme_advexcel", // цветовая схема advexcel доступна для выбора в настройках
                "color_scheme_optimacros", // цветовая схема optimacros доступна для выбора в настройках
                "color_scheme_olapsoft", // цветовая схема olapsoft доступна для выбора в настройках
                "color_scheme_corplan", // цветовая схема corplan доступна для выбора в настройках
                "color_scheme_orange", // цветовая схема orange доступна для выбора в настройках
                "interface_language_RU", // русский язык доступен для выбора в настройках
                "interface_language_EN", // английский язык доступен для выбора в настройках
                "support_email_support@optimacros.com", // email для связи support@optimacros.com
            ]
          }
        }
      }
    }
  }
}

Переходим к установке воркспейса используя дистрибутив.

Распаковываем архив с дистрибутивом в директорию current где /home/user/installer-версия.tar это путь к скачанному ранее дистрибутиву.

tar -xf /home/user/installer-версия.tar -C /om/workspace-installer/current
Затем запускаем команду поднятия воркспейса:

/om/workspace-installer/current/install workspace --path /om/workspace1/manifest.json up

И наблюдаем чтобы весь процесс поднятия прошёл успешно.

add_new_workspace_7

По окончанию процесса видим такой вывод.

add_new_workspace_8

После этих действий, Логин Центр начнёт взаимодействовать с вашим новым воркспейсом.