Правки файла конфигурации repko, добавление секции gpg

This commit is contained in:
XeRo 2026-01-29 17:41:38 +05:00
parent 1a71525075
commit 58b258be29
2 changed files with 64 additions and 8 deletions

View file

@ -77,6 +77,15 @@ variables:
- name: "database_password"
type: "string"
default: "admin"
- name: "gpg_full_name"
type: "string"
default: "Repko Reposiory"
- name: "gpg_note"
type: "string"
default: "notee"
- name: "gpg_mail"
type: "string"
default: "admin@repko.com"
- name: "debian_root"
type: "string"
default: "/var/www/repko/debian"
@ -185,14 +194,14 @@ sections:
field-type: "input"
description: "Домен на котором будет работать api"
validate:
- rule: "regex_match(api_domain,`^[a-zA-Z0-9.-]+$`"
- rule: "regex_match(api_domain,`^[a-zA-Z0-9.-]+$`)"
message: "Только латинские буквы, цифры, -, '.'"
- name: "panel_domain"
variable-name: "panel_domain"
field-type: "input"
description: "Домен на котором будет работать сайт"
validate:
- rule: "regex_match(api_domain,`^[a-zA-Z0-9.-]+$`"
- rule: "regex_match(api_domain,`^[a-zA-Z0-9.-]+$`)"
message: "Только латинские буквы, цифры, -, '.'"
- name: "cookie_domain"
variable-name: "cookie_domain"
@ -328,7 +337,7 @@ sections:
parent:
- "database_type"
validate:
- rule: "regex_match(database_host,`^[a-zA-Z0-9.-]+$`"
- rule: "regex_match(database_host,`^[a-zA-Z0-9.-]+$`)"
message: "Только латинские буквы, цифры, -, '.'"
- name: "database_port"
variable-name: "database_port"
@ -338,7 +347,7 @@ sections:
parent:
- "database_type"
validate:
- rule: "regex_match(database_host,`^[0-9]+$`"
- rule: "regex_match(database_host,`^[0-9]+$`)"
message: "Только цифры"
- name: "database_name"
variable-name: "database_name"
@ -348,7 +357,7 @@ sections:
parent:
- "database_type"
validate:
- rule: "regex_match(database_name,`^[a-zA-Z0-9_-]+$`"
- rule: "regex_match(database_name,`^[a-zA-Z0-9_-]+$`)"
message: "Только латинские буквы, цифры, -, _"
- name: "database_user"
variable-name: "database_user"
@ -358,7 +367,7 @@ sections:
parent:
- "database_type"
validate:
- rule: "regex_match(database_user,`^[a-zA-Z0-9_-]+$`"
- rule: "regex_match(database_user,`^[a-zA-Z0-9_-]+$`)"
message: "Только латинские буквы, цифры, -, _"
- name: "database_password"
variable-name: "database_password"
@ -370,6 +379,44 @@ sections:
validate:
- rule: "database_password!=''"
message: "Поле не может быть пустым"
- name: "gpg"
description: "Настройка gpg"
condition: "not file_exists('/var/lib/repko/gnupg/pubring.kbx')"
fields:
- name: "gpg name"
variable-name: "gpg_full_name"
field-type: "input"
description: "Полное имя для gpg ключа"
validate:
- rule: "gpg_full_name!=''"
message: "Поле не может быть пустым"
- rule: "regex_match(gpg_full_name,`^[a-zA-z0-9 .-]+$`)"
message: "Только латинские буквы, цифры, -, _, ' '"
- name: "gpg note"
variable-name: "gpg_note"
field-type: "input"
description: "Описание для gpg ключа"
validate:
- rule: "regex_match(gpg_note,`^[a-zA-Z0-9 .-]*$`)"
message: "Только латинские буквы, цифры, -, _, ' ' либо пустое"
- name: "gpg mail"
variable-name: "gpg_mail"
field-type: "input"
description: "Почта для gpg ключа"
validate:
- rule: "gpg_mail!=''"
message: "Поле не может быть пустым"
- rule: "regex_match(gpg_mail,`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$`)"
message: "Не соответствует формату почты"
actions:
- name: "generate gpg key"
type: "command"
command: "sudo -u {{.repko_user}} gpg --homedir /var/lib/repko/gnupg --batch --passphrase '' --quick-generate-key '{.gpg_full_name} ({.gpg_note}) <{.gpg_mail}>' rsa4096"
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 > /etc/repko/keyid"
error: "Не удалось получить и сохранить id gpg ключа"
- name: "paths"
description: "Настройка директорий"
fields: