Cybersecurity-Projects/PROJECTS/intermediate/siem-dashboard/justfile

134 lines
3.3 KiB
Makefile

# ©AngelaMos | 2026
# justfile
set dotenv-load
set export
set shell := ["bash", "-uc"]
set windows-shell := ["powershell.exe", "-NoLogo", "-Command"]
project := file_name(justfile_directory())
version := `git describe --tags --always 2>/dev/null || echo "dev"`
# =============================================================================
# Default
# =============================================================================
default:
@just --list --unsorted
# =============================================================================
# Development
# =============================================================================
[group("dev")]
dev-up *ARGS:
docker compose -f dev.compose.yml up {{ARGS}}
[group("dev")]
dev *ARGS:
docker compose -f dev.compose.yml up -d {{ARGS}}
[group("dev")]
dev-down *ARGS:
docker compose -f dev.compose.yml down {{ARGS}}
[group("dev")]
dev-stop:
docker compose -f dev.compose.yml stop
[group("dev")]
dev-restart:
docker compose -f dev.compose.yml restart
[group("dev")]
dev-build *ARGS:
docker compose -f dev.compose.yml up -d --build {{ARGS}}
[group("dev")]
dev-logs:
docker compose -f dev.compose.yml logs -f
[group("dev")]
dev-logs-backend:
docker logs -f ${APP_NAME:-siem}-backend-dev --tail 100
[group("dev")]
dev-logs-frontend:
docker logs -f ${APP_NAME:-siem}-frontend-dev --tail 100
[group("dev")]
dev-logs-mongo:
docker logs -f ${APP_NAME:-siem}-mongo-dev --tail 100
# =============================================================================
# Production
# =============================================================================
[group("prod")]
prod-up *ARGS:
docker compose up {{ARGS}}
[group("prod")]
prod *ARGS:
docker compose up -d {{ARGS}}
[group("prod")]
prod-down *ARGS:
docker compose down {{ARGS}}
[group("prod")]
prod-build *ARGS:
docker compose up -d --build {{ARGS}}
[group("prod")]
prod-logs:
docker compose logs -f
# =============================================================================
# Production + Cloudflare Tunnel
# =============================================================================
[group("tunnel")]
tunnel-up *ARGS:
docker compose -f compose.yml -f cloudflared.compose.yml up {{ARGS}}
[group("tunnel")]
tunnel-start *ARGS:
docker compose -f compose.yml -f cloudflared.compose.yml up -d {{ARGS}}
[group("tunnel")]
tunnel-down *ARGS:
docker compose -f compose.yml -f cloudflared.compose.yml down {{ARGS}}
[group("tunnel")]
tunnel-logs:
docker compose -f compose.yml -f cloudflared.compose.yml logs -f cloudflared
# =============================================================================
# Backend
# =============================================================================
[group("backend")]
create-admin *ARGS:
docker exec -it ${APP_NAME:-siem}-backend-dev flask admin create {{ARGS}}
[group("backend")]
shell:
docker exec -it ${APP_NAME:-siem}-backend-dev bash
[group("backend")]
flask-shell:
docker exec -it ${APP_NAME:-siem}-backend-dev flask shell
[group("backend")]
test *ARGS:
docker exec ${APP_NAME:-siem}-backend-dev pytest {{ARGS}}
[group("backend")]
lint:
docker exec ${APP_NAME:-siem}-backend-dev ruff check app/
[group("backend")]
typecheck:
docker exec ${APP_NAME:-siem}-backend-dev mypy app/