Exports Northflank NATIVE backups to S3 compatible buckets.
Ensure there's a backup schedule for native backups:
{
"backupType": "dump",
"scheduling": {
"interval": "daily",
"minute": [
0
],
"hour": [
6
],
"day": [
0
]
},
"compressionType": "zstd",
"retentionTime": 60
},Add a CronJob for the task:
{
"kind": "CronJob",
"spec": {
"name": "backup-exporter-production",
"billing": {
"deploymentPlan": "nf-compute-200"
},
"backoffLimit": 0,
"runOnSourceChange": "never",
"activeDeadlineSeconds": 1800,
"deployment": {
"docker": {
"configType": "default"
},
"buildpack": {
"configType": "default"
},
"storage": {
"ephemeralStorage": {
"storageSize": 1024
}
},
"vcs": {
"projectUrl": "https://github.com/clocklimited/backup-exporter",
"projectType": "github",
"accountLogin": "clocklimited",
"projectBranch": "master"
}
},
"buildSettings": {
"dockerfile": {
"buildEngine": "kaniko",
"dockerFilePath": "/Dockerfile",
"dockerWorkDir": "/"
}
},
"runtimeEnvironment": {
},
"schedule": "0 12 * * *",
"concurrencyPolicy": "forbid",
"healthChecks": [],
"buildConfiguration": {
"pathIgnoreRules": [],
"isAllowList": false,
"ciIgnoreFlagsEnabled": false
},
"buildArguments": {},
"disabledCI": false,
"suspended": false
}
}The above examples set the native dump to occur at 0600, and then the export at 1200.
In the CronJob runtimeEnvironment, you can override the database that needs exporting using the DATABASE_ADDON_ID variable.
Once added, create a Secret Group in the UI with the following keys:
| Key | Use |
|---|---|
| BACKUP_EXPORTER_TOKEN | A NF token restricted to the project with project:manage:read, addon:general:read |
| S3_ENDPOINT | If using 3rd party AWS providers (i.e. Cloudflare R2), provide this |
| S3_ACCESS_KEY_ID | AWS access key |
| S3_SECRET_ACCESS_KEY | AWS secret access key |
| S3_REGION | AWS region |
| S3_BUCKET | AWS bucket |
Copy-pastable ENV format:
BACKUP_EXPORTER_TOKEN=""
S3_ENDPOINT=""
S3_ACCESS_KEY_ID=""
S3_SECRET_ACCESS_KEY=""
S3_REGION=""
S3_BUCKET=""
Under Advanced, limit the secret group to the backup-exporter-production job.