clawsql 0.2.4 → 0.2.7

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 (69) hide show
  1. package/README.md +110 -260
  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/raw-input.d.ts +9 -1
  23. package/dist/cli/raw-input.d.ts.map +1 -1
  24. package/dist/cli/raw-input.js +146 -10
  25. package/dist/cli/raw-input.js.map +1 -1
  26. package/dist/cli/repl.d.ts.map +1 -1
  27. package/dist/cli/repl.js +94 -29
  28. package/dist/cli/repl.js.map +1 -1
  29. package/dist/cli/ui/components.d.ts.map +1 -1
  30. package/dist/cli/ui/components.js +21 -5
  31. package/dist/cli/ui/components.js.map +1 -1
  32. package/dist/cli/utils/args.d.ts +25 -0
  33. package/dist/cli/utils/args.d.ts.map +1 -0
  34. package/dist/cli/utils/args.js +51 -0
  35. package/dist/cli/utils/args.js.map +1 -0
  36. package/dist/config/settings.d.ts +38 -6
  37. package/dist/config/settings.d.ts.map +1 -1
  38. package/dist/config/settings.js +8 -0
  39. package/dist/config/settings.js.map +1 -1
  40. package/dist/core/provisioning/cluster-provisioner.d.ts +99 -0
  41. package/dist/core/provisioning/cluster-provisioner.d.ts.map +1 -0
  42. package/dist/core/provisioning/cluster-provisioner.js +415 -0
  43. package/dist/core/provisioning/cluster-provisioner.js.map +1 -0
  44. package/dist/core/provisioning/index.d.ts +12 -0
  45. package/dist/core/provisioning/index.d.ts.map +1 -0
  46. package/dist/core/provisioning/index.js +21 -0
  47. package/dist/core/provisioning/index.js.map +1 -0
  48. package/dist/core/provisioning/predefined-templates.d.ts +43 -0
  49. package/dist/core/provisioning/predefined-templates.d.ts.map +1 -0
  50. package/dist/core/provisioning/predefined-templates.js +117 -0
  51. package/dist/core/provisioning/predefined-templates.js.map +1 -0
  52. package/dist/core/provisioning/template-manager.d.ts +113 -0
  53. package/dist/core/provisioning/template-manager.d.ts.map +1 -0
  54. package/dist/core/provisioning/template-manager.js +274 -0
  55. package/dist/core/provisioning/template-manager.js.map +1 -0
  56. package/dist/core/routing/proxysql-manager.d.ts +17 -0
  57. package/dist/core/routing/proxysql-manager.d.ts.map +1 -1
  58. package/dist/core/routing/proxysql-manager.js +77 -0
  59. package/dist/core/routing/proxysql-manager.js.map +1 -1
  60. package/dist/types/index.d.ts +52 -0
  61. package/dist/types/index.d.ts.map +1 -1
  62. package/dist/types/index.js +45 -1
  63. package/dist/types/index.js.map +1 -1
  64. package/dist/utils/database.d.ts.map +1 -1
  65. package/dist/utils/database.js +40 -0
  66. package/dist/utils/database.js.map +1 -1
  67. package/docker/Dockerfile.allinone +1 -1
  68. package/docker/Dockerfile.node +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,113 @@
1
+ /**
2
+ * ClawSQL - Template Manager
3
+ *
4
+ * Manages topology templates for cluster provisioning.
5
+ */
6
+ import { TopologyTemplate, ReplicationMode } from '../../types/index.js';
7
+ import { PredefinedTemplateDefinition } from './predefined-templates.js';
8
+ /**
9
+ * Template creation options
10
+ */
11
+ export interface TemplateCreateOptions {
12
+ name: string;
13
+ description?: string;
14
+ primaryCount?: number;
15
+ replicaCount?: number;
16
+ replicationMode?: ReplicationMode;
17
+ settings?: TopologyTemplate['settings'];
18
+ }
19
+ /**
20
+ * Template update options
21
+ */
22
+ export interface TemplateUpdateOptions {
23
+ name?: string;
24
+ description?: string;
25
+ primaryCount?: number;
26
+ replicaCount?: number;
27
+ replicationMode?: ReplicationMode;
28
+ settings?: TopologyTemplate['settings'];
29
+ }
30
+ /**
31
+ * Host validation result
32
+ */
33
+ export interface HostValidationResult {
34
+ valid: boolean;
35
+ error?: string;
36
+ }
37
+ /**
38
+ * Host specification for provisioning
39
+ */
40
+ export interface HostSpec {
41
+ host: string;
42
+ port: number;
43
+ }
44
+ /**
45
+ * Template Manager
46
+ *
47
+ * Handles CRUD operations for topology templates.
48
+ */
49
+ export declare class TemplateManager {
50
+ private db;
51
+ private initialized;
52
+ /**
53
+ * List all templates
54
+ */
55
+ list(): Promise<TopologyTemplate[]>;
56
+ /**
57
+ * Get a template by name
58
+ */
59
+ get(name: string): Promise<TopologyTemplate | null>;
60
+ /**
61
+ * Get a template by ID
62
+ */
63
+ getById(templateId: string): Promise<TopologyTemplate | null>;
64
+ /**
65
+ * Create a new template
66
+ */
67
+ create(options: TemplateCreateOptions): Promise<TopologyTemplate>;
68
+ /**
69
+ * Update an existing template
70
+ */
71
+ update(name: string, updates: TemplateUpdateOptions): Promise<TopologyTemplate | null>;
72
+ /**
73
+ * Delete a template
74
+ */
75
+ delete(name: string): Promise<boolean>;
76
+ /**
77
+ * Validate hosts against template requirements
78
+ */
79
+ validateHosts(templateOrName: string | TopologyTemplate, hosts: HostSpec[]): Promise<HostValidationResult>;
80
+ /**
81
+ * Initialize predefined templates
82
+ *
83
+ * Creates predefined benchmarking templates if they don't already exist.
84
+ * This is called during platform startup.
85
+ */
86
+ initializePredefinedTemplates(): Promise<number>;
87
+ /**
88
+ * Get predefined template definitions
89
+ *
90
+ * Returns the list of predefined template definitions with use cases.
91
+ */
92
+ getPredefinedTemplateDefinitions(): PredefinedTemplateDefinition[];
93
+ /**
94
+ * Check if a template name is predefined
95
+ */
96
+ isPredefined(name: string): boolean;
97
+ /**
98
+ * Get template or create predefined if name matches
99
+ *
100
+ * If the name matches a predefined template and it doesn't exist,
101
+ * it will be created automatically.
102
+ */
103
+ getOrCreate(name: string): Promise<TopologyTemplate | null>;
104
+ /**
105
+ * Convert database row to TopologyTemplate object
106
+ */
107
+ private rowToTemplate;
108
+ }
109
+ /**
110
+ * Get the template manager instance
111
+ */
112
+ export declare function getTemplateManager(): TemplateManager;
113
+ //# sourceMappingURL=template-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-manager.d.ts","sourceRoot":"","sources":["../../../src/core/provisioning/template-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,gBAAgB,EAChB,eAAe,EAEhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAIL,4BAA4B,EAC7B,MAAM,2BAA2B,CAAC;AAInC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,WAAW,CAAS;IAE5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAgBzC;;OAEG;IACG,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAkBzD;;OAEG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAkBnE;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqCvE;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAgC5F;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB5C;;OAEG;IACG,aAAa,CACjB,cAAc,EAAE,MAAM,GAAG,gBAAgB,EACzC,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,oBAAoB,CAAC;IA6BhC;;;;;OAKG;IACG,6BAA6B,IAAI,OAAO,CAAC,MAAM,CAAC;IAiDtD;;;;OAIG;IACH,gCAAgC,IAAI,4BAA4B,EAAE;IAIlE;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAInC;;;;;OAKG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAmCjE;;OAEG;IACH,OAAO,CAAC,aAAa;CA+BtB;AAKD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAKpD"}
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ /**
3
+ * ClawSQL - Template Manager
4
+ *
5
+ * Manages topology templates for cluster provisioning.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.TemplateManager = void 0;
9
+ exports.getTemplateManager = getTemplateManager;
10
+ const logger_js_1 = require("../../utils/logger.js");
11
+ const database_js_1 = require("../../utils/database.js");
12
+ const index_js_1 = require("../../types/index.js");
13
+ const crypto_1 = require("crypto");
14
+ const predefined_templates_js_1 = require("./predefined-templates.js");
15
+ const logger = (0, logger_js_1.getLogger)('template-manager');
16
+ /**
17
+ * Template Manager
18
+ *
19
+ * Handles CRUD operations for topology templates.
20
+ */
21
+ class TemplateManager {
22
+ db = (0, database_js_1.getDatabase)();
23
+ initialized = false;
24
+ /**
25
+ * List all templates
26
+ */
27
+ async list() {
28
+ const rows = await this.db.query('SELECT * FROM topology_templates ORDER BY created_at DESC');
29
+ return rows.map((row) => this.rowToTemplate(row));
30
+ }
31
+ /**
32
+ * Get a template by name
33
+ */
34
+ async get(name) {
35
+ const row = await this.db.get('SELECT * FROM topology_templates WHERE name = ?', [name]);
36
+ if (!row)
37
+ return null;
38
+ return this.rowToTemplate(row);
39
+ }
40
+ /**
41
+ * Get a template by ID
42
+ */
43
+ async getById(templateId) {
44
+ const row = await this.db.get('SELECT * FROM topology_templates WHERE template_id = ?', [templateId]);
45
+ if (!row)
46
+ return null;
47
+ return this.rowToTemplate(row);
48
+ }
49
+ /**
50
+ * Create a new template
51
+ */
52
+ async create(options) {
53
+ // Check if template name already exists
54
+ const existing = await this.get(options.name);
55
+ if (existing) {
56
+ throw new Error(`Template "${options.name}" already exists`);
57
+ }
58
+ const templateId = (0, crypto_1.randomUUID)();
59
+ const settingsJson = options.settings ? JSON.stringify(options.settings) : null;
60
+ await this.db.execute(`INSERT INTO topology_templates
61
+ (template_id, name, description, primary_count, replica_count, replication_mode, settings)
62
+ VALUES (?, ?, ?, ?, ?, ?, ?)`, [
63
+ templateId,
64
+ options.name,
65
+ options.description ?? null,
66
+ options.primaryCount ?? 1,
67
+ options.replicaCount ?? 2,
68
+ options.replicationMode ?? index_js_1.ReplicationMode.ASYNC,
69
+ settingsJson,
70
+ ]);
71
+ logger.info({ templateId, name: options.name }, 'Template created');
72
+ return (0, index_js_1.createTopologyTemplate)(templateId, {
73
+ name: options.name,
74
+ description: options.description,
75
+ primaryCount: options.primaryCount ?? 1,
76
+ replicaCount: options.replicaCount ?? 2,
77
+ replicationMode: options.replicationMode ?? index_js_1.ReplicationMode.ASYNC,
78
+ settings: options.settings,
79
+ });
80
+ }
81
+ /**
82
+ * Update an existing template
83
+ */
84
+ async update(name, updates) {
85
+ const existing = await this.get(name);
86
+ if (!existing)
87
+ return null;
88
+ // If no updates provided, return existing template
89
+ if (Object.keys(updates).length === 0) {
90
+ return existing;
91
+ }
92
+ const settingsJson = updates.settings ? JSON.stringify(updates.settings) : null;
93
+ await this.db.execute(`UPDATE topology_templates
94
+ SET name = ?, description = ?, primary_count = ?, replica_count = ?, replication_mode = ?, settings = ?
95
+ WHERE template_id = ?`, [
96
+ updates.name ?? existing.name,
97
+ updates.description ?? existing.description ?? null,
98
+ updates.primaryCount ?? existing.primaryCount,
99
+ updates.replicaCount ?? existing.replicaCount,
100
+ updates.replicationMode ?? existing.replicationMode,
101
+ settingsJson ?? (existing.settings ? JSON.stringify(existing.settings) : null),
102
+ existing.templateId,
103
+ ]);
104
+ logger.info({ templateId: existing.templateId, updates }, 'Template updated');
105
+ // Return updated template
106
+ return this.get(updates.name ?? name);
107
+ }
108
+ /**
109
+ * Delete a template
110
+ */
111
+ async delete(name) {
112
+ const existing = await this.get(name);
113
+ if (!existing)
114
+ return false;
115
+ // Check if template is being used by any clusters
116
+ const clusters = await this.db.query('SELECT cluster_id FROM cluster_metadata WHERE template_id = ?', [existing.templateId]);
117
+ if (clusters.length > 0) {
118
+ throw new Error(`Template "${name}" is being used by ${clusters.length} cluster(s)`);
119
+ }
120
+ await this.db.execute('DELETE FROM topology_templates WHERE template_id = ?', [existing.templateId]);
121
+ logger.info({ templateId: existing.templateId, name }, 'Template deleted');
122
+ return true;
123
+ }
124
+ /**
125
+ * Validate hosts against template requirements
126
+ */
127
+ async validateHosts(templateOrName, hosts) {
128
+ // If templateOrName is a string, fetch the template
129
+ const template = typeof templateOrName === 'string' ? await this.get(templateOrName) : templateOrName;
130
+ if (!template) {
131
+ return { valid: false, error: `Template "${templateOrName}" not found` };
132
+ }
133
+ const requiredCount = template.primaryCount + template.replicaCount;
134
+ const hostCount = hosts.length;
135
+ if (hostCount < requiredCount) {
136
+ return {
137
+ valid: false,
138
+ error: `Template requires ${requiredCount} instances but only ${hostCount} provided`,
139
+ };
140
+ }
141
+ if (hostCount > requiredCount) {
142
+ return {
143
+ valid: false,
144
+ error: `Template requires exactly ${requiredCount} instances but ${hostCount} provided`,
145
+ };
146
+ }
147
+ return { valid: true };
148
+ }
149
+ /**
150
+ * Initialize predefined templates
151
+ *
152
+ * Creates predefined benchmarking templates if they don't already exist.
153
+ * This is called during platform startup.
154
+ */
155
+ async initializePredefinedTemplates() {
156
+ // Skip if already initialized
157
+ if (this.initialized) {
158
+ return 0;
159
+ }
160
+ // Batch check existing templates with a single query
161
+ const predefinedNames = predefined_templates_js_1.PREDEFINED_TEMPLATES.map((t) => t.name);
162
+ const existingRows = await this.db.query(`SELECT name FROM topology_templates WHERE name IN (${predefinedNames.map(() => '?').join(', ')})`, predefinedNames);
163
+ const existingNames = new Set(existingRows.map((r) => r.name));
164
+ let created = 0;
165
+ for (const definition of predefined_templates_js_1.PREDEFINED_TEMPLATES) {
166
+ if (existingNames.has(definition.name)) {
167
+ continue;
168
+ }
169
+ const template = (0, predefined_templates_js_1.createPredefinedTemplate)(definition);
170
+ await this.db.execute(`INSERT INTO topology_templates
171
+ (template_id, name, description, primary_count, replica_count, replication_mode, settings)
172
+ VALUES (?, ?, ?, ?, ?, ?, ?)`, [
173
+ template.templateId,
174
+ template.name,
175
+ template.description ?? null,
176
+ template.primaryCount,
177
+ template.replicaCount,
178
+ template.replicationMode,
179
+ template.settings ? JSON.stringify(template.settings) : null,
180
+ ]);
181
+ logger.info({ name: template.name, templateId: template.templateId }, 'Predefined template created');
182
+ created++;
183
+ }
184
+ this.initialized = true;
185
+ if (created > 0) {
186
+ logger.info({ count: created }, 'Predefined templates initialized');
187
+ }
188
+ return created;
189
+ }
190
+ /**
191
+ * Get predefined template definitions
192
+ *
193
+ * Returns the list of predefined template definitions with use cases.
194
+ */
195
+ getPredefinedTemplateDefinitions() {
196
+ return predefined_templates_js_1.PREDEFINED_TEMPLATES;
197
+ }
198
+ /**
199
+ * Check if a template name is predefined
200
+ */
201
+ isPredefined(name) {
202
+ return (0, predefined_templates_js_1.isPredefinedTemplate)(name);
203
+ }
204
+ /**
205
+ * Get template or create predefined if name matches
206
+ *
207
+ * If the name matches a predefined template and it doesn't exist,
208
+ * it will be created automatically.
209
+ */
210
+ async getOrCreate(name) {
211
+ // First try to get existing template
212
+ const existing = await this.get(name);
213
+ if (existing) {
214
+ return existing;
215
+ }
216
+ // Check if it's a predefined template
217
+ const definition = predefined_templates_js_1.PREDEFINED_TEMPLATES.find((t) => t.name === name);
218
+ if (!definition) {
219
+ return null;
220
+ }
221
+ // Create only this one template directly
222
+ const template = (0, predefined_templates_js_1.createPredefinedTemplate)(definition);
223
+ await this.db.execute(`INSERT INTO topology_templates
224
+ (template_id, name, description, primary_count, replica_count, replication_mode, settings)
225
+ VALUES (?, ?, ?, ?, ?, ?, ?)`, [
226
+ template.templateId,
227
+ template.name,
228
+ template.description ?? null,
229
+ template.primaryCount,
230
+ template.replicaCount,
231
+ template.replicationMode,
232
+ template.settings ? JSON.stringify(template.settings) : null,
233
+ ]);
234
+ logger.info({ name: template.name, templateId: template.templateId }, 'Predefined template created on demand');
235
+ return template;
236
+ }
237
+ /**
238
+ * Convert database row to TopologyTemplate object
239
+ */
240
+ rowToTemplate(row) {
241
+ let settings = undefined;
242
+ if (row.settings) {
243
+ try {
244
+ settings = JSON.parse(row.settings);
245
+ }
246
+ catch (error) {
247
+ logger.warn({ templateId: row.template_id, settings: row.settings }, 'Failed to parse template settings JSON');
248
+ }
249
+ }
250
+ return (0, index_js_1.createTopologyTemplate)(row.template_id, {
251
+ name: row.name,
252
+ description: row.description ?? undefined,
253
+ primaryCount: row.primary_count,
254
+ replicaCount: row.replica_count,
255
+ replicationMode: row.replication_mode,
256
+ settings,
257
+ createdAt: row.created_at,
258
+ updatedAt: row.updated_at,
259
+ });
260
+ }
261
+ }
262
+ exports.TemplateManager = TemplateManager;
263
+ // Singleton instance
264
+ let templateManager = null;
265
+ /**
266
+ * Get the template manager instance
267
+ */
268
+ function getTemplateManager() {
269
+ if (!templateManager) {
270
+ templateManager = new TemplateManager();
271
+ }
272
+ return templateManager;
273
+ }
274
+ //# sourceMappingURL=template-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-manager.js","sourceRoot":"","sources":["../../../src/core/provisioning/template-manager.ts"],"names":[],"mappings":"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"}
@@ -148,6 +148,23 @@ export declare class ProxySQLManager {
148
148
  * Get the MySQL port that clients connect to
149
149
  */
150
150
  getMySQLPort(): number;
151
+ /**
152
+ * Execute a raw SQL query on ProxySQL admin interface
153
+ * Public method for external use
154
+ */
155
+ executeRaw(sql: string, params?: unknown[]): Promise<unknown[]>;
156
+ /**
157
+ * Get listening ports from ProxySQL
158
+ */
159
+ getListeningPorts(): Promise<number[]>;
160
+ /**
161
+ * Add a listening port to ProxySQL
162
+ */
163
+ addListeningPort(port: number): Promise<boolean>;
164
+ /**
165
+ * Remove a listening port from ProxySQL
166
+ */
167
+ removeListeningPort(port: number): Promise<boolean>;
151
168
  /**
152
169
  * Get the ProxySQL host
153
170
  */
@@ -1 +1 @@
1
- {"version":3,"file":"proxysql-manager.d.ts","sourceRoot":"","sources":["../../../src/core/routing/proxysql-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxysql-manager.d.ts","sourceRoot":"","sources":["../../../src/core/routing/proxysql-manager.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,10 @@ class ProxySQLManager {
32
32
  mysqlPort: 6033,
33
33
  adminUser: 'clawsql',
34
34
  adminPassword: 'clawsql',
35
+ portRangeStart: 6033,
36
+ portRangeEnd: 6050,
37
+ hostgroupRangeStart: 10,
38
+ hostgroupRangeEnd: 200,
35
39
  };
36
40
  }
37
41
  /**
@@ -468,6 +472,79 @@ class ProxySQLManager {
468
472
  getMySQLPort() {
469
473
  return this.settings.mysqlPort;
470
474
  }
475
+ /**
476
+ * Execute a raw SQL query on ProxySQL admin interface
477
+ * Public method for external use
478
+ */
479
+ async executeRaw(sql, params = []) {
480
+ return this.execute(sql, params);
481
+ }
482
+ /**
483
+ * Get listening ports from ProxySQL
484
+ */
485
+ async getListeningPorts() {
486
+ try {
487
+ const rows = await this.execute("SELECT variable_value FROM global_variables WHERE variable_name = 'mysql-interfaces'");
488
+ const value = rows[0]?.variable_value;
489
+ if (!value)
490
+ return [this.settings.mysqlPort];
491
+ // Parse ports from interfaces like "0.0.0.0:6033;0.0.0.0:6034"
492
+ const ports = value.split(';').map((iface) => {
493
+ const parts = iface.trim().split(':');
494
+ return parseInt(parts[parts.length - 1], 10);
495
+ }).filter((p) => !isNaN(p));
496
+ return ports.length > 0 ? ports : [this.settings.mysqlPort];
497
+ }
498
+ catch (error) {
499
+ logger.error({ error }, 'Failed to get listening ports');
500
+ return [this.settings.mysqlPort];
501
+ }
502
+ }
503
+ /**
504
+ * Add a listening port to ProxySQL
505
+ */
506
+ async addListeningPort(port) {
507
+ try {
508
+ const currentPorts = await this.getListeningPorts();
509
+ if (currentPorts.includes(port)) {
510
+ logger.debug({ port }, 'Port already listening');
511
+ return true;
512
+ }
513
+ const newPorts = [...currentPorts, port];
514
+ const interfaces = newPorts.map((p) => `0.0.0.0:${p}`).join(';');
515
+ await this.execute("UPDATE global_variables SET variable_value = ? WHERE variable_name = 'mysql-interfaces'", [interfaces]);
516
+ await this.execute('LOAD MYSQL VARIABLES TO RUNTIME');
517
+ logger.info({ port, interfaces }, 'Added listening port');
518
+ return true;
519
+ }
520
+ catch (error) {
521
+ logger.error({ error, port }, 'Failed to add listening port');
522
+ return false;
523
+ }
524
+ }
525
+ /**
526
+ * Remove a listening port from ProxySQL
527
+ */
528
+ async removeListeningPort(port) {
529
+ try {
530
+ const currentPorts = await this.getListeningPorts();
531
+ if (!currentPorts.includes(port)) {
532
+ return true;
533
+ }
534
+ const newPorts = currentPorts.filter((p) => p !== port);
535
+ const interfaces = newPorts.length > 0
536
+ ? newPorts.map((p) => `0.0.0.0:${p}`).join(';')
537
+ : `0.0.0.0:${this.settings.mysqlPort}`;
538
+ await this.execute("UPDATE global_variables SET variable_value = ? WHERE variable_name = 'mysql-interfaces'", [interfaces]);
539
+ await this.execute('LOAD MYSQL VARIABLES TO RUNTIME');
540
+ logger.info({ port }, 'Removed listening port');
541
+ return true;
542
+ }
543
+ catch (error) {
544
+ logger.error({ error, port }, 'Failed to remove listening port');
545
+ return false;
546
+ }
547
+ }
471
548
  /**
472
549
  * Get the ProxySQL host
473
550
  */
@@ -1 +1 @@
1
- {"version":3,"file":"proxysql-manager.js","sourceRoot":"","sources":["../../../src/core/routing/proxysql-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxysql-manager.js","sourceRoot":"","sources":["../../../src/core/routing/proxysql-manager.ts"],"names":[],"mappings":"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"}