Makefile 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # SeaweedFS PostgreSQL Test Suite Makefile
  2. .PHONY: help start stop clean produce test psql logs status all dev
  3. # Default target
  4. help: ## Show this help message
  5. @echo "SeaweedFS PostgreSQL Test Suite"
  6. @echo "==============================="
  7. @echo "Available targets:"
  8. @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-12s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
  9. @echo ""
  10. @echo "Quick start: make all"
  11. start: ## Start SeaweedFS and PostgreSQL servers
  12. @./run-tests.sh start
  13. stop: ## Stop all services
  14. @./run-tests.sh stop
  15. clean: ## Stop services and remove all data
  16. @./run-tests.sh clean
  17. produce: ## Create MQ test data
  18. @./run-tests.sh produce
  19. test: ## Run PostgreSQL client tests
  20. @./run-tests.sh test
  21. psql: ## Connect with interactive psql client
  22. @./run-tests.sh psql
  23. logs: ## Show service logs
  24. @./run-tests.sh logs
  25. status: ## Show service status
  26. @./run-tests.sh status
  27. all: ## Run complete test suite (start -> produce -> test)
  28. @./run-tests.sh all
  29. # Development targets
  30. dev-start: ## Start services for development
  31. @echo "Starting development environment..."
  32. @docker-compose up -d seaweedfs postgres-server
  33. @echo "Services started. Run 'make dev-logs' to watch logs."
  34. dev-logs: ## Follow logs for development
  35. @docker-compose logs -f seaweedfs postgres-server
  36. dev-rebuild: ## Rebuild and restart services
  37. @docker-compose down
  38. @docker-compose up -d --build seaweedfs postgres-server
  39. # Individual service targets
  40. start-seaweedfs: ## Start only SeaweedFS
  41. @docker-compose up -d seaweedfs
  42. restart-postgres: ## Start only PostgreSQL server
  43. @docker-compose down -d postgres-server
  44. @docker-compose up -d --build seaweedfs postgres-server
  45. # Testing targets
  46. test-basic: ## Run basic connectivity test
  47. @docker run --rm --network postgres_seaweedfs-net postgres:15-alpine \
  48. psql -h postgres-server -p 5432 -U seaweedfs -d default -c "SELECT version();"
  49. test-producer: ## Test data producer only
  50. @docker-compose up --build mq-producer
  51. test-client: ## Test client only
  52. @docker-compose up --build postgres-client
  53. # Cleanup targets
  54. clean-images: ## Remove Docker images
  55. @docker-compose down
  56. @docker image prune -f
  57. clean-all: ## Complete cleanup including images
  58. @docker-compose down -v --rmi all
  59. @docker system prune -f