logboard/client/Makefile
Сергей Антропов 04dfe30d58 feat: Добавлена поддержка удаленных клиентов для LogBoard+
- Создан LogBoard клиент для отправки логов с удаленных серверов
- Добавлен API эндпоинт /api/logs/remote с аутентификацией
- Реализована структурированная система сохранения логов
- Исправлена совместимость Docker client библиотеки
- Добавлена полная документация и тестирование
2025-08-20 19:25:29 +03:00

98 lines
4.0 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 для LogBoard клиента
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
.PHONY: help build up down logs clean test setup
# Переменные
COMPOSE_FILE = docker-compose.yml
SERVICE_NAME = logboard-client
help: ## Показать справку
@echo "LogBoard Client - Управление клиентом"
@echo ""
@echo "Доступные команды:"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
setup: ## Настройка окружения
@echo "Настройка окружения для LogBoard клиента..."
@if [ ! -f .env ]; then \
echo "Создание файла .env из примера..."; \
cp env.example .env; \
echo "Файл .env создан. Отредактируйте его перед запуском."; \
else \
echo "Файл .env уже существует."; \
fi
@echo "Создание директорий для логов..."
@mkdir -p logs
build: ## Сборка Docker образа
@echo "Сборка Docker образа для LogBoard клиента..."
docker-compose -f $(COMPOSE_FILE) build
up: ## Запуск клиента
@echo "Запуск LogBoard клиента..."
docker-compose -f $(COMPOSE_FILE) up -d
down: ## Остановка клиента
@echo "Остановка LogBoard клиента..."
docker-compose -f $(COMPOSE_FILE) down
restart: ## Перезапуск клиента
@echo "Перезапуск LogBoard клиента..."
docker-compose -f $(COMPOSE_FILE) restart
logs: ## Просмотр логов клиента
@echo "Логи LogBoard клиента:"
docker-compose -f $(COMPOSE_FILE) logs -f $(SERVICE_NAME)
logs-all: ## Просмотр всех логов
@echo "Все логи:"
docker-compose -f $(COMPOSE_FILE) logs -f
status: ## Статус сервисов
@echo "Статус сервисов:"
docker-compose -f $(COMPOSE_FILE) ps
clean: ## Очистка (удаление контейнеров и образов)
@echo "Очистка Docker ресурсов..."
docker-compose -f $(COMPOSE_FILE) down --rmi all --volumes --remove-orphans
clean-logs: ## Очистка логов
@echo "Очистка логов..."
@rm -rf logs/*
test: ## Запуск тестового контейнера
@echo "Запуск тестового контейнера..."
docker-compose -f $(COMPOSE_FILE) up -d test-container
test-logs: ## Просмотр логов тестового контейнера
@echo "Логи тестового контейнера:"
docker-compose -f $(COMPOSE_FILE) logs -f test-container
stop-test: ## Остановка тестового контейнера
@echo "Остановка тестового контейнера..."
docker-compose -f $(COMPOSE_FILE) stop test-container
health: ## Проверка здоровья клиента
@echo "Проверка здоровья LogBoard клиента..."
@docker-compose -f $(COMPOSE_FILE) exec $(SERVICE_NAME) python -c "import requests; print('Health check:', requests.get('http://localhost:8080/health').status_code)" 2>/dev/null || echo "Health check недоступен"
shell: ## Вход в контейнер клиента
@echo "Вход в контейнер LogBoard клиента..."
docker-compose -f $(COMPOSE_FILE) exec $(SERVICE_NAME) /bin/bash
install: setup build up ## Полная установка (настройка + сборка + запуск)
@echo "LogBoard клиент успешно установлен и запущен!"
uninstall: down clean ## Полное удаление
@echo "LogBoard клиент удален!"
dev: ## Запуск в режиме разработки
@echo "Запуск в режиме разработки..."
docker-compose -f $(COMPOSE_FILE) up
dev-build: ## Сборка и запуск в режиме разработки
@echo "Сборка и запуск в режиме разработки..."
docker-compose -f $(COMPOSE_FILE) up --build