MCPcopy Index your code
hub / github.com/Qovery/Replibyte

github.com/Qovery/Replibyte @v0.10.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.10.0 ↗ · + Follow
652 symbols 1,568 edges 63 files 67 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

replibyte logo

Seed Your Development Database With Real Data ⚡️

Replibyte is a blazingly fast tool to seed your databases with your production data while keeping sensitive data safe 🔥

MIT License stable badge stable badge Build and Tests Discord

Prerequisites

  • MacOSX / Linux / Windows
  • Nothing more! Replibyte is stateless and does not require anything special.

Usage

Create a dump

replibyte -c conf.yaml dump create

List all dumps

replibyte -c conf.yaml dump list

type          name                  size    when                    compressed  encrypted
PostgreSQL    dump-1647706359405    154MB   Yesterday at 03:00 am   true        true
PostgreSQL    dump-1647731334517    152MB   2 days ago at 03:00 am  true        true
PostgreSQL    dump-1647734369306    149MB   3 days ago at 03:00 am  true        true

Restore the latest dump in a local container

replibyte -c conf.yaml dump restore local -v latest -i postgres -p 5432

Restore the latest dump in a remote database

replibyte -c conf.yaml dump restore remote -v latest

Features

  • [x] Support data dump and restore for PostgreSQL, MySQL and MongoDB
  • [x] Analyze your data schema 🔎
  • [x] Replace sensitive data with fake data
  • [x] Works on large database (> 10GB)
  • [x] Database Subsetting: Scale down a production database to a more reasonable size 🔥
  • [x] Start a local database with the production data in a single command 🔥
  • [x] On-the-fly data (de)compression (Zlib)
  • [x] On-the-fly data de/encryption (AES-256)
  • [x] Fully stateless (no server, no daemon) and lightweight binary 🍃
  • [x] Use custom transformers

Here are the features we plan to support

  • [ ] Auto-detect and version database schema change
  • [ ] Auto-detect sensitive fields
  • [ ] Auto-clean backed up data

Getting Started

  1. How Replibyte works
  2. Initial setup:
  3. Install
  4. Configure
  5. Step-by-step guides:
  6. Create a dump
  7. Restore a dump
  8. Subset a dump
  9. Delete a dump
  10. Deploy Replibyte
    1. Container
    2. Qovery

Demo

What is RepliByte

Contributing

Check here.

Thanks

Thanks to all people sharing their ideas to make Replibyte better. We do appreciate it. I would also thank AirByte, a great product and a trustworthy source of inspiration for this project.


Replibyte is initiated and maintained by Qovery.

Extension points exported contracts — how you extend this code

Transformer (Interface)
Trait to implement to create a custom Transformer. [9 implementers]
replibyte/src/transformer/mod.rs
Subset (Interface)
(no doc) [1 implementers]
subset/src/lib.rs
LogicalDatabase (Interface)
(no doc)
dump-parser/src/lib.rs
Connector (Interface)
(no doc) [16 implementers]
replibyte/src/connector.rs
Table (Interface)
(no doc)
dump-parser/src/lib.rs
Destination (Interface)
(no doc) [7 implementers]
replibyte/src/destination/mod.rs
Database (Interface)
(no doc)
dump-parser/src/lib.rs
Source (Interface)
(no doc) [6 implementers]
replibyte/src/source/mod.rs

Core symbols most depended-on inside this repo

consume_and_return
called by 33
dump-parser/src/postgres/mod.rs
consume_and_return
called by 31
dump-parser/src/mysql/mod.rs
match_keyword_at_position
called by 31
dump-parser/src/mysql/mod.rs
get_word_value_at_position
called by 24
dump-parser/src/mysql/mod.rs
list_statements
called by 21
dump-parser/src/utils.rs
tokenize
called by 21
dump-parser/src/mysql/mod.rs
substitute_env_var
called by 15
replibyte/src/config.rs
string_value
called by 15
replibyte/src/types.rs

Shape

Function 266
Method 257
Class 88
Enum 29
Interface 12

Languages

Rust99%
TypeScript1%

Modules by API surface

replibyte/src/config.rs46 symbols
replibyte/src/datastore/s3.rs42 symbols
dump-parser/src/mysql/mod.rs40 symbols
dump-parser/src/postgres/mod.rs39 symbols
subset/src/postgres.rs35 symbols
replibyte/src/migration/mod.rs29 symbols
replibyte/src/datastore/local_disk.rs25 symbols
replibyte/src/source/postgres.rs24 symbols
replibyte/src/source/mysql.rs22 symbols
replibyte/src/source/mongodb.rs17 symbols
replibyte/src/datastore/mod.rs17 symbols
replibyte/src/transformer/keep_first_char.rs16 symbols

Datastores touched

rootDatabase · 1 repos
(mongodb)Database · 1 repos
dbDatabase · 1 repos
(mysql)Database · 1 repos
dbDatabase · 1 repos
my_dbDatabase · 1 repos
rootDatabase · 1 repos
dbDatabase · 1 repos

For agents

$ claude mcp add Replibyte \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact