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.
- package/README.md +67 -16
- package/dist/api/schemas/index.d.ts +20 -20
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +12 -0
- package/dist/app.js.map +1 -1
- package/dist/bin/clawsql.js +0 -0
- package/dist/cli/commands/clusters.d.ts +1 -1
- package/dist/cli/commands/clusters.d.ts.map +1 -1
- package/dist/cli/commands/clusters.js +291 -56
- package/dist/cli/commands/clusters.js.map +1 -1
- package/dist/cli/commands/templates.d.ts +11 -0
- package/dist/cli/commands/templates.d.ts.map +1 -0
- package/dist/cli/commands/templates.js +206 -0
- package/dist/cli/commands/templates.js.map +1 -0
- package/dist/cli/formatter.d.ts +24 -0
- package/dist/cli/formatter.d.ts.map +1 -1
- package/dist/cli/formatter.js +22 -0
- package/dist/cli/formatter.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/args.d.ts +25 -0
- package/dist/cli/utils/args.d.ts.map +1 -0
- package/dist/cli/utils/args.js +51 -0
- package/dist/cli/utils/args.js.map +1 -0
- package/dist/config/settings.d.ts +38 -6
- package/dist/config/settings.d.ts.map +1 -1
- package/dist/config/settings.js +8 -0
- package/dist/config/settings.js.map +1 -1
- package/dist/core/provisioning/cluster-provisioner.d.ts +99 -0
- package/dist/core/provisioning/cluster-provisioner.d.ts.map +1 -0
- package/dist/core/provisioning/cluster-provisioner.js +415 -0
- package/dist/core/provisioning/cluster-provisioner.js.map +1 -0
- package/dist/core/provisioning/index.d.ts +12 -0
- package/dist/core/provisioning/index.d.ts.map +1 -0
- package/dist/core/provisioning/index.js +21 -0
- package/dist/core/provisioning/index.js.map +1 -0
- package/dist/core/provisioning/predefined-templates.d.ts +43 -0
- package/dist/core/provisioning/predefined-templates.d.ts.map +1 -0
- package/dist/core/provisioning/predefined-templates.js +117 -0
- package/dist/core/provisioning/predefined-templates.js.map +1 -0
- package/dist/core/provisioning/template-manager.d.ts +113 -0
- package/dist/core/provisioning/template-manager.d.ts.map +1 -0
- package/dist/core/provisioning/template-manager.js +274 -0
- package/dist/core/provisioning/template-manager.js.map +1 -0
- package/dist/core/routing/proxysql-manager.d.ts +17 -0
- package/dist/core/routing/proxysql-manager.d.ts.map +1 -1
- package/dist/core/routing/proxysql-manager.js +77 -0
- package/dist/core/routing/proxysql-manager.js.map +1 -1
- package/dist/types/index.d.ts +52 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +45 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/database.d.ts.map +1 -1
- package/dist/utils/database.js +40 -0
- package/dist/utils/database.js.map +1 -1
- package/docker/Dockerfile.allinone +1 -1
- package/docker/Dockerfile.node +1 -1
- 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: '
|
|
15
|
-
usage: '/clusters
|
|
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 '
|
|
28
|
-
await
|
|
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('
|
|
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
|
|
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
|
-
|
|
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', `${
|
|
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(
|
|
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 ${
|
|
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
|
|
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', `${
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
*
|
|
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
|
|
462
|
-
const
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
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"}
|