47 lines
1.7 KiB
Makefile
47 lines
1.7 KiB
Makefile
# ===============================
|
||
# Makefile для управления dnsmasq-конфигами
|
||
# ===============================
|
||
|
||
# --- Переменные окружения (с дефолтами для локального запуска) ---
|
||
IPSET_CONF ?= /tmp/91-ipset-bbrkn.conf
|
||
RESOLVE_CONF ?= /tmp/92-resolve-bbrkn.conf
|
||
CHROME_SERVER ?= http://10.100.1.2:3000
|
||
DOMAINS_FILE ?= domains.txt
|
||
|
||
# Экспортируем переменные, чтобы они были доступны внутри shell-скриптов
|
||
export IPSET_CONF RESOLVE_CONF CHROME_SERVER DOMAINS_FILE
|
||
|
||
# --- Основные цели ---
|
||
.PHONY: all clean check generate deploy
|
||
|
||
all: generate deploy
|
||
@echo "✅ Конфиги успешно сгенерированы и задеплоены"
|
||
|
||
clean:
|
||
@echo "🧹 Очистка временных файлов"
|
||
@rm -f $(IPSET_CONF) $(RESOLVE_CONF)
|
||
|
||
check:
|
||
@echo "🔍 Проверка файла доменов ($(DOMAINS_FILE))"
|
||
@if [ ! -f "$(DOMAINS_FILE)" ]; then \
|
||
echo "Ошибка: файл $(DOMAINS_FILE) не найден"; \
|
||
exit 1; \
|
||
fi
|
||
@grep -v '^#' $(DOMAINS_FILE) | grep -v '^$$' | while read domain; do \
|
||
if ! echo "$$domain" | grep -qE '^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$$'; then \
|
||
echo "Ошибка: Неверный формат домена: $$domain"; \
|
||
exit 1; \
|
||
fi \
|
||
done
|
||
@echo "✔ Файл доменов прошёл проверку"
|
||
|
||
generate:
|
||
@echo "⚙ Генерация dnsmasq-конфигов"
|
||
@chmod +x scripts/generate-configs.sh
|
||
@./scripts/generate-configs.sh
|
||
|
||
deploy:
|
||
@echo "🚀 Деплой конфигов в систему"
|
||
@chmod +x scripts/deploy-to-gateway.sh
|
||
@./scripts/deploy-to-gateway.sh
|
||
|