Skip to content

What is Jagad?

Jagad is an open-source database backup tool written in Go that streams database backups directly to S3/R2-compatible object storage with zero disk overhead. It supports PostgreSQL, MySQL, and MariaDB.

Unlike traditional backup tools that dump to disk or buffer in memory, Jagad uses a pure streaming pipeline architecture — pg_dump stdout → gzip → encrypt → S3 — connected via io.Pipe chains that consume approximately 64KB of memory regardless of database size.

The Problem

Database backups are critical infrastructure, yet most tools suffer from one or more of these problems:

  • Disk space contention — backups are written to local disk before being uploaded, competing with production data
  • Memory blowup — large databases OOM the backup process when buffered in memory
  • Complex configuration — stitching together pg_dump, gzip, openssl, and s3cmd with shell scripts
  • No retention management — cleaning up old backups is manual or requires separate cron jobs
  • No notifications — backup failures go unnoticed until it's too late
  • No unified interface — different databases need different tools with different config formats

How Jagad Solves It

Jagad addresses all of these problems in a single binary with a Stripe-inspired web UI:

ProblemSolution
Disk contentionPure streaming pipeline — no temp files, no disk spooling
Memory blowup~64KB peak memory via io.Pipe chains
Complex configSingle YAML config file or manage via Web UI
RetentionAutomatic tiered retention (hourly/daily/weekly/monthly)
NotificationsMulti-channel: Telegram, Discord, Slack, email, webhooks
Multiple DBsUnified interface for PostgreSQL, MySQL, MariaDB

Key Features

Streaming Pipeline

Process databases of any size with just ~64KB memory. The dump output streams directly through compression (gzip) and optional encryption (AES-256-GCM) to S3 multipart upload. No temp files, no arbitrary size limits, no OOM risk.

Multiple Database Support

  • PostgreSQL — uses pg_dump for full backups, WAL-based via pgBackRest for incremental
  • MySQL — uses mysqldump for full backups, page-level via Percona XtraBackup for incremental
  • MariaDB — uses mariadb-dump / mysqldump for full backups, page-level via Mariabackup for incremental

Full & Incremental Backups

Choose between full logical dumps or fast incremental backups. Incremental backups use database-native tools (pgBackRest, Percona XtraBackup, Mariabackup) for page-level change tracking. Jagad orchestrates them through a unified interface.

AES-256-GCM Encryption

End-to-end encryption with streaming chunk-level framing. Uses Argon2id key derivation from a master key. Counter-based nonces ensure each chunk uses a unique nonce. Authentication tags and proper EOF marking guarantee integrity.

S3 & R2 Object Storage

Any S3-compatible object storage — AWS S3, Cloudflare R2, MinIO, DigitalOcean Spaces, Backblaze B2, Google Cloud Storage. Backups are uploaded as multipart uploads for reliability with large data.

Cron-Based Scheduling

Define backup schedules using standard cron expressions. Jagad automatically enforces retention policies after each backup, deleting old backups that exceed configured limits.

Multi-Channel Notifications

Get notified on backup success, failure, or warnings via Telegram, Discord, Slack, email, or custom webhooks. Notification messages include database name, size, duration, and log excerpts.

Beautiful Web UI

Stripe-inspired dashboard with real-time metrics, backup history, schedule management, connection configuration, and restore workflows. Primary color: #635BFF.

Concurrent Backup Execution

Run up to 3 backups concurrently with built-in semaphore limiting. Each backup runs in its own goroutine with a dedicated streaming pipeline.

Target Audience

Jagad is built for:

  • DevOps engineers who need reliable, automated database backups with minimal infrastructure
  • System administrators managing multiple database servers across PostgreSQL, MySQL, and MariaDB
  • Startups and small teams who want production-grade backups without enterprise tooling costs
  • Platform engineers building internal database-as-a-service platforms
  • Self-hosters who want encrypted, off-site backups for their personal projects

License

Jagad is released under the Apache 2.0 License — free to use, modify, and distribute.

Released under the Apache 2.0 License.