UNPKG

filip

Version:

Manage differential snapshots for zfs pools

53 lines (51 loc) 2.5 kB
var env = process.env; var optimist = require('optimist'); var send = require('../snapshot-send'); var argv = optimist .usage('Send a snapshot to remote storage.\nUsage: filip snapshot-send [options]') .describe('zfs-bin', 'Path to zfs binary') .describe('zfs-sudo', 'Use sudo when performing ZFS operations (env: FILIP_ZFS_SUDO)') .describe('pool-uuid', 'Your unique filip pool uuid. (env: FILIP_POOL_UUID)') .describe('pg-conn', 'Postgres connection string (env: FILIP_PG_CONN)') .describe('log-file-path', 'Winston file transport path (env: FILIP_LOG_FILE_PATH)') .describe('log-file-size', 'Winston file transport size in MB (env: FILIP_LOG_FILE_SIZE)') .describe('log-file-limit', 'Winston file transport rotate limit (env: FILIP_LOG_FILE_LIMIT)') .describe('snapshot-uuid', 'Optional snapshot uuid to sync (env: FILIP_SNAPSHOT_UUID)') .describe('aws-key', 'AWS Key (env: FILIP_AWS_KEY)') .describe('aws-secret', 'AWS Secret (env: FILIP_AWS_SECRET)') .describe('aws-region', 'AWS region for your bucket (env: FILIP_AWS_REGION)') .describe('s3-bucket', 'S3 Bucket Name (env: FILIP_S3_BUCKET)') .describe('s3-part-size', 'S3 part size for multi-part uploads (env: FILIP_S3_PART_SIZE') .describe('s3-part-concurrency', 'S3 parts to send concurrently (env: FILIP_S3_PART_CONCURRENCY)') .describe('gpg-id', 'GPG ID to encrypt your backups (env: FILIP_GPG_ID)') .describe('gpg-bin', 'Path to gpg binary') .describe('lzop-bin', 'Path to lzop binary') .default('zfs-bin', 'zfs') .default('zfs-sudo', true) .default('pool-uuid', env.FILIP_POOL_UUID) .default('pg-conn', env.FILIP_PG_CONN) .default('log-file-path', env.FILIP_LOG_FILE_PATH) .default('log-file-size', env.FILIP_LOG_FILE_SIZE) .default('log-file-limit', env.FILIP_LOG_FILE_LIMIT) .default('aws-key', env.FILIP_AWS_KEY) .default('aws-secret', env.FILIP_AWS_SECRET) .default('aws-region', env.FILIP_AWS_REGION) .default('s3-bucket', env.FILIP_S3_BUCKET) .default('s3-part-size', env.FILIP_S3_PART_SIZE) .default('s3-part-concurrency', env.FILIP_S3_PART_CONCURRENCY) .default('gpg-id', env.FILIP_GPG_ID) .default('gpg-bin', 'gpg') .default('lzop-bin', 'lzop') .demand('aws-key') .demand('aws-secret') .demand('pool-uuid') .demand('pg-conn') .demand('s3-bucket') .wrap(120) .argv; module.exports = function() { send(argv, function(err) { if(err) return process.exit(1); return process.exit(0); }); };