VM-Dashboard-Manager/README.md

156 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Проект 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)