# Проект dashboard'а команды Printum **Основные возможности и функционал:** 1. Резервирование виртуальной машины (далее - ВМ) за исполнителем с указанием задачи. 2. Редактирование данных ВМ и удаление из списка. 3. Управление ВМ - запуск, остановка и перезагрузка. ***Описание и функционал:***     Перед первоначальным запуском необходимо настроить параметры в файле .env: DB_TYPE - поддерживаемые БД SQLite (указать - sqlite), PostgreSQL (указать - postgresql), MySQL (указать - mysql). **При установке параметра == sqlite, указывать только DB_NAME.** 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 ``` ***Обновление***     Перед обновление ОБЯЗАТЕЛЬНО сделать снапшот системы и остановить сервис. После запустить выполнение скрипта 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)