amaniquery-agent / Makefile
Deployment
Automated deployment update
4b1daed
Raw
History Blame Contribute Delete
2.92 kB
.PHONY: all build clean test proto run-agent run-retriever docker infra-up infra-down lint
# Variables
PROTO_DIR := pkg/proto
GO_OUT := pkg/proto/gen
DOCKER_COMPOSE := docker-compose -f deployments/docker/docker-compose.yml
# Default target
all: proto build
# Generate Go code from protobuf definitions
proto:
@echo "Generating protobuf code..."
@mkdir -p $(GO_OUT)
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
$(PROTO_DIR)/agent.proto $(PROTO_DIR)/generator.proto $(PROTO_DIR)/retriever.proto
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
$(PROTO_DIR)/clara.proto
# Build all services
build:
@echo "Building services..."
go build -o bin/agent-server ./cmd/agent-server
go build -o bin/retriever-server ./cmd/retriever-server
go build -o bin/generator-server ./cmd/generator-server
# Clean build artifacts
clean:
@echo "Cleaning..."
rm -rf bin/
rm -rf $(GO_OUT)
# Run tests
test:
@echo "Running tests..."
go test -v -race -cover ./...
# Run integration tests
test-integration:
@echo "Running integration tests..."
go test -v -tags=integration ./tests/...
# Run agent server
run-agent:
@echo "Starting agent server..."
go run ./cmd/agent-server
# Run retriever server
run-retriever:
@echo "Starting retriever server..."
go run ./cmd/retriever-server
# Run generator server
run-generator:
@echo "Starting generator server..."
go run ./cmd/generator-server
# Build Docker images
docker:
@echo "Building Docker images..."
docker build -t amaniquery/agent-server:latest -f deployments/docker/Dockerfile.agent .
docker build -t amaniquery/retriever-server:latest -f deployments/docker/Dockerfile.retriever .
docker build -t amaniquery/generator-server:latest -f deployments/docker/Dockerfile.generator .
# Start infrastructure (Qdrant, Redis, etc.)
infra-up:
@echo "Starting infrastructure..."
$(DOCKER_COMPOSE) up -d qdrant redis
# Stop infrastructure
infra-down:
@echo "Stopping infrastructure..."
$(DOCKER_COMPOSE) down
# Start all services with Docker Compose
up:
@echo "Starting all services..."
$(DOCKER_COMPOSE) up -d
# Stop all services
down:
@echo "Stopping all services..."
$(DOCKER_COMPOSE) down
# View logs
logs:
$(DOCKER_COMPOSE) logs -f
# Lint code
lint:
@echo "Linting..."
golangci-lint run ./...
# Format code
fmt:
@echo "Formatting..."
go fmt ./...
goimports -w .
# Download dependencies
deps:
@echo "Downloading dependencies..."
go mod download
go mod tidy
# Generate mocks for testing
mocks:
@echo "Generating mocks..."
mockgen -source=internal/agent/orchestrator.go -destination=internal/agent/mocks/orchestrator_mock.go
mockgen -source=internal/retriever/retriever.go -destination=internal/retriever/mocks/retriever_mock.go
# Security scan
security:
@echo "Running security scan..."
gosec ./...
trivy fs .