Introduction
Snaplet copies a Postgres database, transforming personal information, so that developers can safely code against actual data.
#
The problemAs a developer it's difficult to get an accurate representation of data in production. Coding against actual data clears assumptions and removes ambiguiety when adding features or fixing bugs.
The most common approaches for solving this are to write seed scripts, or to copy the production database.
Seed scripts are tedious to write and maintain, inaccurate and a tiny representation of actual data. Whilst copying from production lacks decent workflows, is slow because you have to copy all the data, and contains personal information.
#
The solutionSnaplet is a self-service workflow that allows developers to copy and transform a database which can be restored into any development environment.
#
Examples- Join a new team, run
snaplet restore
and get a snapshot from the evening before - See a bug in production? run
snaplet restore --new
and restore an "on demand" snapshot in an instant - Write E2E tests again actual data
- Spin up pull request/ deploy preview databases with actual data
- Write data-migrations against actual data
#
The workflow- Snaplet's snapshot workers connect to your database
- The workers copy and transform your data.
- The data is archived, encrypted, and the snapshot is stored in a private bucket.
- The snapshots are restored into development environments with the Snaplet CLI.
#
Getting started...Great, you're still here! Let's create your first snapshot!