clawsql 0.2.4 → 0.2.6

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.
Files changed (59) hide show
  1. package/README.md +67 -16
  2. package/dist/api/schemas/index.d.ts +20 -20
  3. package/dist/app.d.ts.map +1 -1
  4. package/dist/app.js +12 -0
  5. package/dist/app.js.map +1 -1
  6. package/dist/bin/clawsql.js +0 -0
  7. package/dist/cli/commands/clusters.d.ts +1 -1
  8. package/dist/cli/commands/clusters.d.ts.map +1 -1
  9. package/dist/cli/commands/clusters.js +291 -56
  10. package/dist/cli/commands/clusters.js.map +1 -1
  11. package/dist/cli/commands/templates.d.ts +11 -0
  12. package/dist/cli/commands/templates.d.ts.map +1 -0
  13. package/dist/cli/commands/templates.js +206 -0
  14. package/dist/cli/commands/templates.js.map +1 -0
  15. package/dist/cli/formatter.d.ts +24 -0
  16. package/dist/cli/formatter.d.ts.map +1 -1
  17. package/dist/cli/formatter.js +22 -0
  18. package/dist/cli/formatter.js.map +1 -1
  19. package/dist/cli/index.d.ts.map +1 -1
  20. package/dist/cli/index.js +2 -0
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/utils/args.d.ts +25 -0
  23. package/dist/cli/utils/args.d.ts.map +1 -0
  24. package/dist/cli/utils/args.js +51 -0
  25. package/dist/cli/utils/args.js.map +1 -0
  26. package/dist/config/settings.d.ts +38 -6
  27. package/dist/config/settings.d.ts.map +1 -1
  28. package/dist/config/settings.js +8 -0
  29. package/dist/config/settings.js.map +1 -1
  30. package/dist/core/provisioning/cluster-provisioner.d.ts +99 -0
  31. package/dist/core/provisioning/cluster-provisioner.d.ts.map +1 -0
  32. package/dist/core/provisioning/cluster-provisioner.js +415 -0
  33. package/dist/core/provisioning/cluster-provisioner.js.map +1 -0
  34. package/dist/core/provisioning/index.d.ts +12 -0
  35. package/dist/core/provisioning/index.d.ts.map +1 -0
  36. package/dist/core/provisioning/index.js +21 -0
  37. package/dist/core/provisioning/index.js.map +1 -0
  38. package/dist/core/provisioning/predefined-templates.d.ts +43 -0
  39. package/dist/core/provisioning/predefined-templates.d.ts.map +1 -0
  40. package/dist/core/provisioning/predefined-templates.js +117 -0
  41. package/dist/core/provisioning/predefined-templates.js.map +1 -0
  42. package/dist/core/provisioning/template-manager.d.ts +113 -0
  43. package/dist/core/provisioning/template-manager.d.ts.map +1 -0
  44. package/dist/core/provisioning/template-manager.js +274 -0
  45. package/dist/core/provisioning/template-manager.js.map +1 -0
  46. package/dist/core/routing/proxysql-manager.d.ts +17 -0
  47. package/dist/core/routing/proxysql-manager.d.ts.map +1 -1
  48. package/dist/core/routing/proxysql-manager.js +77 -0
  49. package/dist/core/routing/proxysql-manager.js.map +1 -1
  50. package/dist/types/index.d.ts +52 -0
  51. package/dist/types/index.d.ts.map +1 -1
  52. package/dist/types/index.js +45 -1
  53. package/dist/types/index.js.map +1 -1
  54. package/dist/utils/database.d.ts.map +1 -1
  55. package/dist/utils/database.js +40 -0
  56. package/dist/utils/database.js.map +1 -1
  57. package/docker/Dockerfile.allinone +1 -1
  58. package/docker/Dockerfile.node +1 -1
  59. package/package.json +1 -1
@@ -2,17 +2,19 @@
2
2
  /**
3
3
  * ClawSQL CLI - Clusters Command
4
4
  *
5
- * Manage MySQL clusters.
5
+ * Manage MySQL clusters with template-based provisioning as the primary approach.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.clustersCommand = void 0;
9
+ const index_js_1 = require("../../core/provisioning/index.js");
10
+ const args_js_1 = require("../utils/args.js");
9
11
  /**
10
12
  * Clusters command
11
13
  */
12
14
  exports.clustersCommand = {
13
15
  name: 'clusters',
14
- description: 'List and manage MySQL clusters',
15
- usage: '/clusters <list|create|import|topology|add-replica|remove-replica|promote|sync> [args...]',
16
+ description: 'Manage MySQL clusters (provisioning-first approach)',
17
+ usage: '/clusters [list|provision|deprovision|manual] [args...]',
16
18
  handler: async (args, ctx) => {
17
19
  const formatter = ctx.formatter;
18
20
  if (args.length === 0) {
@@ -24,33 +26,91 @@ exports.clustersCommand = {
24
26
  case 'list':
25
27
  await listClusters(ctx);
26
28
  break;
27
- case 'sync':
28
- await syncCluster(args.slice(1), ctx);
29
+ case 'provision':
30
+ await provisionCluster(args.slice(1), ctx);
31
+ break;
32
+ case 'deprovision':
33
+ await deprovisionCluster(args.slice(1), ctx);
29
34
  break;
35
+ case 'manual':
36
+ await handleManualSubcommand(args.slice(1), ctx);
37
+ break;
38
+ case 'quick':
39
+ await quickProvision(args.slice(1), ctx);
40
+ break;
41
+ // Legacy aliases (deprecated, redirect to manual subcommands)
30
42
  case 'create':
43
+ console.log(formatter.warning('Note: /clusters create is deprecated. Use /clusters manual create for manual setup.'));
31
44
  await createCluster(args.slice(1), ctx);
32
45
  break;
33
46
  case 'import':
47
+ console.log(formatter.warning('Note: /clusters import is deprecated. Use /clusters manual import for manual import.'));
34
48
  await importCluster(args.slice(1), ctx);
35
49
  break;
50
+ case 'sync':
51
+ console.log(formatter.warning('Note: /clusters sync is deprecated. Use /clusters manual sync.'));
52
+ await syncCluster(args.slice(1), ctx);
53
+ break;
36
54
  case 'topology':
37
55
  await showTopology(args.slice(1), ctx);
38
56
  break;
39
57
  case 'add-replica':
58
+ console.log(formatter.warning('Note: /clusters add-replica is deprecated. Use /clusters manual add-replica.'));
40
59
  await addReplica(args.slice(1), ctx);
41
60
  break;
42
61
  case 'remove-replica':
62
+ console.log(formatter.warning('Note: /clusters remove-replica is deprecated. Use /clusters manual remove-replica.'));
43
63
  await removeReplica(args.slice(1), ctx);
44
64
  break;
45
65
  case 'promote':
66
+ console.log(formatter.warning('Note: /clusters promote is deprecated. Use /clusters manual promote.'));
46
67
  await promoteReplica(args.slice(1), ctx);
47
68
  break;
48
69
  default:
49
70
  console.log(formatter.error(`Unknown subcommand: ${subcommand}`));
50
- console.log(formatter.info('Available: list, create, import, topology, add-replica, remove-replica, promote, sync'));
71
+ console.log(formatter.info('Primary commands: list, provision, quick, deprovision'));
72
+ console.log(formatter.info('Manual commands: manual create, manual import, manual sync'));
51
73
  }
52
74
  },
53
75
  };
76
+ /**
77
+ * Handle manual subcommands
78
+ */
79
+ async function handleManualSubcommand(args, ctx) {
80
+ const formatter = ctx.formatter;
81
+ const manualCmd = args[0]?.toLowerCase();
82
+ switch (manualCmd) {
83
+ case 'create':
84
+ await createCluster(args.slice(1), ctx);
85
+ break;
86
+ case 'import':
87
+ await importCluster(args.slice(1), ctx);
88
+ break;
89
+ case 'sync':
90
+ await syncCluster(args.slice(1), ctx);
91
+ break;
92
+ case 'add-replica':
93
+ await addReplica(args.slice(1), ctx);
94
+ break;
95
+ case 'remove-replica':
96
+ await removeReplica(args.slice(1), ctx);
97
+ break;
98
+ case 'promote':
99
+ await promoteReplica(args.slice(1), ctx);
100
+ break;
101
+ default:
102
+ if (manualCmd) {
103
+ console.log(formatter.error(`Unknown manual subcommand: ${manualCmd}`));
104
+ }
105
+ console.log(formatter.header('Manual Cluster Operations'));
106
+ console.log(formatter.info(' /clusters manual create --name <n> --primary <h:p> [--replicas <h:p,...>]'));
107
+ console.log(formatter.info(' /clusters manual import --primary <h:p>'));
108
+ console.log(formatter.info(' /clusters manual sync [--name <cluster>]'));
109
+ console.log(formatter.info(' /clusters manual promote --name <cluster> --host <h:p>'));
110
+ console.log(formatter.info(' /clusters manual add-replica --name <cluster> --host <h:p>'));
111
+ console.log(formatter.info(' /clusters manual remove-replica --name <cluster> --host <h:p>'));
112
+ }
113
+ }
54
114
  /**
55
115
  * List all clusters
56
116
  */
@@ -120,9 +180,9 @@ async function listClusters(ctx) {
120
180
  async function createCluster(args, ctx) {
121
181
  const formatter = ctx.formatter;
122
182
  // Parse arguments
123
- const name = parseStringArg(args, '--name');
124
- const primaryStr = parseStringArg(args, '--primary');
125
- const replicasStr = parseStringArg(args, '--replicas');
183
+ const name = (0, args_js_1.parseStringArg)(args, '--name');
184
+ const primaryStr = (0, args_js_1.parseStringArg)(args, '--primary');
185
+ const replicasStr = (0, args_js_1.parseStringArg)(args, '--replicas');
126
186
  if (!name || !primaryStr) {
127
187
  console.log(formatter.error('Missing required arguments. Usage: /clusters create --name <name> --primary <host:port> [--replicas <host:port,...>]'));
128
188
  console.log(formatter.info(' --name <name> Cluster name'));
@@ -131,23 +191,17 @@ async function createCluster(args, ctx) {
131
191
  return;
132
192
  }
133
193
  // Parse primary
134
- const primaryParts = primaryStr.split(':');
135
- const primaryHost = primaryParts[0];
136
- const primaryPort = primaryParts[1] ? parseInt(primaryParts[1], 10) : 3306;
194
+ const primary = (0, args_js_1.parseHostPort)(primaryStr);
137
195
  // Parse replicas
138
196
  const replicas = [];
139
197
  if (replicasStr) {
140
198
  for (const r of replicasStr.split(',')) {
141
- const parts = r.trim().split(':');
142
- replicas.push({
143
- host: parts[0],
144
- port: parts[1] ? parseInt(parts[1], 10) : 3306,
145
- });
199
+ replicas.push((0, args_js_1.parseHostPort)(r.trim()));
146
200
  }
147
201
  }
148
202
  console.log(formatter.header('Creating Cluster'));
149
203
  console.log(formatter.keyValue('Name', name));
150
- console.log(formatter.keyValue('Primary', `${primaryHost}:${primaryPort}`));
204
+ console.log(formatter.keyValue('Primary', `${primary.host}:${primary.port}`));
151
205
  if (replicas.length > 0) {
152
206
  console.log(formatter.keyValue('Replicas', replicas.map(r => `${r.host}:${r.port}`).join(', ')));
153
207
  }
@@ -155,12 +209,12 @@ async function createCluster(args, ctx) {
155
209
  // Register primary
156
210
  console.log(formatter.info('Registering primary...'));
157
211
  try {
158
- const primarySuccess = await ctx.orchestrator.discoverInstance(primaryHost, primaryPort);
212
+ const primarySuccess = await ctx.orchestrator.discoverInstance(primary.host, primary.port);
159
213
  if (!primarySuccess) {
160
214
  console.log(formatter.error('Failed to register primary instance'));
161
215
  return;
162
216
  }
163
- console.log(formatter.success(`Primary ${primaryHost}:${primaryPort} registered`));
217
+ console.log(formatter.success(`Primary ${primary.host}:${primary.port} registered`));
164
218
  }
165
219
  catch (error) {
166
220
  const message = error instanceof Error ? error.message : String(error);
@@ -194,22 +248,20 @@ async function createCluster(args, ctx) {
194
248
  */
195
249
  async function importCluster(args, ctx) {
196
250
  const formatter = ctx.formatter;
197
- const primaryStr = parseStringArg(args, '--primary');
251
+ const primaryStr = (0, args_js_1.parseStringArg)(args, '--primary');
198
252
  if (!primaryStr) {
199
253
  console.log(formatter.error('Missing primary. Usage: /clusters import --primary <host:port> [--name <name>]'));
200
254
  console.log(formatter.info('This will discover the primary and all connected replicas.'));
201
255
  return;
202
256
  }
203
- const parts = primaryStr.split(':');
204
- const primaryHost = parts[0];
205
- const primaryPort = parts[1] ? parseInt(parts[1], 10) : 3306;
257
+ const primary = (0, args_js_1.parseHostPort)(primaryStr);
206
258
  console.log(formatter.header('Importing Cluster Topology'));
207
- console.log(formatter.keyValue('Primary', `${primaryHost}:${primaryPort}`));
259
+ console.log(formatter.keyValue('Primary', `${primary.host}:${primary.port}`));
208
260
  console.log();
209
261
  // Discover primary - Orchestrator will auto-discover replicas
210
262
  console.log(formatter.info('Discovering topology...'));
211
263
  try {
212
- const success = await ctx.orchestrator.discoverInstance(primaryHost, primaryPort);
264
+ const success = await ctx.orchestrator.discoverInstance(primary.host, primary.port);
213
265
  if (!success) {
214
266
  console.log(formatter.error('Failed to discover primary instance'));
215
267
  return;
@@ -217,7 +269,7 @@ async function importCluster(args, ctx) {
217
269
  // Wait a moment for Orchestrator to discover replicas
218
270
  await new Promise(resolve => setTimeout(resolve, 2000));
219
271
  // Get the discovered topology
220
- const clusterName = await ctx.orchestrator.getClusterForInstance(primaryHost, primaryPort);
272
+ const clusterName = await ctx.orchestrator.getClusterForInstance(primary.host, primary.port);
221
273
  if (!clusterName) {
222
274
  console.log(formatter.warning('Topology discovered but cluster name not resolved'));
223
275
  return;
@@ -239,15 +291,14 @@ async function importCluster(args, ctx) {
239
291
  console.log(formatter.info('View topology with: /clusters topology --name ' + topology.name));
240
292
  }
241
293
  catch (error) {
242
- const message = error instanceof Error ? error.message : String(error);
243
- console.log(formatter.error(`Import failed: ${message}`));
294
+ console.log(formatter.error(`Import failed: ${(0, args_js_1.getErrorMessage)(error)}`));
244
295
  }
245
296
  }
246
297
  /**
247
298
  * Show cluster topology
248
299
  */
249
300
  async function showTopology(args, ctx) {
250
- const name = parseStringArg(args, '--name');
301
+ const name = (0, args_js_1.parseStringArg)(args, '--name');
251
302
  if (!name) {
252
303
  // Show all topologies
253
304
  const views = await ctx.clusterView.getAllMergedViews();
@@ -310,15 +361,13 @@ function displayMergedTopology(view, ctx) {
310
361
  */
311
362
  async function addReplica(args, ctx) {
312
363
  const formatter = ctx.formatter;
313
- const name = parseStringArg(args, '--name');
314
- const hostStr = parseStringArg(args, '--host');
364
+ const name = (0, args_js_1.parseStringArg)(args, '--name');
365
+ const hostStr = (0, args_js_1.parseStringArg)(args, '--host');
315
366
  if (!name || !hostStr) {
316
367
  console.log(formatter.error('Missing arguments. Usage: /clusters add-replica --name <cluster> --host <host:port>'));
317
368
  return;
318
369
  }
319
- const parts = hostStr.split(':');
320
- const host = parts[0];
321
- const port = parts[1] ? parseInt(parts[1], 10) : 3306;
370
+ const { host, port } = (0, args_js_1.parseHostPort)(hostStr);
322
371
  console.log(formatter.info(`Adding replica ${host}:${port} to cluster "${name}"...`));
323
372
  try {
324
373
  // Register the instance with Orchestrator
@@ -332,8 +381,7 @@ async function addReplica(args, ctx) {
332
381
  }
333
382
  }
334
383
  catch (error) {
335
- const message = error instanceof Error ? error.message : String(error);
336
- console.log(formatter.error(`Failed to add replica: ${message}`));
384
+ console.log(formatter.error(`Failed to add replica: ${(0, args_js_1.getErrorMessage)(error)}`));
337
385
  }
338
386
  }
339
387
  /**
@@ -341,15 +389,13 @@ async function addReplica(args, ctx) {
341
389
  */
342
390
  async function removeReplica(args, ctx) {
343
391
  const formatter = ctx.formatter;
344
- const name = parseStringArg(args, '--name');
345
- const hostStr = parseStringArg(args, '--host');
392
+ const name = (0, args_js_1.parseStringArg)(args, '--name');
393
+ const hostStr = (0, args_js_1.parseStringArg)(args, '--host');
346
394
  if (!name || !hostStr) {
347
395
  console.log(formatter.error('Missing arguments. Usage: /clusters remove-replica --name <cluster> --host <host:port>'));
348
396
  return;
349
397
  }
350
- const parts = hostStr.split(':');
351
- const host = parts[0];
352
- const port = parts[1] ? parseInt(parts[1], 10) : 3306;
398
+ const { host, port } = (0, args_js_1.parseHostPort)(hostStr);
353
399
  console.log(formatter.info(`Removing replica ${host}:${port} from cluster "${name}"...`));
354
400
  try {
355
401
  const success = await ctx.orchestrator.forgetInstance(host, port);
@@ -361,8 +407,7 @@ async function removeReplica(args, ctx) {
361
407
  }
362
408
  }
363
409
  catch (error) {
364
- const message = error instanceof Error ? error.message : String(error);
365
- console.log(formatter.error(`Failed to remove replica: ${message}`));
410
+ console.log(formatter.error(`Failed to remove replica: ${(0, args_js_1.getErrorMessage)(error)}`));
366
411
  }
367
412
  }
368
413
  /**
@@ -370,15 +415,13 @@ async function removeReplica(args, ctx) {
370
415
  */
371
416
  async function promoteReplica(args, ctx) {
372
417
  const formatter = ctx.formatter;
373
- const name = parseStringArg(args, '--name');
374
- const hostStr = parseStringArg(args, '--host');
418
+ const name = (0, args_js_1.parseStringArg)(args, '--name');
419
+ const hostStr = (0, args_js_1.parseStringArg)(args, '--host');
375
420
  if (!name || !hostStr) {
376
421
  console.log(formatter.error('Missing arguments. Usage: /clusters promote --name <cluster> --host <host:port>'));
377
422
  return;
378
423
  }
379
- const parts = hostStr.split(':');
380
- const host = parts[0];
381
- const port = parts[1] ? parseInt(parts[1], 10) : 3306;
424
+ const { host, port } = (0, args_js_1.parseHostPort)(hostStr);
382
425
  console.log(formatter.header('Promoting Replica to Primary'));
383
426
  console.log(formatter.keyValue('Cluster', name));
384
427
  console.log(formatter.keyValue('New Primary', `${host}:${port}`));
@@ -422,7 +465,7 @@ async function promoteReplica(args, ctx) {
422
465
  */
423
466
  async function syncCluster(args, ctx) {
424
467
  const formatter = ctx.formatter;
425
- const name = parseStringArg(args, '--name');
468
+ const name = (0, args_js_1.parseStringArg)(args, '--name');
426
469
  if (!name) {
427
470
  console.log(formatter.info('Syncing all clusters to ProxySQL...'));
428
471
  }
@@ -456,13 +499,205 @@ async function syncCluster(args, ctx) {
456
499
  }
457
500
  }
458
501
  /**
459
- * Parse a string argument
502
+ * Provision a cluster from a template
503
+ *
504
+ * This is the PRIMARY method for creating clusters.
505
+ * Templates provide predefined configurations for common use cases.
506
+ */
507
+ async function provisionCluster(args, ctx) {
508
+ const formatter = ctx.formatter;
509
+ const templateManager = (0, index_js_1.getTemplateManager)();
510
+ // If no arguments, show interactive template selection
511
+ if (args.length === 0) {
512
+ await showTemplateSelection(ctx);
513
+ return;
514
+ }
515
+ const templateName = (0, args_js_1.parseStringArg)(args, '--template');
516
+ const clusterName = (0, args_js_1.parseStringArg)(args, '--cluster');
517
+ const hostsStr = (0, args_js_1.parseStringArg)(args, '--hosts');
518
+ if (!templateName || !clusterName || !hostsStr) {
519
+ console.log(formatter.header('Cluster Provisioning'));
520
+ console.log(formatter.info('Provision a cluster from a predefined template.'));
521
+ console.log();
522
+ console.log(formatter.keyValue('Usage', '/clusters provision --template <name> --cluster <name> --hosts <h:p,...>'));
523
+ console.log(formatter.keyValue(' ', '/clusters provision (interactive mode)'));
524
+ console.log(formatter.keyValue(' ', '/clusters quick <template> <hosts> (quick provisioning)'));
525
+ console.log();
526
+ console.log(formatter.header('Predefined Templates'));
527
+ await showPredefinedTemplates(ctx);
528
+ return;
529
+ }
530
+ // Parse hosts
531
+ const hosts = hostsStr.split(',').map((h) => (0, args_js_1.parseHostPort)(h.trim()));
532
+ console.log(formatter.header('Provisioning Cluster'));
533
+ console.log(formatter.keyValue('Template', templateName));
534
+ console.log(formatter.keyValue('Cluster Name', clusterName));
535
+ console.log(formatter.keyValue('Hosts', hosts.map((h) => `${h.host}:${h.port}`).join(', ')));
536
+ console.log();
537
+ // Get or create template (auto-creates predefined templates)
538
+ const template = await templateManager.getOrCreate(templateName);
539
+ if (!template) {
540
+ console.log(formatter.error(`Template "${templateName}" not found`));
541
+ console.log(formatter.info('Available predefined templates:'));
542
+ for (const def of index_js_1.PREDEFINED_TEMPLATES) {
543
+ console.log(formatter.keyValue(` ${def.name}`, `${def.primaryCount + def.replicaCount} instances - ${def.useCase}`));
544
+ }
545
+ return;
546
+ }
547
+ // Validate host count
548
+ const validation = await templateManager.validateHosts(template, hosts);
549
+ if (!validation.valid) {
550
+ console.log(formatter.error(validation.error || 'Invalid host configuration'));
551
+ return;
552
+ }
553
+ console.log(formatter.info('Provisioning cluster...'));
554
+ try {
555
+ const provisioner = (0, index_js_1.getClusterProvisioner)();
556
+ const result = await provisioner.provision(templateName, clusterName, hosts);
557
+ if (result.success) {
558
+ console.log(formatter.success('Cluster provisioned successfully!'));
559
+ console.log(formatter.keyValue(' Cluster ID', result.clusterId));
560
+ console.log(formatter.keyValue(' Assigned Port', result.assignedPort.toString()));
561
+ console.log(formatter.keyValue(' Writer Hostgroup', result.writerHostgroup.toString()));
562
+ console.log(formatter.keyValue(' Reader Hostgroup', result.readerHostgroup.toString()));
563
+ console.log(formatter.keyValue(' Primary', `${result.primary.host}:${result.primary.port}`));
564
+ console.log(formatter.keyValue(' Replicas', result.replicas.map((r) => `${r.host}:${r.port}`).join(', ')));
565
+ console.log();
566
+ console.log(formatter.info(`Connect to this cluster via ProxySQL port ${result.assignedPort}`));
567
+ }
568
+ else {
569
+ console.log(formatter.error(`Provisioning failed: ${result.error}`));
570
+ }
571
+ }
572
+ catch (error) {
573
+ console.log(formatter.error(`Provisioning failed: ${(0, args_js_1.getErrorMessage)(error)}`));
574
+ }
575
+ }
576
+ /**
577
+ * Quick provisioning with minimal arguments
578
+ *
579
+ * Usage: /clusters quick <template> <cluster> <h:p,h:p,...>
580
+ */
581
+ async function quickProvision(args, ctx) {
582
+ const formatter = ctx.formatter;
583
+ const templateManager = (0, index_js_1.getTemplateManager)();
584
+ if (args.length < 3) {
585
+ console.log(formatter.header('Quick Cluster Provisioning'));
586
+ console.log(formatter.info('Quickly provision a cluster from a predefined template.'));
587
+ console.log();
588
+ console.log(formatter.keyValue('Usage', '/clusters quick <template> <cluster> <h:p,h:p,...>'));
589
+ console.log();
590
+ console.log(formatter.header('Available Templates'));
591
+ for (const def of index_js_1.PREDEFINED_TEMPLATES) {
592
+ console.log(formatter.keyValue(` ${def.name}`, `${def.primaryCount + def.replicaCount} nodes - ${def.description}`));
593
+ }
594
+ return;
595
+ }
596
+ const templateName = args[0];
597
+ const clusterName = args[1];
598
+ const hostsStr = args[2];
599
+ // Parse hosts
600
+ const hosts = hostsStr.split(',').map((h) => (0, args_js_1.parseHostPort)(h.trim()));
601
+ // Validate template exists
602
+ const template = await templateManager.getOrCreate(templateName);
603
+ if (!template) {
604
+ console.log(formatter.error(`Unknown template: ${templateName}`));
605
+ console.log(formatter.info('Run /clusters quick to see available templates'));
606
+ return;
607
+ }
608
+ // Validate host count
609
+ const validation = await templateManager.validateHosts(template, hosts);
610
+ if (!validation.valid) {
611
+ console.log(formatter.error(validation.error || 'Invalid hosts'));
612
+ console.log(formatter.info(`Template "${templateName}" requires ${template.primaryCount + template.replicaCount} instances`));
613
+ return;
614
+ }
615
+ console.log(formatter.info(`Provisioning "${clusterName}" from template "${templateName}"...`));
616
+ try {
617
+ const provisioner = (0, index_js_1.getClusterProvisioner)();
618
+ const result = await provisioner.provision(templateName, clusterName, hosts);
619
+ if (result.success) {
620
+ console.log(formatter.success(`Cluster "${clusterName}" ready at port ${result.assignedPort}`));
621
+ }
622
+ else {
623
+ console.log(formatter.error(result.error || 'Provisioning failed'));
624
+ }
625
+ }
626
+ catch (error) {
627
+ console.log(formatter.error((0, args_js_1.getErrorMessage)(error)));
628
+ }
629
+ }
630
+ /**
631
+ * Show interactive template selection
632
+ */
633
+ async function showTemplateSelection(ctx) {
634
+ const formatter = ctx.formatter;
635
+ console.log(formatter.header('Cluster Provisioning'));
636
+ console.log(formatter.info('Provision a MySQL cluster from a predefined template.'));
637
+ console.log();
638
+ console.log(formatter.header('Available Templates'));
639
+ await showPredefinedTemplates(ctx);
640
+ console.log();
641
+ console.log(formatter.info('Usage: /clusters provision --template <name> --cluster <name> --hosts <h:p,...>'));
642
+ console.log(formatter.info('Quick: /clusters quick <template> <cluster> <h:p,...>'));
643
+ }
644
+ /**
645
+ * Show predefined templates table
646
+ */
647
+ async function showPredefinedTemplates(ctx) {
648
+ const formatter = ctx.formatter;
649
+ const templateManager = (0, index_js_1.getTemplateManager)();
650
+ const existingTemplates = await templateManager.list();
651
+ const existingNames = new Set(existingTemplates.map((t) => t.name));
652
+ console.log(formatter.predefinedTemplatesTable(index_js_1.PREDEFINED_TEMPLATES, existingNames));
653
+ }
654
+ /**
655
+ * Deprovision a cluster
460
656
  */
461
- function parseStringArg(args, name) {
462
- const idx = args.indexOf(name);
463
- if (idx === -1 || idx + 1 >= args.length)
464
- return undefined;
465
- return args[idx + 1];
657
+ async function deprovisionCluster(args, ctx) {
658
+ const formatter = ctx.formatter;
659
+ const clusterName = (0, args_js_1.parseStringArg)(args, '--cluster') || args[0];
660
+ const force = args.includes('--force');
661
+ if (!clusterName) {
662
+ console.log(formatter.error('Missing cluster name. Usage: /clusters deprovision <cluster> [--force]'));
663
+ return;
664
+ }
665
+ // Check cluster exists
666
+ const provisioner = (0, index_js_1.getClusterProvisioner)();
667
+ const metadata = await provisioner.getClusterMetadata(clusterName);
668
+ if (!metadata) {
669
+ console.log(formatter.error(`Cluster "${clusterName}" not found`));
670
+ return;
671
+ }
672
+ console.log(formatter.header('Deprovisioning Cluster'));
673
+ console.log(formatter.keyValue('Cluster', clusterName));
674
+ console.log(formatter.keyValue('Status', metadata.provisionStatus));
675
+ if (metadata.assignedPort) {
676
+ console.log(formatter.keyValue('Port', metadata.assignedPort.toString()));
677
+ }
678
+ if (metadata.writerHostgroup && metadata.readerHostgroup) {
679
+ console.log(formatter.keyValue('Hostgroups', `${metadata.writerHostgroup}/${metadata.readerHostgroup}`));
680
+ }
681
+ console.log();
682
+ if (!force) {
683
+ console.log(formatter.warning('This will remove the cluster, stop replication, and clean up ProxySQL configuration.'));
684
+ console.log(formatter.info('Use --force to confirm deprovisioning'));
685
+ return;
686
+ }
687
+ console.log(formatter.info('Deprovisioning cluster...'));
688
+ try {
689
+ const result = await provisioner.deprovision(clusterName);
690
+ if (result.success) {
691
+ console.log(formatter.success(`Cluster "${clusterName}" deprovisioned successfully`));
692
+ }
693
+ else {
694
+ console.log(formatter.error(`Deprovisioning failed: ${result.error}`));
695
+ }
696
+ }
697
+ catch (error) {
698
+ const message = error instanceof Error ? error.message : String(error);
699
+ console.log(formatter.error(`Deprovisioning failed: ${message}`));
700
+ }
466
701
  }
467
702
  exports.default = exports.clustersCommand;
468
703
  //# sourceMappingURL=clusters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clusters.js","sourceRoot":"","sources":["../../../src/cli/commands/clusters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clusters.js","sourceRoot":"","sources":["../../../src/cli/commands/clusters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * ClawSQL - Templates CLI Command
3
+ *
4
+ * Manage topology templates for cluster provisioning.
5
+ */
6
+ import { Command } from '../registry.js';
7
+ /**
8
+ * Templates command
9
+ */
10
+ export declare const templatesCommand: Command;
11
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAc,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,OA6B9B,CAAC"}