Files
rengine/Makefile
T
Yogesh Ojha ad47eb4fb9 feat(worker): split scan stages, scan control and background jobs into three workers
Stage tasks hold a slot for their whole tool run, so step hand-overs and
finalize queued behind them and background jobs took scan slots.

- worker-scans consumes scans (run_scan_stage only), scalable with --scale
- worker-control consumes scan_control: launch, hand-over, resume, finalize
- worker-default consumes default and critical
- reaper reads both scan queues; readiness requires a consumer on every queue
- connection budget counts every worker; max_connections 250
2026-09-24 21:00:44 +05:30

99 lines
3.1 KiB
Makefile

.PHONY: help up down build logs logs-api logs-worker lint test migrate migrate-create migrate-draft \
migrate-history migrate-downgrade db-stamp db-reset shell-api shell-worker db-shell
PACKAGES = api shared reports worker stages tools toolbox interest mcp channels connectors tests
help:
@echo "reNgine 3.0 Dev Commands"
@echo ""
@echo " Docker:"
@echo " make up Start all services"
@echo " make down Stop all services"
@echo " make build Rebuild all containers"
@echo " make logs Tail all logs"
@echo " make logs-api Tail API logs"
@echo " make logs-worker Tail worker logs"
@echo ""
@echo " Checks:"
@echo " make lint ruff, prettier and eslint"
@echo " make test pytest, svelte-check and vitest"
@echo ""
@echo " Database Migrations:"
@echo " make migrate Apply all pending migrations"
@echo " make migrate-create m=msg Empty revision to hand-write"
@echo " make migrate-draft m=msg Autogenerated draft to edit down"
@echo " make migrate-history Show migration history"
@echo " make migrate-downgrade Rollback last migration"
@echo " make db-stamp Stamp DB as current (existing DB setup)"
@echo " make db-reset Drop all tables and re-migrate (DESTRUCTIVE)"
@echo ""
@echo " Debug:"
@echo " make shell-api Shell into API container"
@echo " make shell-worker Shell into worker container"
@echo " make db-shell PostgreSQL shell"
# Docker
up:
docker compose up -d
down:
docker compose down
build:
docker compose build
logs:
docker compose logs -f
logs-api:
docker compose logs -f api
logs-worker:
docker compose logs -f worker-default worker-scans worker-control
# Checks: the same commands CI runs
lint:
ruff check $(PACKAGES)
ruff format --check $(PACKAGES)
cd frontend && npm run lint
test:
docker compose exec -T api /app/.venv/bin/python -m pytest tests -q
cd frontend && npm run check && npm run test
migrate:
docker compose exec api uv run alembic upgrade head
migrate-create:
@if [ -z "$(m)" ]; then echo "Usage: make migrate-create m='migration message'"; exit 1; fi
docker compose exec api uv run alembic revision -m "$(m)"
migrate-draft:
@if [ -z "$(m)" ]; then echo "Usage: make migrate-draft m='migration message'"; exit 1; fi
docker compose exec api uv run alembic revision --autogenerate -m "$(m)"
migrate-history:
docker compose exec api uv run alembic history --verbose
migrate-downgrade:
docker compose exec api uv run alembic downgrade -1
db-stamp:
docker compose exec api uv run alembic stamp head
db-reset:
@echo "Every table is dropped and the migrations are re-applied."
@read -p "Continue? [y/N] " confirm && [ "$$confirm" = "y" ] || exit 1
docker compose exec api uv run alembic downgrade base
docker compose exec api uv run alembic upgrade head
# Shells
shell-api:
docker compose exec api bash
shell-worker:
docker compose exec worker-default bash
db-shell:
docker compose exec db sh -c 'psql -U "$${POSTGRES_USER:-rengine}" -d "$${POSTGRES_DB:-rengine}"'