.PHONY: help dev start stop clean migrate seed test build
help:
@echo 'Usage: make [target]'
@echo ''
@echo 'Available targets:'
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " %-15s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
dev:
docker-compose up -d db minio minio-init
@echo "Waiting for services to be ready..."
@sleep 5
@echo "Services started:"
@echo " PostgreSQL: localhost:5432"
@echo " MinIO API: http://localhost:9000"
@echo " MinIO Console: http://localhost:9001 (minioadmin/minioadmin)"
start:
docker-compose --profile full up -d
stop:
docker-compose down
clean:
docker-compose down -v
rm -rf target/
migrate:
@which sqlx >/dev/null 2>&1 || (echo "Installing sqlx-cli..." && cargo install sqlx-cli --no-default-features --features postgres)
sqlx migrate run --database-url "postgres://postgres:password@localhost:5432/mockforge_registry"
seed: migrate
@echo "Database seeded with test data"
@echo " Admin user: admin@mockforge.dev / admin123"
@echo " Test user: test@example.com / test123"
@echo " Sample plugins: auth-jwt, template-crypto, datasource-csv"
run:
cargo run --package mockforge-registry-server
test:
cargo test --package mockforge-registry-server
build:
cargo build --package mockforge-registry-server --release
docker-build:
docker build -t mockforge-registry:latest -f Dockerfile ../..
logs:
docker-compose logs -f
status:
docker-compose ps
reset: clean dev migrate
@echo "Environment reset complete"