mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-07-28 21:43:50 +00:00
124 lines
3.2 KiB
Makefile
124 lines
3.2 KiB
Makefile
.PHONY: help dev prod test clean build deploy check-prod
|
|
|
|
# Default target
|
|
help:
|
|
@echo "Containr - Container Management Platform"
|
|
@echo ""
|
|
@echo "Available targets:"
|
|
@echo " make dev - Start development environment"
|
|
@echo " make prod - Start production environment"
|
|
@echo " make test - Run all tests"
|
|
@echo " make test-backend - Run backend tests"
|
|
@echo " make test-frontend- Run frontend tests"
|
|
@echo " make build - Build all containers"
|
|
@echo " make clean - Stop and remove all containers"
|
|
@echo " make check-prod - Run production readiness checks"
|
|
@echo " make logs - Show logs from all services"
|
|
@echo " make migrate - Run database migrations"
|
|
@echo " make help - Show this help message"
|
|
|
|
# Development environment
|
|
dev:
|
|
@echo "Starting development environment..."
|
|
./start-unified.sh dev
|
|
|
|
# Production environment
|
|
prod: check-prod
|
|
@echo "Starting production environment..."
|
|
./start-unified.sh prod
|
|
|
|
# Run all tests
|
|
test: test-backend test-frontend
|
|
@echo "All tests completed"
|
|
|
|
# Backend tests
|
|
test-backend:
|
|
@echo "Running backend tests..."
|
|
cd app/backend && go test ./... -v
|
|
|
|
# Frontend tests
|
|
test-frontend:
|
|
@echo "Running frontend tests..."
|
|
cd app/frontend && npm test
|
|
|
|
# Build all containers
|
|
build:
|
|
@echo "Building all containers..."
|
|
docker compose -f infra/docker-compose.yml build
|
|
|
|
# Clean up
|
|
clean:
|
|
@echo "Stopping and removing all containers..."
|
|
docker compose -f infra/docker-compose.yml down -v
|
|
docker compose down -v
|
|
|
|
# Production readiness check
|
|
check-prod:
|
|
@echo "Running production readiness checks..."
|
|
@bash scripts/production-check.sh
|
|
|
|
# Show logs
|
|
logs:
|
|
docker compose -f infra/docker-compose.yml logs -f
|
|
|
|
# Run database migrations
|
|
migrate:
|
|
@echo "Running database migrations..."
|
|
cd app/backend && go run cmd/migrate/main.go up
|
|
|
|
# Database backup
|
|
backup:
|
|
@echo "Creating database backup..."
|
|
docker compose -f infra/docker-compose.yml exec postgres pg_dump -U $(POSTGRES_USER) $(POSTGRES_DB) > backup_$(shell date +%Y%m%d_%H%M%S).sql
|
|
|
|
# Database restore
|
|
restore:
|
|
@echo "Restoring database from backup..."
|
|
@read -p "Enter backup file path: " backup_file; \
|
|
docker compose -f infra/docker-compose.yml exec -T postgres psql -U $(POSTGRES_USER) $(POSTGRES_DB) < $$backup_file
|
|
|
|
# Install dependencies
|
|
install:
|
|
@echo "Installing dependencies..."
|
|
cd app/backend && go mod download
|
|
cd app/frontend && npm install
|
|
|
|
# Format code
|
|
format:
|
|
@echo "Formatting code..."
|
|
cd app/backend && go fmt ./...
|
|
cd app/frontend && npm run format || true
|
|
|
|
# Lint code
|
|
lint:
|
|
@echo "Linting code..."
|
|
cd app/backend && go vet ./...
|
|
cd app/frontend && npm run lint
|
|
|
|
# Generate API types
|
|
generate-api:
|
|
@echo "Generating API types..."
|
|
cd app/frontend && npm run generate:api
|
|
|
|
# Security scan
|
|
security-scan:
|
|
@echo "Running security scan..."
|
|
cd app/backend && go list -json -m all | docker run --rm -i sonatypecommunity/nancy:latest sleuth || true
|
|
cd app/frontend && npm audit || true
|
|
|
|
# Update dependencies
|
|
update-deps:
|
|
@echo "Updating dependencies..."
|
|
cd app/backend && go get -u ./...
|
|
cd app/frontend && npm update
|
|
|
|
# Docker prune
|
|
prune:
|
|
@echo "Pruning Docker resources..."
|
|
docker system prune -af --volumes
|
|
|
|
# Show status
|
|
status:
|
|
@echo "Container status:"
|
|
docker compose -f infra/docker-compose.yml ps
|