Добавить make index: пересборка output/index.html из локальных экспортов
Отдельный playbook на localhost читает server-info.yml, обновляет общий каталог и открывает его в браузере без обращения к VPS.
This commit is contained in:
@@ -32,7 +32,7 @@ BOLD := \033[1m
|
||||
NC := \033[0m
|
||||
|
||||
.PHONY: help init check ping status \
|
||||
install update export uninstall \
|
||||
install update export index uninstall \
|
||||
vault-init vault-encrypt vault-edit vault-view
|
||||
|
||||
help: ## Показать справку
|
||||
@@ -48,6 +48,7 @@ help: ## Показать справку
|
||||
@echo " make install"
|
||||
@echo " make install LIMIT=vps-de"
|
||||
@echo " make update LIMIT=vps-nl"
|
||||
@echo " make index"
|
||||
@echo " make uninstall LIMIT=vps-de"
|
||||
@echo ""
|
||||
|
||||
@@ -67,6 +68,7 @@ init: ## Создать inventory, group_vars и .vault_pass из примеро
|
||||
check: ## Проверить синтаксис playbook
|
||||
$(ANSIBLE) playbook.yml --syntax-check $(VAULT_ARGS)
|
||||
$(ANSIBLE) playbook-uninstall.yml --syntax-check $(VAULT_ARGS)
|
||||
$(ANSIBLE) playbook-index.yml --syntax-check $(VAULT_ARGS)
|
||||
|
||||
ping: ## Проверить SSH-доступ ко всем VPS
|
||||
$(ANSIBLE_ADHOC) hysteria2_servers -m ping $(ANSIBLE_OPTS)
|
||||
@@ -97,6 +99,10 @@ update: check ## Обновить бинарник, перекатить кон
|
||||
export: check ## Только перевыпустить URL и QR (без изменений на сервере)
|
||||
$(ANSIBLE) playbook.yml --tags export $(ANSIBLE_OPTS)
|
||||
|
||||
index: check ## Пересобрать output/index.html из локальных server-info.yml и открыть в браузере
|
||||
$(ANSIBLE) playbook-index.yml $(VAULT_ARGS) \
|
||||
$(if $(EXTRA_VARS),--extra-vars "$(EXTRA_VARS)",)
|
||||
|
||||
uninstall: ## Полностью удалить Hysteria2 с VPS (только uninstall, без install/update)
|
||||
@echo "$(YELLOW)Будет выполнено удаление Hysteria2$(NC) $(if $(LIMIT),на $(LIMIT),на всех серверах)"
|
||||
@read -p "Продолжить? [y/N] " c; [[ "$$c" =~ ^[Yy]$$ ]] || exit 1
|
||||
|
||||
@@ -72,6 +72,7 @@ make install # → output/index.html откроется в браузере
|
||||
| `make install` | Установка Salamander + экспорт URL/QR/HTML |
|
||||
| `make update` | Обновить бинарник и конфиг; экспорт только для новых/изменённых пользователей |
|
||||
| `make export` | Только экспорт (URL, QR, HTML) без изменений на сервере |
|
||||
| `make index` | Пересобрать `output/index.html` из локальных `server-info.yml` и открыть в браузере |
|
||||
| `make uninstall` | Полное удаление с VPS + `output/<server>/` + пересборка `output/index.html` |
|
||||
| `make vault-init` | Создать `.vault_pass`, включить `vault_password_file` в `ansible.cfg` |
|
||||
| `make vault-encrypt` | Зашифровать `vault.yml` |
|
||||
@@ -83,6 +84,7 @@ make install LIMIT=vps-de
|
||||
make install LIMIT=vps-nl # только новый сервер — старые не трогаются
|
||||
make update LIMIT=vps-nl
|
||||
make export
|
||||
make index # только пересобрать общий каталог из output/
|
||||
make uninstall LIMIT=vps-de
|
||||
make update EXTRA_VARS='hysteria2_force_export=true' # перевыпустить URL/QR для всех
|
||||
make install EXTRA_VARS='hysteria2_force_export=true' # то же при install
|
||||
@@ -369,7 +371,9 @@ HTML-страницы показывают:
|
||||
- QR-коды;
|
||||
- ссылки на файлы и страницы серверов.
|
||||
|
||||
После `make install`, `make update` и `make export` **`output/index.html` автоматически открывается в браузере** (macOS: `open`, Linux: `xdg-open`).
|
||||
После `make install`, `make update`, `make export` и `make index` **`output/index.html` автоматически открывается в браузере** (macOS: `open`, Linux: `xdg-open`).
|
||||
|
||||
`make index` не ходит на VPS: только читает `output/*/server-info.yml` и пересобирает общий каталог.
|
||||
|
||||
Отключить: `hysteria2_open_browser: false` в `group_vars/all.yml` или `EXTRA_VARS`.
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
- name: Rebuild global output index from local exports
|
||||
hosts: localhost
|
||||
connection: local
|
||||
gather_facts: true
|
||||
become: false
|
||||
tasks:
|
||||
- name: Generate output/index.html and open in browser
|
||||
ansible.builtin.include_role:
|
||||
name: hysteria2
|
||||
tasks_from: export_global.yml
|
||||
Reference in New Issue
Block a user