Sign inSign up

clevyr/mongodump-python-lambda

By clevyr

Updated over 6 years ago

Creates mongodump-compatible backups in AWS Lambda

Image
0

10K+

clevyr/mongodump-python-lambda repository overview

Python mongodump

Badge

This is a Docker-compatible Python script to make a dump of a mongo database, puts it in a gzip compressed tarfile, and pushes it to an S3 bucket.

It uses Hashicorp Vault to get the authentication

This is intended to be ran under fargate or a lambda function.

Use lambda if the total database size is less than 256 MB due to disk limitations, otherwise use fargate.

Make sure the lambda or fargate container has IAM access to s3:PutObject and ses:SendEmail

Environment Variables

VariableDetailsExample
VAULT_SECRETthe secret to pull from Hashicorp's Vaultsecret/testing-mongo
VAULT_TOKENthe token used to access the vaults.7NaWxclhAr3EE22Z8guUQXw6
VAULT_HOSTthe vault instance to connect tohttps://vault.domain.com
BUCKET_NAMEThe S3 bucket to upload the backup toexample-dev-backups
MONGO_HOSTThe mongo database to backupdatabase
MONGO_USERNAMEThe mongo username to authenticate withusername
MONGO_PASSWORDThe mongo password to authenticate withpassword
SES_REGIONThe region that SES is working inus-east-1
EMAIL_FROMThe email address to send emails from[email protected]
EMAIL_TOThe list of email addresses to send to, separated by semicolons[email protected];[email protected]
SLACK_WEBHOOKThe webhook url to post to slack on errorhttps://hooks.slack.com/services/x/x/x

Creating a Lambda zip

Our workflow involves Docker, so we use Docker to install Linux-compatible modules. To create the lambda.zip just run ./buildzip.sh

Tag summary

Content type

Image

Digest

Size

54.9 MB

Last updated

over 6 years ago

docker pull clevyr/mongodump-python-lambda