UNPKG

@salto-io/da-playa

Version:

Deploy locks management (CLI and Slackbot)

52 lines (45 loc) 1.45 kB
import { Command } from 'commander' import { Tag, Hash } from '../version' import { Data } from '../data' import { jobCommands, RunningJobsModelDetails } from './jobs' import { lockCommands, LockModelDetails } from './locks' import { log, prettify } from './common' const program = new Command('da-playa') .description('Your friendly build and deploy helper') program.version(`${Tag}-${Hash}`) const { DAPLAYA_AWS_REGION: envDynamoDBRegion, } = process.env program.addCommand(jobCommands(envDynamoDBRegion)) program.addCommand(lockCommands(envDynamoDBRegion)) program .command('init') .description('Creates DynamoDB Tables') .option( '--dynamoDBRegion <dynamoDBRegion>', 'DynamoDB Region (Optional, Taken from DAPLAYA_AWS_REGION if set)', envDynamoDBRegion, ) .action(async options => { const lock = Data({ modelName: LockModelDetails.ModelName, model: LockModelDetails.Model, ...options, }) const runningJobs = Data({ modelName: RunningJobsModelDetails.ModelName, model: RunningJobsModelDetails.Model, ...options, }) try { await lock.init() await runningJobs.init() } catch (err) { log(`${prettify.error('Error:')} Unable to create DynamoDb table:\n${prettify.error(err)}`) process.exit(1) } log(prettify.misc('DynamoDB Tables up and working!')) }) export const cli = (args: string[]): void => { program.parse(args) }