Рефакторинг
This commit is contained in:
parent
64e5744f5c
commit
537ae61f63
6 changed files with 525 additions and 274 deletions
|
|
@ -3,6 +3,7 @@ name: Deploy DNS Configuration
|
|||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
workflow_dispatch: # Ручной запуск из UI
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
|
@ -11,7 +12,7 @@ jobs:
|
|||
DEBUG: 1
|
||||
DEBUG_LOG: /tmp/generate-configs.debug.log
|
||||
# ==== Конфигурация проекта ====
|
||||
INPUT_FILE: domains.txt
|
||||
DOMAINS_FILE: domains.txt
|
||||
|
||||
# Временные конфиги (куда пишутся generate-configs.sh)
|
||||
IPSET_CONF: /tmp/91-ipset-bbrkn.conf
|
||||
|
|
@ -20,9 +21,6 @@ jobs:
|
|||
# DNS-сервер для резолвинга
|
||||
DNS_SERVER: 10.100.1.2
|
||||
|
||||
# Адрес сервиса Chromium
|
||||
API_URL: http://10.100.1.2:3000/domains?domain=
|
||||
|
||||
# Директория конфигов на шлюзе
|
||||
TARGET_DIR: /opt/appdata/pihole/etc/dnsmasq.d
|
||||
|
||||
|
|
@ -31,35 +29,21 @@ jobs:
|
|||
|
||||
IGNORE_PARTS: "doubleclick yandex mail.ru bigsv.ru mts.ru rambler.ru yadro.ru aif.ru vkvideo.ru tns-counter.ru st.vk.com vk.com"
|
||||
|
||||
# Кэш API-ответов (self-hosted runner сохраняет workspace между запусками)
|
||||
CACHE_DIR: .cache/api
|
||||
CACHE_TTL_DAYS: 15
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Validate domains file
|
||||
run: |
|
||||
if [ ! -f domains.txt ]; then
|
||||
echo "Error: domains.txt not found"
|
||||
exit 1
|
||||
fi
|
||||
# Проверка синтаксиса доменов
|
||||
grep -v '^#' domains.txt | grep -v '^$' | while read domain; do
|
||||
if ! echo "$domain" | grep -qE '^[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$'; then
|
||||
echo "Error: Invalid domain format: $domain"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Prepare Makefile
|
||||
run: |
|
||||
chmod +x scripts/generate-configs.sh
|
||||
chmod +x scripts/deploy-to-gateway.sh
|
||||
|
||||
- name: Run workflow (clean → all)
|
||||
run: |
|
||||
make clean
|
||||
make all
|
||||
|
||||
- name: Upload configs as artifacts
|
||||
if: always() # Загружаем артефакты даже при падении — для отладки
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: dnsmasq-configs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue