Repository navigation
🌖 LunarDump Release Notes
[v0.4.0] - 2026-08-15
We are excited to announce LunarDump v0.4.0, a major release bringing instant template generation, live zero-disk database migration, human-friendly daemon scheduling, a zero-config command-driven Web UI with live interactive terminal streaming, and extensive real-world performance benchmarks!
🚀 Highlights & New Features
1. Instant Template Generator (lunardump config generate)
No more writing configuration files or environment variables manually. With a single command, LunarDump generates three production-ready files pre-populated with a cryptographically secure 256-bit AES key:
config.yaml: Pre-configured backup pipeline template.migration.yaml: Live database-to-database migration profile..env: Environment file containing passwords, cloud credentials, and an auto-generated AES-256 secret key.
# Generate default PostgreSQL + S3 templates
lunardump config generate
# Or specify database engine and cloud storage target
lunardump config generate --db-type mysql --storage s32. Live Database Migration (lunardump migrate) & Focused Web UI
Perform direct, real-time database-to-database migration from Server A (Source DB) to Server B (Target DB) with Zero-Disk Pipe Streaming (0 bytes disk space used).
- Supports PostgreSQL, MySQL, MariaDB, and MongoDB.
- Includes optional In-Flight AES-256-GCM Encryption for safe migration over untrusted public networks.
- Dedicated Web UI view focused on Live Migration execution and parameter input.
# Migration using YAML configuration file
lunardump migrate --config migration.yaml
# Or direct migration via CLI flags with environment variables for passwords
export SOURCE_DB_PASS="password_server_a"
export TARGET_DB_PASS="password_server_b"
lunardump migrate \
--source-type postgres --source-host 192.168.1.10 --source-name db_prod --source-password-env SOURCE_DB_PASS \
--target-type postgres --target-host 192.168.1.20 --target-name db_dest --target-password-env TARGET_DB_PASS3. Embedded Command-Driven Web Control Panel & Live Terminal (lunardump ui)
Launch an interactive, real-time web dashboard directly in your browser with a single CLI command:
- Zero-Config Direct Parameter Execution: Input database connection parameters (Engine, Host, Port, Database Name, Username, Password) directly in the UI without requiring pre-existing config files on disk.
- Embedded Interactive Live Terminal Stream (
#migration-terminal): Real-time terminal output window displaying step-by-step progress, timestamps, and live WebSocket log streaming (/ws/logs). - 🧪 Test Dry-Run Parameters: 1-click dry-run testing tool to validate client binaries (
pg_dump,mysqldump,mongodump,pg_restore,mysql) and TCP host connectivity before initiating live migration.
lunardump ui [--port 8080] [--host 127.0.0.1]4. Human-Friendly Daemon & Schedule Runner (--cron)
Automate continuous background backups using human-friendly schedule expressions or standard 5-field cron syntax:
day-2: Daily at 02:00 AMday-14.5/day-14:30: Daily at 14:30week-14.5: Weekly on Sunday at 14:30week-mon-14.5: Weekly on Monday at 14:30month-1-2: 1st of every month at 02:00 AMevery-15m: Every 15 minutes0 2 * * *: Standard cron expression
lunardump run --config config.yaml --cron "day-2"5. Direct Cloud Restore & Injection (lunardump restore)
Stream-decrypt encrypted .enc backup archives directly from cloud storage (S3 / GCS) and inject payload into a target database engine without writing unencrypted files to disk.
⚡ Memory & Performance Benchmark (Memray Profile)
Real-world production benchmark profiling an 8 GB Database Dump over 1+ hour continuous execution using Bloomberg's Memray profiler:
| Metric | Result |
|---|---|
| Database Payload Size | 8 GB Data |
| Execution Duration | 1 Hour 1 Minute 57 Seconds |
| Total Memory Allocations | 5,941,989 allocations |
| Peak RAM Usage |
119.1 MB RAM (Constant |
| Python Allocator | pymalloc |
🔐 Security & Schema Enhancements
- Added
GOOGLE_APPLICATION_CREDENTIALSsupport in generated.envandconfig.example.yamlfor Google Cloud Storage. - Updated Pydantic v2 configuration schema to make
storageoptional for live migration profiles. - Enforced 0600 permission controls on generated encryption key secret files.
🧪 Quality Assurance & Test Coverage
- 68/68 Pytest Unit Tests Passing with 83% Code Coverage.
- Fully updated documentation suite at docs.lunardump.io.