Payload is a simple tool for working with production data in your local environment.

Related tags

Utilities payload
Overview

Payload

Payload is a simple tool for working with production data in your local environment.

What problem does it solve?

You're working with Cloud SQL in production, but you want to avoid connecting directly (or through cloud_sql_proxy) to your production database lest you accidentally run some destructive commands, or expose customer data. Both of which are considerd bad practice.

payload allows you to export the production database, trim customer data — such as by truncating users or running other SQL cleanup commands — before downloading the data to your machine and loading it into your local database for testing/local development.

Or you need to inspect real customer data, in which case you can use IAM to grant permission for a given engineer to a specific customer scope, which will not be cleaned up in the export.

This has some neat usecases:

  • Test upcoming database migrations against real data
  • Help debug customer issues without connecting to production
  • Run analytics against production without interfering with real data or running replicas
  • Create personal staging environments with real data so that you don't need to manage large collections of seed data that invariably becomes unmaintained

Security

payload is built around IAM in Google Cloud. At the very least you will need to create a service account for it to run as which can export databases, write to Cloud Storage, and fetch objects.

To enable data scrubbing, permission to launch a spot instance is required, which will load your data into a temporary database, scrub certain data, then export the remaining data.

Usage

NAME:
   payload - Do it in production, but locally.

USAGE:
   main [global options] command [command options] [arguments...]

VERSION:
   0.0.1

DESCRIPTION:
   Payload is a simple tool for working with production data in your local environment.

COMMANDS:
   create   Dumps the database and stores it on Cloud Storage
   pull     Pulls the latest database dump, creating it if not already stored
   sync     Loads the latest database dump into your local database, pulling it if not already loaded
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help (default: false)
   --version, -v  print the version (default: false)
You might also like...
A simple API for computing diffs of your documents over the time built on a scalable technology stack.

Diffme API WIP - this is an API to compute diffs between documents. It serves as a way to easily create audit logs for documents in your system, think

A simple tool to auto remove unused imports in rust

rust_strip A simple tool to remove unused imports in RUST. Call Cargo build/test Process the warning logs of unused imports Then replace the involved

A simple business indicator tool that uses a sliding window to detect whether the indicator exceeds the threshold

melon A simple business indicator tool that uses a sliding window to detect whether the indicator exceeds the threshold Usage //create the metric //th

Serial-locate - A simple tool for searching the COM port

serial-locate A simple tool for searching the COM port Usage Direct query serial

Simple arc-dps utililty tool

arc-dps-launcher The base idea of this project is to provide a simple method of updating the GuildWars2 tool arcdps, a gw2 dps meter (and general comb

Go-generics-simple-doubly-linked-list - A simple doubly linked list implemented using generics (Golang)

Welcome to Go-Generics-Simple-Doubly-Linked-List! Hi, This repository contains a

A set of instrumentation features for collecting relevant tracing data as well as secure an application

Go Agent goagent provides a set of instrumentation features for collecting relevant tracing data as well as secure an application by blocking requests

Quickly query a Terraform provider's data type.

Terraform Query Quickly query a Terraform provider's data type. Such as a GitHub repository: ➜ ~ tfq github_repository full_name hashicorp/terraform |

A parser for Ontario's baby name data
A parser for Ontario's baby name data

obnp What? A parser for Ontario's baby name data Why? I wanted to see if a specific name existed in both the male and female datasets. This tool is mo

Owner
Ivan Vanderbyl
Co-founder and CPO at @airheartdev
Ivan Vanderbyl
This project provides some working examples using Go and Hotwire Turbo.

hotwire-golang-website This project provides some working examples using Go the hotwire/turbo library published by basecamp.

Mark Wolfe 153 Dec 29, 2022
CUE utilities and helpers for working with tree based objects in any combination of CUE, Yaml, and JSON.

Cuetils CUE utilities and helpers for working with tree based objects in any combination of CUE, Yaml, and JSON. Using As a command line binary The cu

_Hofstadter 65 Dec 24, 2022
Quicat -- a socat-like utility for working with QUIC

Quicat -- a socat-like utility for working with QUIC This is a utility that I occasionally use for building secure-enough tunnels on flaky connections

Pavel Khlebovich 0 Feb 6, 2022
tenv detects environment variable not using t.Setenv

tenv is analyzer that detects using os.Setenv instead of t.Setenv since Go1.17

sivchari 14 Nov 8, 2022
A local snippet manager in Go

Snip A local snippet manager :D Snip provides simple CLI for saving and copying links for emojis, gifs or whatever you want. Requirements Install go i

Felipe Mariotti 4 May 24, 2021
Govalid is a data validation library that can validate most data types supported by golang

Govalid is a data validation library that can validate most data types supported by golang. Custom validators can be used where the supplied ones are not enough.

null 61 Apr 22, 2022
Visualize your Go data structures using graphviz

memviz How would you rather debug a data structure? "Pretty" printed Visual graph (*test.fib)(0xc04204a5a0)({ index: (int) 5, prev: (*test.fib)(0xc0

Bradley Kemp 1.3k Dec 22, 2022
✔️ Get random data for your app from a third-party source.

Random Data Securely produced random data for application testing. FAQ What would i use this data for? You can use this information to test your apps

ComplexOrganizations 1 Jul 5, 2022
Hotswap provides a solution for reloading your go code without restarting your server, interrupting or blocking any ongoing procedure.

Hotswap provides a solution for reloading your go code without restarting your server, interrupting or blocking any ongoing procedure. Hotswap is built upon the plugin mechanism.

Edwin 174 Jan 5, 2023
encLib is a simple golang package for quickly encoding and decoding string data in hex

encLib is a simple golang package for quickly encoding and decoding string data in hex

null 0 Nov 1, 2021