https://github.com/boostercloud/rocket-backup-aws-infrastructure
Booster rocket to add backup capabilities to your Booster DynamoDB tables
https://github.com/boostercloud/rocket-backup-aws-infrastructure
Last synced: about 2 months ago
JSON representation
Booster rocket to add backup capabilities to your Booster DynamoDB tables
- Host: GitHub
- URL: https://github.com/boostercloud/rocket-backup-aws-infrastructure
- Owner: boostercloud
- Created: 2021-03-01T08:37:10.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-04-28T13:45:11.000Z (about 5 years ago)
- Last Synced: 2025-08-08T14:14:11.579Z (11 months ago)
- Language: TypeScript
- Size: 440 KB
- Stars: 0
- Watchers: 9
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Backup Booster Rocket for AWS
This rocket adds backup capabilities to your Booster DynamoDB tables using the [point-in-time recovery feature](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/PointInTimeRecovery.html) or the [on-demand one](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BackupRestore.html).
After enabling this option, all DynamoDB tables generated by Booster Framework (read-models, event-stores, subscription store...) will be automatically backed up.
**Disclaimer:** As of the date of developing this rocket, and in the latest CDK version (1.85), the [export to S3 feature](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataExport.HowItWorks.html) is not available. That means that if you want to get advantage of this feature, you'll have to do it by using [the AWS console or AWS CLI](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataExport.Requesting.html), until we can update this rocket with that feature.
## Usage
Install this package as a dev dependency in your Booster project:
```sh
npm install --save-dev @boostercloud/rocket-backup-aws-infrastructure
```
In your Booster config file, pass a `RocketDescriptor` array to the AWS' `Provider` initializer configuring the backup rocket:
```typescript
import { Booster } from '@boostercloud/framework-core'
import { BoosterConfig } from '@boostercloud/framework-types'
import * as AWS from '@boostercloud/framework-provider-aws'
Booster.configure('development', (config: BoosterConfig): void => {
config.appName = 'my-store'
config.provider = Provider([{
packageName: '@boostercloud/rocket-backup-aws-infrastructure',
parameters: {
backupType: 'ON_DEMAND', // or 'POINT_IN_TIME'
// onDemandBackupRules is optional and uses cron notation. Cron params are all optional too.
onDemandBackupRules: {
minute: '30',
hour: '3',
day: '15',
month: '5',
weekDay: '4', // Weekday is also supported, but can't be set along with 'day' parameter
year: '2077',
}
}
}])
})
```