Изменение Readme, правки файла конфига
This commit is contained in:
parent
7523323239
commit
90282447eb
2 changed files with 22 additions and 9 deletions
15
Readme.md
15
Readme.md
|
|
@ -166,7 +166,20 @@ used_protocol={{if .is_secure}}https:\\{{else}}http:\\{{end}}
|
|||
- ctrl+c, ctrl+q - открывает [модальное окно](Readme.md#модальное-окно-подтверждения-выхода) подтверждения выхода
|
||||
|
||||
## Дополнительно, Важное
|
||||
В текущей итерации не учтен ряд элементов. Это могут быть вопросы реализации, правил поведения приложения, удобство пользования.
|
||||
В текущей итерации не учтен ряд элементов. Это могут быть вопросы реализации, правил поведения приложения, удобство пользования.
|
||||
### Установка пакетов
|
||||
Из-за вызова команд apt при уже выполняем вызове, возникает блокировка. По этой причине, если использовать GoSetup для настройки устанавливаемого apt пакета и будет вызвана функция установки необходимого пакета, то это приведет к блокировке базы APT. Следовательно, нужно определять вызов программы и ограничивать часть действий. Например, запускать программу с аргументом, значащим вызов во время установки, по его наличию запрещать установку пакета и выводить сообщение или же при его отсутствии устанавливать нужный пакет.
|
||||
### Валидация
|
||||
Сейчас валидация нужна для показания, что вводимое значение не отвечает правилами. Если пользователь намеренно или нет, проигнорирует ошибку поля, это может привести к ошибке настройки. Например, если введет имя пользователя русскими буквами или неподходящими символами, то при попытке выполнить команду, это приведет к ошибке действия. Требуется либо сделать запретить переход на следующую секцию при наличии ошибок валидации используемых полей, либо сделать это опциональным, в зависимости от правил.
|
||||
### Смена секций
|
||||
Изначально было 2 варианта вызова действий. Первый был основан на запуске всех действия после последней секции, в таком варианте, был допустим переход на прошлые секции и смена их значений. На последней секции можно было просмотреть все введенные данные, а после подтверждения запускались бы все действия. Второй вариант основна на запуске действия по секциям. После нажатия кнопки перехода запускались действия конкретной секции. Было решено остановится на втором варианте для упрощения настройки. При возникновении ошибки действий первых секций, настройка останавливается, если подобное произойдет в первом варианте, то весь процесс ввода данных требовалось бы повторять вновь.
|
||||
Из-за этого не получись сделать функционал возврата к прошлым секциям, ведь это могло вызвать путаницу действий. Если от значений в секции 1 зависит секция 2 и 3 с разными, противоречащими друг другу действиями, то возврат на секцию 1 после действия секции 2 и изменении данных для секции 3, вызовет конфликт системы из-за действия секции 2.
|
||||
### Внешний вид
|
||||
Пока что не был определен единый стиль для программы. Цвета, границы, фон и прочее должен быть изменен для формирования единого стиля приложения.
|
||||
### Секция About
|
||||
Из-за ограничений терминала нельзя сделать разный размер текста. То есть идентификация какого уровня заголовок, первого или второго, с помощью разного размера невозможна. Это привод к ограничению стилей markdown для описания.
|
||||
### Единый формат не стандартных значений
|
||||
В данный момент есть обработка special-value и обработка compute. Они используются для получения значений, которые не предусмотрены для ввода напрямую или же сложны в расчете самостоятельно. Для special-value сейчас есть одна обработка code:users, её результат это массив строк пользователей системы, чей uid больше или равны 1000. Эта обработка сделана для установки как значения уже сущетсвующего пользователя. Подобная обработка одна на всю систему, для целесообразности special-value нужны другие варианты использования, иначе придется переформировать её расчет через compute.
|
||||
|
||||
## Собственные функции для expr
|
||||
Библиотека [expr](https://github.com/expr-lang/expr) имеет ряд готовых функций их можно просмотреть [здесь](https://github.com/expr-lang/expr/blob/master/builtin/builtin.go). Также для были определенны собственные функции, которые можно посмотреть в файле [здесь](setup/utils/utils.go#L153)
|
||||
|
|
|
|||
|
|
@ -409,16 +409,16 @@ sections:
|
|||
error: "Не удалось создать ключ"
|
||||
- name: "get gpg key id"
|
||||
type: "command"
|
||||
command: "sudo -u {{.repko_user}} gpg --homedir /var/lib/repko/gnupg --list-keys --with-colons | grep pub | cut -d: -f5"
|
||||
command: "sudo -u {{.repko_user}} gpg --homedir /var/lib/repko/gnupg --list-keys --with-colons 2>/dev/null | grep '^pub' | cut -d: -f5"
|
||||
error: "Не удалось получить и сохранить id gpg ключа"
|
||||
assign-to: "gpg_key_id"
|
||||
- name: "export gpg key"
|
||||
type: "command"
|
||||
command: "sudo -u {{.repko_user}} gpg --homedir /var/lib/repko/gnupg --armor --export '{{.gpg_key_id}}!' 2>/dev/null > /usr/share/keyrings/repko.asc"
|
||||
command: "sudo -u {{.repko_user}} gpg --homedir /var/lib/repko/gnupg --armor --export '{{.gpg_key_id}}' 2>/dev/null > /usr/share/keyrings/repko.asc"
|
||||
error: "Не удалось экспортировать gpg ключ"
|
||||
- name: "write gpg key id"
|
||||
type: "command"
|
||||
command: "echo {{.gpg_key_id}} > /etc/repko/keyid"
|
||||
command: "echo '{{.gpg_key_id}}' > /etc/repko/keyid"
|
||||
error: "не удалось записать gpg key id в файл keyid"
|
||||
- name: "set owner for exported key"
|
||||
type: "command"
|
||||
|
|
@ -493,28 +493,28 @@ sections:
|
|||
- name: "update_united_nginx_conf"
|
||||
type: "file_template"
|
||||
condition: "api_domain==panel_domain"
|
||||
file-source: "/opt/repko/donors/united.repko.conf"
|
||||
file-source: "/opt/repko/templates/united.repko.template.conf"
|
||||
file-target: "/etc/nginx/sites-available/repko.conf"
|
||||
error: "Ошибка при создании файла united nginx conf"
|
||||
- name: "update_separated_nginx_conf"
|
||||
type: "file_template"
|
||||
condition: "api_domain !=panel_domain"
|
||||
file-source: "/opt/repko/donors/separated.repko.conf"
|
||||
file-source: "/opt/repko/templates/separated.repko.template.conf"
|
||||
file-target: "/etc/nginx/sites-available/repko.conf"
|
||||
error: "Ошибка при создании файла separated nginx conf"
|
||||
- name: "update_repko_service"
|
||||
type: "file_template"
|
||||
file-source: "/opt/repko/donors/repko.service"
|
||||
file-source: "/opt/repko/templates/repko.template.service"
|
||||
file-target: "/etc/systemd/system/repko.service"
|
||||
error: "Ошибка при создании файла repko service"
|
||||
- name: "update_repko_ini"
|
||||
type: "file_template"
|
||||
file-source: "/opt/repko/donors/config.ini"
|
||||
file-source: "/opt/repko/templates/config.template.ini"
|
||||
file-target: "/etc/repko/config.ini"
|
||||
error: "Ошибка при создании файла repko config"
|
||||
- name: "update_web_config"
|
||||
type: "file_template"
|
||||
file-source: "/opt/repko/donors/config.json"
|
||||
file-source: "/opt/repko/templates/config.template.json"
|
||||
file-target: "/var/www/repko/web/config.json"
|
||||
error: "Ошибка при создании файла repko web config"
|
||||
- name: "Set files ownership"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue