Настройка apache2Вместе с Оркестратором будет установлен сервер apache2, если он не был установлен ранее. |
После установки Оркестратора необходимо скорректировать файл конфигурации веб-сервера /etc/apache2/apache2.conf. Для этого следует найти и раскомментировать строку с параметром AstraMode, далее присвоить данному параметру значение off, точно соблюдая отступы и пробелы в файле.
Пример:
# Astra security mode. # AstraMode off |
После перезапустить веб-сервер командой:
:~$ sudo systemctl restart apache2 |
Настройка ОркестратораДля настройки оркестратора необходимо отредактировать разделы |
При первой установке этот конфигурационный файл отсутствует. Его можно скопировать из шаблона /opt/termidesk/share/termidesk-orchestrator/src/config/orc_config.py.dist, для этого выполнить следующие действия:
:~$ cd /opt/termidesk/share/termidesk-orchestrator/src/config |
termidesk::~$ sudo -u termidesk bash |
:~$ cp orc_config.py.dist orc_config.py |
termidesk::~$ exit |
Параметры внутри разделов конфигурационного файла /opt/termidesk/share/termidesk-orchestrator/src/config/orc_config.py имеют следующую структуру:
ВНУТРЕННЯЯ_ПЕРЕМЕННАЯ = os.getenv("ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ", "ЗНАЧЕНИЕ_ВВОДИМОЕ_ВРУЧНУЮ") |
где:
ПЕРЕМЕННАЯ_ОКРУЖЕНИЯ - наименование переменной окружения, назначенной через команду export. Если переменная в окружении не задана, она добавится с указанным значением;
ЗНАЧЕНИЕ_ВВОДИМОЕ_ВРУЧНУЮ - новое значение переменной.
Пример файла /opt/termidesk/share/termidesk-orchestrator/src/config/orc_config.py:
# Termidesk params
TERMIDESK_HOST = os.getenv("TSRV_HOST", '')
TERMIDESK_PORT = os.getenv("TERMIDESK_PORT", "")
TERMIDESK_USERNAME = os.getenv("TSRV_USERNAME", '')
TERMIDESK_PASSWORD = os.getenv("TSRV_PASSWORD", '')
#Termidesk auth domain ID: authSmallName
TERMIDESK_AUTH = os.getenv("TSRV_AUTH", '')
TERMIDESK_AUTH_URL = os.getenv('TSRV_AUTH_URI', '/api/auth/draft/legacy/login')
# OpenStack params
# The name of application credentials
APP_CREDENTIALS_NAME = os.getenv("APP_CREDENTIALS_NAME", "")
# The secret for application credentials
APP_CREDENTIALS_SECRET = os.getenv("APP_CREDENTIALS_SECRET", "")
# The user name for application credentials
APP_CREDENTIALS_USER_NAME = os.getenv("APP_CREDENTIALS_USER_NAME", "")
# The name of user domain for application credentials
APP_CREDENTIALS_USER_DOMAIN = os.getenv("APP_CREDENTIALS_USER_DOMAIN", "")
# The url of application credentials authentication. Example: http://0.0.0.0/identity/v3/auth/tokens
OPENSTACK_AUTH_URL = os.getenv("OPENSTACK_AUTH_URL", "") |
Список доступных параметров конфигурационного файла приведен в таблице.
| ||||||||||||||||||||||||||||||||||||||||||
Проверка заданных настроекДля проверки корректности заданных настроек применяется исполняемый файл |
Для его использования необходимо выполнить команды:
:~$ cd /opt/termidesk/share/termidesk-orchestrator/src/ :~$ python3 self_check.py |
Если во время проверки возникает ошибка, подробную информацию о ней можно найти в файле /tmp/termidesk_self_check_crash.log. Файл журнала перезаписывается при каждом запуске проверок.
Запуск службЗапуск служб осуществляется после задания настроек и проверки их корректности. |
Добавить в автоматический запуск службу Оркестратора:
:~$ sudo systemctl enable termidesk-orchestrator.service |
Затем запустить службу:
:~$ sudo systemctl start termidesk-orchestrator.service |
Проверка работоспособностиДля проверки работоспособности необходимо: |
Для получения самоподписанного сертификата, используемого для обращений по протоколу HTTPS, необходимо воспользоваться командой:
:~$ echo quit | openssl s_client -showcerts -servername orchestrator.test.lan -connect orchestrator.test.lan:443 > /home/user/orchestrator.test.lan.pem |
где:
orchestrator.test.lan - имя узла, на котором установлен Оркестратор;
/home/user/orchestrator.test.lan.pem - путь к pem файлу, в который будет сохранен сертификат.
Токен приложения используется для авторизации запросов пользователя и запрашивается на сервере OpenStack через функционал API.
Для выполнения API-запросов следует установить утилиту curl:
:~$ sudo apt install curl |
Для запроса токена необходимо использовать следующую команду:
:~$ curl -i \
-H "Content-Type: application/json" \
-d '
{ "auth": {
"identity": {
"methods": ["application_credential"],
"application_credential": {
"name": "orchestrator",
"secret": "orchestrator_secret_key",
"user": {
"name": "admin",
"domain": { "name": "Default" }
}
}
}
}
}' "http://IP-address/identity/v3/auth/tokens" | grep "X-Subject-Token" | sed -e 's/\r//' -e 's/\n//' |
где:
IP-address - IP-адрес сервера OpenStack.
Вывод команды будет содержать необходимый токен:
X-Subject-Token: gAAAAABjdlObymw<...cuted out...>-pJ2JcKNDI_s_FleOLuZOuyt-r |
Полученный токен необходимо разместить в переменную окружения APP_TOKEN и подставлять в заголовок «X-ORC-TOKEN-APP» при каждом запросе к Оркестратору.
Для задания переменной окружения следует воспользоваться командой:
:~$ export APP_TOKEN="gAAAAABjdlObymw<...cuted out...>-pJ2JcKNDI_s_FleOLuZOuyt-r" |
Проверка состояния Оркестратора (health check) выполняется запросом через утилиту curl:
:~$ curl -s -H "X-ORC-TOKEN-APP: $APP_TOKEN" --cacert orchestrator.test.lan.pem https://orchestrator.test.lan/api/draft/orc/health/ | python -m json.tool |
где:
orchestrator.test.lan.pem - ранее сохраненный самоподписанный сертификат;
orchestrator.test.lan - имя узла, на котором установлен Оркестратор.
Проверка состояния универсального диспетчера Termidesk через Оркестратор выполняется запросом через утилиту curl:
:~$ curl -s -H "X-ORC-TOKEN-APP: $APP_TOKEN" --cacert orchestrator.test.lan.pem https://orchestrator.test.lan/api/draft/health/ | python -m json.tool |
При правильном функционировании запрашиваемого компонента ответ должен содержать:
{
"data": "ok"
}
|