This package contains a single command that can be run manually or via the Heroku Scheduler to pull down the most recent Heroku Postgres backup from another Heroku application and upload it to a specified S3 Bucket.
This work is inspired by similar work done via bash.
- Create a new application on Heroku via
heroku create
- Clone the repo via
git clone [email protected]:srt32/hkpg.git
- Deploy the repo via
git push heroku master
- Set up environment variables as described below
- Setup Heroku Scheduler to run
bin/backup
on whichever interval you choose
The below environment variables are required unless otherwise specified:
- HKPG_HEROKU_AUTH_TOKEN="copy-from-heroku-dashboard"
- HKPG_HEROKU_APP_NAME="my-app-name"
- S3_BUCKET_NAME="your-bucket-name"
- AWS_ACCESS_KEY_ID="key-id"
- AWS_SECRET_KEY="secret-id"
- AWS_REGION="us-east-1" (optional, defaults to us-west-1)
You will need an IAM user with "s3:PutObject" and "s3:PutObjectAcl" permissions on the root:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1504540641000",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::your-bucket-name/*"
]
}
]
}