- Создан LogBoard клиент для отправки логов с удаленных серверов - Добавлен API эндпоинт /api/logs/remote с аутентификацией - Реализована структурированная система сохранения логов - Исправлена совместимость Docker client библиотеки - Добавлена полная документация и тестирование
98 lines
4.0 KiB
Makefile
98 lines
4.0 KiB
Makefile
# 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
|