bbrkn/Makefile
goodvin ef30817cf8
All checks were successful
Deploy DNS Configuration / deploy (push) Successful in 37m41s
Update Makefile
2026-05-28 20:56:35 +03:00

54 lines
1.9 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ===============================
# 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
DNS_SERVER ?= 8.8.8.8
CACHE_DIR ?= .cache/api
CACHE_TTL_DAYS ?= 15
# Экспортируем переменные, чтобы они были доступны внутри shell-скриптов
export IPSET_CONF RESOLVE_CONF CHROME_SERVER DOMAINS_FILE DNS_SERVER CACHE_DIR CACHE_TTL_DAYS
# --- Основные цели ---
.PHONY: all clean cache-clean check generate deploy
all: generate deploy
@echo "✅ Конфиги успешно сгенерированы и задеплоены"
clean:
@echo "🧹 Очистка временных файлов"
@rm -f $(IPSET_CONF) $(RESOLVE_CONF)
cache-clean:
@echo "🗑 Очистка кэша API ($(CACHE_DIR))"
@rm -rf $(CACHE_DIR)
@echo "✔ Кэш очищен"
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