UNPKG

kubricate

Version:

A TypeScript framework for building reusable, type-safe Kubernetes infrastructure — without the YAML mess.

40 lines 1.37 kB
import { ConfigLoader } from '../commands/ConfigLoader.js'; import { GenerateCommand } from '../commands/generate/index.js'; import { handlerError } from '../internal/error.js'; import { ConsoleLogger } from '../internal/logger.js'; export const generateCommand = { command: 'generate', describe: 'Generate a stack into yaml files', builder: yargs => yargs.option('outDir', { type: 'string', describe: 'Output directory', default: 'output' }).option('stdout', { type: 'boolean', describe: 'Output to stdout', default: false }).option('filter', { type: 'string', describe: 'Filter stacks or resources by ID (e.g., myStack or myStack.resource)', array: true }), handler: async argv => { const logger = argv.stdout ? new ConsoleLogger('silent') : argv.logger ?? new ConsoleLogger('info'); try { if (argv.stdout === false && argv.filter) { throw new Error('"--filter" option is allowed only when using with "--stdout" option'); } const configLoader = new ConfigLoader(argv, logger); const { config } = await configLoader.initialize({ commandOptions: argv, subject: 'generate' }); await new GenerateCommand(argv, logger).execute(config); } catch (error) { handlerError(error, logger); } } }; //# sourceMappingURL=generate.js.map