ironcrypt 0.1.0

A Rust library for secure password hashing, RSA key generation, and managing the encryption and verification of passwords and binary files.
Documentation
# Makefile for IronCrypt Docker management

# --- Variables ---
# Default environment file for development
ENV_FILE ?=.env
# Production environment file
PROD_ENV_FILE ?=.env.prod
# Use Docker Compose V2 syntax, which is now standard.
COMPOSE = docker compose

.PHONY: all build dev prod stop logs clean test coverage

# --- Main Targets ---

# Default target when running 'make'
all: dev

# Build the Docker images without starting the containers
build:
	@echo "๐Ÿ—๏ธ  Building Docker images..."
	$(COMPOSE) build

# Start services in development mode (runs in foreground)
dev:
	@echo "๐Ÿš€  Starting services in DEVELOPMENT mode (Ctrl+C to stop)..."
	$(COMPOSE) --env-file $(ENV_FILE) up --build

# Start services in production mode (runs in foreground)
prod:
	@echo "๐Ÿš€  Starting services in PRODUCTION mode (Ctrl+C to stop)..."
	$(COMPOSE) --env-file $(PROD_ENV_FILE) up --build

# --- Utility Targets ---

# Stop the running containers
stop:
	@echo "๐Ÿ›‘  Stopping containers..."
	$(COMPOSE) down

# Follow the logs of running services (if they are detached)
logs:
	@echo "๐Ÿ“œ  Tailing logs..."
	$(COMPOSE) logs -f

# Clean up everything: stop containers, remove volumes, and prune the system
# WARNING: This is a destructive operation.
clean:
	@echo "๐Ÿงน  Cleaning up Docker environment..."
	$(COMPOSE) down -v --remove-orphans
	@echo "๐Ÿงน  Pruning unused Docker system resources..."
	docker system prune -f

test:
	@echo "๐Ÿงช  Tests unitaires..."
	$(COMPOSE) run --rm ironcrypt cargo test

coverage:
	@echo "๐Ÿ“Š Couverture de test..."
	$(COMPOSE) run --rm ironcrypt cargo tarpaulin --out Html