feat: добавить аддон hysteria2-server + playbook.yml для всех аддонов

hysteria2-server:
- Устанавливает Hysteria2 v2 на удалённый VPS (группа [hysteria2_server])
- TLS: selfsigned (IP, insecure=1) | acme (Let's Encrypt) | custom
- Obfuscation salamander, masquerade, лимиты полосы
- systemd-сервис, открытие firewall (ufw/firewalld)
- Вывод готового URL hysteria2://... для vault_hysteria2_url
- SSH с паролем: make addon-hysteria2-server ARGS="-k" (интерактивный ввод)

playbook.yml:
- addons/mediaserver/playbook.yml — hosts: k3s_master[0]
- addons/hysteria2-server/playbook.yml — hosts: hysteria2_server

Интеграция:
- inventory/hosts.ini: группа [hysteria2_server] (закомментированный пример)
- group_vars/all/addons.yml: addon_hysteria2_server
- vault.yml.example: vault_hysteria2_server_password, vault_hysteria2_obfs_password
- playbooks/addons.yml: оба аддона
- Makefile: addon-hysteria2-server target
This commit is contained in:
Sergey Antropoff
2026-04-26 06:39:50 +03:00
parent ba580f883e
commit fb5dcbc3af
13 changed files with 699 additions and 2 deletions

View File

@@ -58,7 +58,7 @@ DOCKER_RUN := docker run --rm -it \
addon-harbor addon-gitea addon-owncloud addon-nextcloud \
addon-csi-s3 addon-csi-ceph addon-csi-glusterfs addon-vaultwarden \
addon-smtp-relay addon-vault addon-external-secrets \
addon-jenkins addon-netbird addon-mediaserver \
addon-jenkins addon-netbird addon-mediaserver addon-hysteria2-server \
add-node remove-node \
add-etcd-node remove-etcd-node \
etcd-backup etcd-restore etcd-list-snapshots \
@@ -412,6 +412,10 @@ addon-mediaserver: _check_env _check_image ## Установить MediaServer
@printf "$(CYAN)Устанавливаю MediaServer стек...$(NC)\n"
$(DOCKER_RUN) addon mediaserver $(ARGS)
addon-hysteria2-server: _check_env _check_image ## Установить Hysteria2 VPN сервер на удалённый VPS из группы [hysteria2_server] (ARGS="-k" для SSH пароля, ARGS="-k -K" для SSH+sudo)
@printf "$(CYAN)Устанавливаю Hysteria2 сервер на удалённый VPS...$(NC)\n"
$(DOCKER_RUN) addon hysteria2-server $(ARGS)
# Generic цель — любой аддон из addons/<name>/playbook.yml
addon-%: _check_env _check_image
@if [ ! -f "addons/$*/playbook.yml" ]; then \