kubricate
Version:
A TypeScript framework for building reusable, type-safe Kubernetes infrastructure — without the YAML mess.
46 lines (45 loc) • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.generateCommand = void 0;
var _ConfigLoader = /*#__PURE__*/require("../commands/ConfigLoader.js");
var _index = /*#__PURE__*/require("../commands/generate/index.js");
var _error = /*#__PURE__*/require("../internal/error.js");
var _logger = /*#__PURE__*/require("../internal/logger.js");
const generateCommand = exports.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 _logger.ConsoleLogger('silent') : argv.logger ?? new _logger.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.ConfigLoader(argv, logger);
const {
config
} = await configLoader.initialize({
commandOptions: argv,
subject: 'generate'
});
await new _index.GenerateCommand(argv, logger).execute(config);
} catch (error) {
(0, _error.handlerError)(error, logger);
}
}
};
//# sourceMappingURL=generate.js.map