156 lines
5.7 KiB
Markdown
156 lines
5.7 KiB
Markdown
# Проект dashboard'а команды Printum
|
||
|
||
**Основные возможности и функционал:**
|
||
|
||
1. Резервирование виртуальной машины (далее - ВМ) за исполнителем с указанием задачи.
|
||
|
||
2. Редактирование данных ВМ и удаление из списка.
|
||
|
||
3. Управление ВМ - запуск, остановка и перезагрузка.
|
||
|
||
|
||
|
||
***Описание и функционал:***
|
||
|
||
|
||
|
||
Перед первоначальным запуском необходимо настроить параметры в файле .env:
|
||
|
||
DB_TYPE - поддерживаемые БД SQLite (указать - sqlite), PostgreSQL (указать - postgresql), MySQL (указать - mysql).
|
||
|
||
|
||
|
||
**<u>При установке параметра == sqlite, указывать только DB_NAME.</u>**
|
||
|
||
DB_USER - имя пользователя БД.
|
||
|
||
DB_PASS - пароль пользователя БД
|
||
|
||
DB_HOST - хост БД.
|
||
|
||
DB_PORT - порт БД.
|
||
|
||
DB_NAME - имя БД.
|
||
|
||
|
||
|
||
SESSION_TYPE - место хранения сессии пользователя, возможна установка параметров file (хранение сессии локально), redis (хранение сессии на сервере Redis)
|
||
|
||
REDIS_HOST - хост сервера Redis.
|
||
|
||
REDIS_PORT - порт сервера Redis.
|
||
|
||
REDIS_DB - номер БД сервера Redis.
|
||
|
||
REDIS_PASS - пароль БД сервера Redis.
|
||
|
||
|
||
|
||
SESSION_LIFETIME - время жизни сессии пользователя.
|
||
|
||
SESSION_KEY_PREFIX - префикс для сессии.
|
||
|
||
|
||
|
||
HYPER1_HOST - хост 1-го гипервизора.
|
||
|
||
HYPER2_HOST - хост 2-го гипервизора.
|
||
HYPER3_HOST - хост 3-го гипервизора.
|
||
|
||
HYPER4_HOST - хост 4-го гипервизора.
|
||
HYPER1_USER - пользователь 1-го гипервизора.
|
||
|
||
HYPER2_USER - пользователь 2-го гипервизора.
|
||
|
||
HYPER3_USER - пользователь 3-го гипервизора.
|
||
|
||
HYPER4_USER - пользователь 4-го гипервизора.
|
||
|
||
HYPER1_PASS - пароль 1-го гипервизора.
|
||
|
||
HYPER2_PASS - пароль 2-го гипервизора.
|
||
|
||
HYPER3_PASS - пароль 3-го гипервизора.
|
||
|
||
HYPER4_PASS - пароль 4-го гипервизора.
|
||
|
||
|
||
|
||
DISABLING_TASK - отключение выполнения фоновых задач (треюуется рестарт сервиса).
|
||
|
||
|
||
|
||
PERFORMANCE - параметр устанавливающий как производить полное обновление. По времени (параметр - time) или череч определенный промежуток времени (параметр - period).
|
||
|
||
FULL_UPDATE - при выборе параметра period установить количество минут через какое проводить полное обновление.
|
||
|
||
HOUR_FULL_UPDATE - при выборе параметра time установить время в формате 00:00 в которое будет запаскаться полное обновление.
|
||
|
||
POWER_STATUS_UPDATE - период в минутах через которое будет запускаться обновление статусов ВМ.
|
||
|
||
|
||
|
||
REGISTER_OFF - при установленном значение True будет отключена регистрация.
|
||
|
||
SECRET - секретный ключ.
|
||
|
||
|
||
|
||
***Запуск***
|
||
|
||
Для запуска сервиса выполните скрипт start.sh с правами администратора. При передаче скрипту параметра -dev приложение запустится в режиме разработки.
|
||
|
||
Пример:
|
||
|
||
```bash
|
||
sudo ./start.sh
|
||
```
|
||
|
||
При таком запуске приложение будет запущено на 5000 порту.
|
||
|
||
|
||
|
||
```bash
|
||
sudo ./start.sh -dev
|
||
```
|
||
|
||
При таком запуске приложение будет запущено в режиме разработчика.
|
||
|
||
|
||
|
||
```bash
|
||
sudo ./start.sh 80
|
||
```
|
||
|
||
При таком запуске приложение будет запущено на 80 порту (порт указать возможно любой).
|
||
|
||
|
||
|
||
***Остановка***
|
||
|
||
Для остановки выполните скрипт stop.sh
|
||
|
||
Пример:
|
||
|
||
```bash
|
||
sudo ./stop.sh
|
||
```
|
||
|
||
|
||
|
||
***Обновление***
|
||
|
||
Перед обновление <mark>ОБЯЗАТЕЛЬНО</mark> сделать снапшот системы и остановить сервис. После запустить выполнение скрипта create-update.sh (файлы которые "попадут" в обновление указываются в upd-file.txt)
|
||
|
||
```bash
|
||
sudo ./create-update.sh
|
||
```
|
||
|
||
При выполнении с параметром -copy созданный во время выполнения скрипта архив будет передан на сервер проекта в директорию /tmp/update-dashboard (будет запрошен пароль от пользователя user), далее необходимо созданный архив распаковать на сервере проекта в директорю /tmp/update-dashboard и выполнить скрипт update.sh
|
||
|
||
```bash
|
||
sudo ./update.sh
|
||
```
|
||
|
||
При передачи параметра -all файлы которые есть в обновлении но нет в проекте будут добавлены без запроса, иначе на каждый файл будет запрос добавления (обновление будет производится согласно файла upd-file.txt)
|