UNPKG

datastore-backup

Version:

Programatic Backup of Google Cloud Datastore

47 lines 3.76 kB
#!/usr/bin/env ts-node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /* * backup.ts * * Created by Dr. Maximillian Dornseif 2021-12-21 in datastore-backup 1.0.0 * Copyright (c) 2021 Dr. Maximillian Dornseif */ const datastore_1 = require("@google-cloud/datastore"); const argparse_1 = require("argparse"); const ora_1 = __importDefault(require("ora")); const datastore_backup_1 = require("../lib/datastore-backup"); // eslint-disable-next-line @typescript-eslint/no-var-requires const { version } = require('../../package.json'); const parser = new argparse_1.ArgumentParser({ description: 'Backup Datastore.', epilog: 'Please provide `GOOGLE_APPLICATION_CREDENTIALS` via the Environment!', add_help: true, }); parser.add_argument('-v', '--version', { action: 'version', version }); parser.add_argument('projectId', { help: 'Datastore project ID' }); parser.add_argument('bucket', { help: 'GCS bucket to store backup' }); parser.add_argument('-d', '--backupDir', { default: 'bak', help: 'prefix/dir within bucket (default: "%(default)s)"', }); parser.add_argument('-n', '--backupName', { help: 'name of backup (default: autogenerated)', }); parser.add_argument('-s', '--namespace', { help: 'datastore namespace' }); const args = parser.parse_args(); async function main() { const datastore = new datastore_1.Datastore({ projectId: args.projectId, namespace: args.namespace, }); //); // const spinner = (0, ora_1.default)().start('🌈 Unicorns! ✨🌈'); await (0, datastore_backup_1.dumpAllKinds)(datastore, args.bucket, args.backupName, args.backupDir, spinner); return ''; } main().then(console.log).catch(console.error); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jpbi9iYWNrdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0E7Ozs7O0dBS0c7QUFDSCx1REFBb0Q7QUFDcEQsdUNBQTBDO0FBQzFDLDhDQUFzQjtBQUV0Qiw4REFBdUQ7QUFFdkQsOERBQThEO0FBQzlELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUVsRCxNQUFNLE1BQU0sR0FBRyxJQUFJLHlCQUFjLENBQUM7SUFDaEMsV0FBVyxFQUFFLG1CQUFtQjtJQUNoQyxNQUFNLEVBQ0osc0VBQXNFO0lBQ3hFLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQztBQUNuRSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUM7QUFDdEUsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO0lBQ3ZDLE9BQU8sRUFBRSxLQUFLO0lBQ2QsSUFBSSxFQUFFLG1EQUFtRDtDQUMxRCxDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7SUFDeEMsSUFBSSxFQUFFLHlDQUF5QztDQUNoRCxDQUFDLENBQUM7QUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBRTFFLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUNqQyxLQUFLLFVBQVUsSUFBSTtJQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLHFCQUFTLENBQUM7UUFDOUIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1FBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztLQUMxQixDQUFDLENBQUMsQ0FBQyxJQUFJO0lBQ1IsRUFBRTtJQUVGLE1BQU0sT0FBTyxHQUFHLElBQUEsYUFBRyxHQUFFLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFaEQsTUFBTSxJQUFBLCtCQUFZLEVBQ2hCLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFNBQVMsRUFDZCxPQUFPLENBQ1IsQ0FBQztJQUVGLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyJ9