timonel 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js ADDED
@@ -0,0 +1,407 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const cp = __importStar(require("child_process"));
40
+ function usageAndExit(msg) {
41
+ if (msg)
42
+ console.error(msg);
43
+ console.log([
44
+ 'timonel (tl) - programmatic Helm chart generator',
45
+ '',
46
+ 'Usage:',
47
+ ' tl init <chart-name> Scaffold example at charts/<name>/chart.ts',
48
+ ' tl synth <projectDir> [outDir] Run charts/<...>/chart.ts and write chart',
49
+ ' tl validate <projectDir> Validate chart.ts without generating files',
50
+ ' tl diff <projectDir> <chartDir> Compare generated chart with existing',
51
+ ' tl deploy <projectDir> <release> Synth and deploy with helm install/upgrade',
52
+ ' tl package <chartDir> [outDir] Run `helm package` into outDir (requires Helm)',
53
+ '',
54
+ 'Flags:',
55
+ ' --dry-run Show what would be done without executing',
56
+ ' --silent Suppress output (useful for CI)',
57
+ ' --env <environment> Use environment-specific values',
58
+ ' --set <key=value> Override values (can be used multiple times)',
59
+ '',
60
+ 'Examples:',
61
+ ' tl init my-app',
62
+ ' tl synth charts/my-app charts/my-app/dist',
63
+ ' tl validate charts/my-app',
64
+ ' tl deploy charts/my-app my-release --env prod',
65
+ ' tl synth charts/my-app --dry-run --silent',
66
+ ' tl synth charts/my-app --set replicas=5 --set image.tag=v2.0.0',
67
+ ' tl deploy charts/my-app my-release --set service.port=8080',
68
+ ].join('\n'));
69
+ process.exit(msg ? 1 : 0);
70
+ }
71
+ async function cmdInit(name, silent = false) {
72
+ if (!name)
73
+ usageAndExit('Missing <chart-name>');
74
+ const base = path.join(process.cwd(), 'charts', name);
75
+ const file = path.join(base, 'chart.ts');
76
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
77
+ fs.mkdirSync(base, { recursive: true });
78
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
79
+ if (fs.existsSync(file)) {
80
+ console.error(`File already exists: ${file}`);
81
+ process.exit(1);
82
+ }
83
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
84
+ fs.writeFileSync(file, exampleChartTs(name));
85
+ log(`Scaffold created at ${file}`, silent);
86
+ }
87
+ async function cmdValidate(projectDir, silent = false) {
88
+ if (!projectDir)
89
+ usageAndExit('Missing <projectDir>');
90
+ const proj = projectDir;
91
+ const chartTs = path.isAbsolute(proj)
92
+ ? path.join(proj, 'chart.ts')
93
+ : path.join(process.cwd(), proj, 'chart.ts');
94
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
95
+ if (!fs.existsSync(chartTs)) {
96
+ console.error(`chart.ts not found at ${chartTs}`);
97
+ process.exit(1);
98
+ }
99
+ try {
100
+ // Enable TS runtime
101
+ require('ts-node/register/transpile-only');
102
+ // eslint-disable-next-line security/detect-non-literal-require -- CLI tool needs dynamic module loading
103
+ const mod = require(chartTs);
104
+ const runner = mod.default || mod.run || mod.synth;
105
+ if (typeof runner !== 'function') {
106
+ console.error('chart.ts must export a default/run/synth function');
107
+ process.exit(1);
108
+ }
109
+ log('✓ Chart validation passed', silent);
110
+ }
111
+ catch (error) {
112
+ console.error('✗ Chart validation failed:', error instanceof Error ? error.message : error);
113
+ process.exit(1);
114
+ }
115
+ }
116
+ async function cmdSynth(projectDir, out, flags) {
117
+ if (!projectDir)
118
+ usageAndExit('Missing <projectDir>');
119
+ const proj = projectDir;
120
+ const chartTs = path.isAbsolute(proj)
121
+ ? path.join(proj, 'chart.ts')
122
+ : path.join(process.cwd(), proj, 'chart.ts');
123
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
124
+ if (!fs.existsSync(chartTs)) {
125
+ console.error(`chart.ts not found at ${chartTs}`);
126
+ process.exit(1);
127
+ }
128
+ // Enable TS runtime
129
+ require('ts-node/register/transpile-only');
130
+ // eslint-disable-next-line security/detect-non-literal-require -- CLI tool needs dynamic module loading
131
+ const mod = require(chartTs);
132
+ const runner = mod.default || mod.run || mod.synth;
133
+ if (typeof runner !== 'function') {
134
+ console.error('chart.ts must export a default/run/synth function');
135
+ process.exit(1);
136
+ }
137
+ // Apply --set overrides if provided
138
+ if (flags?.set &&
139
+ Object.keys(flags.set).length > 0 &&
140
+ mod.factory &&
141
+ typeof mod.factory.setValues === 'function') {
142
+ mod.factory.setValues(flags.set);
143
+ }
144
+ const outDir = out || path.join(path.dirname(chartTs), 'dist');
145
+ if (flags?.dryRun) {
146
+ log(`[DRY RUN] Would write chart to ${outDir}`, flags.silent);
147
+ return;
148
+ }
149
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
150
+ fs.mkdirSync(outDir, { recursive: true });
151
+ await Promise.resolve(runner(outDir));
152
+ log(`Chart written to ${outDir}`, flags?.silent);
153
+ }
154
+ async function cmdDiff(projectDir, chartDir, silent = false) {
155
+ if (!projectDir || !chartDir)
156
+ usageAndExit('Missing <projectDir> or <chartDir>');
157
+ const tempDir = path.join(process.cwd(), '.timonel-temp');
158
+ try {
159
+ // Generate chart to temp directory
160
+ await cmdSynth(projectDir, tempDir);
161
+ // Compare with existing chart
162
+ const diffCmd = process.platform === 'win32' ? 'fc' : 'diff';
163
+ const args = process.platform === 'win32' ? ['/N', chartDir, tempDir] : ['-r', chartDir, tempDir];
164
+ log(`> ${diffCmd} ${args.join(' ')}`, silent);
165
+ const res = cp.spawnSync(diffCmd, args, { stdio: 'inherit' });
166
+ if (res.status === 0) {
167
+ log('✓ No differences found', silent);
168
+ }
169
+ else if (res.status === 1) {
170
+ log('⚠ Differences found', silent);
171
+ process.exit(1);
172
+ }
173
+ }
174
+ finally {
175
+ // Cleanup temp directory
176
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
177
+ if (fs.existsSync(tempDir)) {
178
+ fs.rmSync(tempDir, { recursive: true, force: true });
179
+ }
180
+ }
181
+ }
182
+ async function cmdDeploy(projectDir, releaseName, flags) {
183
+ if (!projectDir || !releaseName)
184
+ usageAndExit('Missing <projectDir> or <release>');
185
+ // Check if helm is available
186
+ const helm = process.env['HELM_BIN'] || 'helm';
187
+ try {
188
+ cp.execSync(`${helm} version --short`, { stdio: 'ignore' });
189
+ }
190
+ catch {
191
+ console.error('Helm not found. Install Helm or set HELM_BIN environment variable.');
192
+ process.exit(1);
193
+ }
194
+ const tempDir = path.join(process.cwd(), '.timonel-deploy');
195
+ try {
196
+ // Generate chart
197
+ await cmdSynth(projectDir, tempDir, flags);
198
+ // Check if release exists
199
+ const checkCmd = `${helm} status ${releaseName}`;
200
+ const releaseExists = cp.spawnSync('sh', ['-c', checkCmd], { stdio: 'ignore' }).status === 0;
201
+ // Build helm command
202
+ const action = releaseExists ? 'upgrade' : 'install';
203
+ const args = [action, releaseName, tempDir];
204
+ // Add environment-specific values if specified
205
+ if (flags?.env) {
206
+ const valuesFile = path.join(tempDir, `values-${flags.env}.yaml`);
207
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
208
+ if (fs.existsSync(valuesFile)) {
209
+ args.push('-f', valuesFile);
210
+ }
211
+ }
212
+ if (flags?.dryRun) {
213
+ args.push('--dry-run');
214
+ }
215
+ log(`> ${helm} ${args.join(' ')}`, flags?.silent);
216
+ const res = cp.spawnSync(helm, args, { stdio: 'inherit' });
217
+ if (res.status !== 0) {
218
+ process.exit(res.status ?? 1);
219
+ }
220
+ log(`✓ ${action === 'install' ? 'Deployed' : 'Updated'} release ${releaseName}`, flags?.silent);
221
+ }
222
+ finally {
223
+ // Cleanup temp directory
224
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
225
+ if (fs.existsSync(tempDir)) {
226
+ fs.rmSync(tempDir, { recursive: true, force: true });
227
+ }
228
+ }
229
+ }
230
+ async function cmdPackage(chartDir, out, silent = false) {
231
+ if (!chartDir)
232
+ usageAndExit('Missing <chartDir>');
233
+ const src = path.isAbsolute(chartDir) ? chartDir : path.join(process.cwd(), chartDir);
234
+ const chartYaml = path.join(src, 'Chart.yaml');
235
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
236
+ if (!fs.existsSync(chartYaml)) {
237
+ console.error(`Chart.yaml not found in ${src}`);
238
+ process.exit(1);
239
+ }
240
+ const outDir = out ? (path.isAbsolute(out) ? out : path.join(process.cwd(), out)) : src;
241
+ // eslint-disable-next-line security/detect-non-literal-fs-filename -- CLI tool needs dynamic paths
242
+ fs.mkdirSync(outDir, { recursive: true });
243
+ const helm = process.env['HELM_BIN'] || 'helm';
244
+ const args = ['package', src, '-d', outDir];
245
+ log(`> ${helm} ${args.join(' ')}`, silent);
246
+ const res = cp.spawnSync(helm, args, { stdio: 'inherit' });
247
+ if (res.error) {
248
+ console.error(`Failed to execute Helm: ${res.error.message}`);
249
+ console.error('Ensure Helm is installed and in PATH, or set HELM_BIN.');
250
+ process.exit(1);
251
+ }
252
+ if (res.status !== 0) {
253
+ process.exit(res.status ?? 1);
254
+ }
255
+ }
256
+ function exampleChartTs(name) {
257
+ return `import { ChartFactory } from '../../src';
258
+ import { valuesRef, helm } from '../../src/lib/helm';
259
+
260
+ // Define chart metadata and default/env values
261
+ const factory = new ChartFactory({
262
+ meta: {
263
+ name: '${name}',
264
+ version: '0.1.0',
265
+ description: 'Example Helm chart generated with timonel + cdk8s',
266
+ appVersion: '1.0.0',
267
+ },
268
+ defaultValues: {
269
+ image: { repository: 'nginx', tag: '1.27' },
270
+ replicas: 1,
271
+ service: { port: 80 },
272
+ ingress: { enabled: false, host: 'example.com', className: 'nginx' },
273
+ },
274
+ envValues: {
275
+ dev: { replicas: 1 },
276
+ prod: { replicas: 3 },
277
+ },
278
+ });
279
+
280
+ // Use Helm placeholders in strings passed to cdk8s constructs
281
+ factory.addDeployment({
282
+ name: '${name}',
283
+ image: String(valuesRef('image.repository')) + ':' + String(valuesRef('image.tag')),
284
+ replicas: Number(valuesRef('replicas') as unknown as string) as any,
285
+ containerPort: 80,
286
+ env: {
287
+ APP_NAME: '${name}',
288
+ RELEASE: helm.releaseName,
289
+ },
290
+ });
291
+
292
+ factory.addService({
293
+ name: '${name}',
294
+ ports: [{ port: Number(valuesRef('service.port') as unknown as string) as any, targetPort: 80 }],
295
+ type: 'ClusterIP',
296
+ selector: { app: '${name}' },
297
+ });
298
+
299
+ // Optional ingress with advanced path routing and TLS support
300
+ // Helm conditionals can be embedded as comments; template users can wrap templates with if blocks
301
+ // Here we just generate an ingress; for real conditional generation you could split assets yourself.
302
+ factory.addIngress({
303
+ name: '${name}',
304
+ ingressClassName: String(valuesRef('ingress.className')),
305
+ rules: [{
306
+ host: String(valuesRef('ingress.host')),
307
+ paths: [{
308
+ path: '/',
309
+ pathType: 'Prefix',
310
+ backend: {
311
+ service: {
312
+ name: '${name}',
313
+ port: { number: Number(valuesRef('service.port') as unknown as string) as any },
314
+ },
315
+ },
316
+ }],
317
+ }],
318
+ });
319
+
320
+ export default function run(outDir: string) {
321
+ factory.write(outDir);
322
+ }
323
+ `;
324
+ }
325
+ // eslint-disable-next-line sonarjs/cognitive-complexity -- CLI argument parsing requires multiple conditions
326
+ function parseArgs() {
327
+ /* eslint-disable security/detect-object-injection */
328
+ const argv = process.argv.slice(2);
329
+ const flags = { dryRun: false, silent: false, set: {} };
330
+ const args = [];
331
+ let cmd = '';
332
+ for (let i = 0; i < argv.length; i++) {
333
+ const arg = argv[i];
334
+ if (arg === '--dry-run') {
335
+ flags.dryRun = true;
336
+ }
337
+ else if (arg === '--silent') {
338
+ flags.silent = true;
339
+ }
340
+ else if (arg === '--env' && i + 1 < argv.length) {
341
+ const nextArg = argv[++i];
342
+ if (nextArg)
343
+ flags.env = nextArg;
344
+ }
345
+ else if (arg === '--version-bump' && i + 1 < argv.length) {
346
+ const nextArg = argv[++i];
347
+ if (nextArg)
348
+ flags.versionBump = nextArg;
349
+ }
350
+ else if (arg === '--set' && i + 1 < argv.length) {
351
+ const setValue = argv[++i];
352
+ if (setValue) {
353
+ const [key, value] = setValue.split('=', 2);
354
+ if (key && value !== undefined) {
355
+ flags.set[key] = value;
356
+ }
357
+ }
358
+ }
359
+ else if (arg && !arg.startsWith('--')) {
360
+ if (!cmd) {
361
+ cmd = arg;
362
+ }
363
+ else {
364
+ args.push(arg);
365
+ }
366
+ }
367
+ }
368
+ /* eslint-enable security/detect-object-injection */
369
+ return { cmd, args, flags };
370
+ }
371
+ function log(message, silent = false) {
372
+ if (!silent) {
373
+ console.log(message);
374
+ }
375
+ }
376
+ async function main() {
377
+ const { cmd, args, flags } = parseArgs();
378
+ switch (cmd) {
379
+ case 'init':
380
+ await cmdInit(args[0], flags.silent);
381
+ break;
382
+ case 'validate':
383
+ await cmdValidate(args[0], flags.silent);
384
+ break;
385
+ case 'synth':
386
+ await cmdSynth(args[0], args[1], flags);
387
+ break;
388
+ case 'diff':
389
+ await cmdDiff(args[0], args[1], flags.silent);
390
+ break;
391
+ case 'deploy':
392
+ await cmdDeploy(args[0], args[1], flags);
393
+ break;
394
+ case 'package':
395
+ await cmdPackage(args[0], args[1], flags.silent);
396
+ break;
397
+ case '-h':
398
+ case '--help':
399
+ default:
400
+ usageAndExit();
401
+ }
402
+ }
403
+ main().catch((err) => {
404
+ console.error(err);
405
+ process.exit(1);
406
+ });
407
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './lib/ChartFactory';
2
+ export * from './lib/HelmChartWriter';
3
+ export * from './lib/helm';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lib/ChartFactory"), exports);
18
+ __exportStar(require("./lib/HelmChartWriter"), exports);
19
+ __exportStar(require("./lib/helm"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,wDAAsC;AACtC,6CAA2B"}