# ============================================================================== # HIGH LEVEL: setup, stop-all, clean, deploy, status # ============================================================================== .PHONY: setup stop-all restart-all clean clean-deep deploy-docker deploy-incus status-full .PHONY: web-minimal stop-minimal setup: check-tools install-tools install-deps ## [HIGH] Full project initialization (deps only) @$(ECHO_CMD) "${BOLD}${GREEN}โœ… Setup Complete! Run 'make setup-dev' for infra + migrations, then 'make dev'.${NC}" setup-dev: setup infra-up db-migrate ## [HIGH] First-time dev setup: deps + infra + migrations @$(ECHO_CMD) "${BOLD}${GREEN}โœ… Dev environment ready! Run 'make dev' to start.${NC}" web-minimal: ## [HIGH] Start Veza Web Minimal Journey (Backend + Frontend + DB) @$(SCRIPTS)/start_minimal.sh stop-minimal: ## [HIGH] Stop Minimal Stack @$(SCRIPTS)/stop_minimal.sh stop-all: ## [HIGH] Stop all services (Docker + Local) @$(ECHO_CMD) "${RED}๐Ÿ›‘ Stopping all services...${NC}" @docker compose -f $(COMPOSE_FILE) down 2>/dev/null || true @docker compose -f $(COMPOSE_PROD) down 2>/dev/null || true @$(MAKE) -s stop-local-services @$(ECHO_CMD) "${GREEN}โœ… All services stopped.${NC}" restart-all: stop-all ## [HIGH] Restart all services @$(ECHO_CMD) "${BLUE}๐Ÿ”„ Restarting all services...${NC}" @$(MAKE) -s infra-up @$(MAKE) -s dev @$(ECHO_CMD) "${GREEN}โœ… All services restarted.${NC}" clean: ## [HIGH] Clean build artifacts and caches @$(ECHO_CMD) "${YELLOW}๐Ÿงน Cleaning build artifacts...${NC}" @rm -rf $(ROOT)/$(SERVICE_DIR_web)/node_modules/.cache @rm -rf $(ROOT)/$(SERVICE_DIR_stream-server)/target/debug @find $(ROOT) -type d -name "node_modules" -prune -o -type f -name "*.log" -delete 2>/dev/null || true @$(ECHO_CMD) "${GREEN}โœ… Clean complete.${NC}" clean-deep: ## [HIGH] โš ๏ธ Nuclear Clean (Confirm required) @read -p "${RED}Are you sure? This will delete ALL builds, volumes, and caches! [y/N]${NC} " ans && [ $${ans:-N} = y ] @$(ECHO_CMD) "${RED}โ˜ข๏ธ DESTROYING ARTIFACTS...${NC}" @rm -rf $(ROOT)/$(SERVICE_DIR_web)/node_modules @rm -rf $(ROOT)/$(SERVICE_DIR_stream-server)/target @docker compose -f $(COMPOSE_FILE) down -v 2>/dev/null || true @docker compose -f $(COMPOSE_PROD) down -v 2>/dev/null || true @$(ECHO_CMD) "${GREEN}System Cleaned.${NC}" deploy-docker: build-all ## [HIGH] Deploy all services with Docker + HAProxy @$(ECHO_CMD) "${BOLD}${BLUE}๐Ÿณ Deploying with Docker...${NC}" @docker compose -f $(COMPOSE_PROD) up -d --build @$(MAKE) -s wait-for-services @$(ECHO_CMD) "${GREEN}โœ… Deployment complete! Access via http://$(APP_DOMAIN):$(PORT_haproxy)${NC}" deploy-incus: build-all-native ## [HIGH] Deploy all services with Incus containers (native, no Docker) @$(ECHO_CMD) "${BOLD}${BLUE}๐Ÿ“ฆ Deploying with Incus (native)...${NC}" @$(MAKE) -s incus-setup-network @$(MAKE) -s incus-deploy-infra @$(MAKE) -s incus-deploy-all-native @$(MAKE) -s incus-start-all @$(ECHO_CMD) "${GREEN}โœ… Incus deployment complete!${NC}" @$(ECHO_CMD) "${BLUE}Access services at:${NC}" @$(ECHO_CMD) " Backend API: http://10.10.10.2:8080" @$(ECHO_CMD) " Stream Server: http://10.10.10.4:3002" @$(ECHO_CMD) " Web Frontend: http://10.10.10.5:80" @$(ECHO_CMD) " HAProxy: http://10.10.10.6:80" status-full: ## [HIGH] Show complete system status @$(ECHO_CMD) "${BOLD}${CYAN}๐Ÿ“Š SYSTEM STATUS${NC}" @$(ECHO_CMD) "" @$(ECHO_CMD) "${BOLD}Docker Containers:${NC}" @docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep -E "NAME|veza" || echo " No containers running" @$(ECHO_CMD) "" @$(ECHO_CMD) "${BOLD}Local Processes:${NC}" @lsof -i :$(PORT_backend-api) -i :$(PORT_stream-server) -i :$(PORT_web) 2>/dev/null | grep LISTEN || echo " No local processes" @$(ECHO_CMD) "" @$(ECHO_CMD) "${BOLD}Incus Containers:${NC}" @incus list veza- 2>/dev/null | grep -E "NAME|veza" || echo " No Incus containers" @$(ECHO_CMD) ""