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
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,10 @@ const ProxySQLSettingsSchema = zod_1.z.object({
40
40
  mysqlPort: zod_1.z.number().int().default(6033),
41
41
  adminUser: zod_1.z.string().default('clawsql'),
42
42
  adminPassword: zod_1.z.string().default('clawsql'),
43
+ portRangeStart: zod_1.z.number().int().min(1024).max(65535).default(6033),
44
+ portRangeEnd: zod_1.z.number().int().min(1024).max(65535).default(6050),
45
+ hostgroupRangeStart: zod_1.z.number().int().default(10),
46
+ hostgroupRangeEnd: zod_1.z.number().int().default(200),
43
47
  });
44
48
  const PrometheusSettingsSchema = zod_1.z.object({
45
49
  url: zod_1.z.string().url().default('http://localhost:9090'),
@@ -160,6 +164,10 @@ function loadSettings() {
160
164
  mysqlPort: getEnvInt('PROXYSQL_MYSQL_PORT'),
161
165
  adminUser: getEnvString('PROXYSQL_ADMIN_USER'),
162
166
  adminPassword: getEnvString('PROXYSQL_ADMIN_PASSWORD'),
167
+ portRangeStart: getEnvInt('PROXYSQL_PORT_RANGE_START'),
168
+ portRangeEnd: getEnvInt('PROXYSQL_PORT_RANGE_END'),
169
+ hostgroupRangeStart: getEnvInt('PROXYSQL_HOSTGROUP_RANGE_START'),
170
+ hostgroupRangeEnd: getEnvInt('PROXYSQL_HOSTGROUP_RANGE_END'),
163
171
  },
164
172
  prometheus: {
165
173
  url: getEnvString('PROMETHEUS_URL'),
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/config/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * ClawSQL - Cluster Provisioner
3
+ *
4
+ * Provisioning engine for template-based cluster setup.
5
+ */
6
+ import { HostSpec } from './template-manager.js';
7
+ import { ClusterMetadata } from '../../types/index.js';
8
+ /**
9
+ * Provisioning result
10
+ */
11
+ export interface ProvisionResult {
12
+ success: boolean;
13
+ clusterId: string;
14
+ clusterName: string;
15
+ assignedPort: number;
16
+ writerHostgroup: number;
17
+ readerHostgroup: number;
18
+ primary: HostSpec;
19
+ replicas: HostSpec[];
20
+ error?: string;
21
+ }
22
+ /**
23
+ * Cluster Provisioner
24
+ *
25
+ * Handles template-based cluster provisioning including:
26
+ * - Port allocation
27
+ * - Hostgroup allocation
28
+ * - Instance registration
29
+ * - Replication setup
30
+ * - ProxySQL configuration
31
+ */
32
+ export declare class ClusterProvisioner {
33
+ private templateManager;
34
+ private db;
35
+ /**
36
+ * Provision a cluster from a template
37
+ */
38
+ provision(templateName: string, clusterName: string, hosts: HostSpec[]): Promise<ProvisionResult>;
39
+ /**
40
+ * Allocate port and hostgroups for a new cluster
41
+ */
42
+ private allocateResources;
43
+ /**
44
+ * Register instances with Orchestrator
45
+ */
46
+ private registerInstances;
47
+ /**
48
+ * Setup replication between primary and replicas
49
+ */
50
+ private setupReplication;
51
+ /**
52
+ * Configure ProxySQL with cluster hostgroups and port
53
+ */
54
+ private configureProxySQL;
55
+ /**
56
+ * Create replication hostgroups in ProxySQL
57
+ */
58
+ private createReplicationHostgroups;
59
+ /**
60
+ * Add servers to ProxySQL hostgroups
61
+ */
62
+ private addServersToProxySQL;
63
+ /**
64
+ * Save cluster metadata
65
+ */
66
+ private saveMetadata;
67
+ /**
68
+ * Update cluster metadata
69
+ */
70
+ private updateMetadata;
71
+ /**
72
+ * Save provisioned instances
73
+ */
74
+ private saveProvisionedInstances;
75
+ /**
76
+ * Create a failed result
77
+ */
78
+ private failResult;
79
+ /**
80
+ * Get cluster metadata
81
+ */
82
+ getClusterMetadata(clusterId: string): Promise<ClusterMetadata | null>;
83
+ /**
84
+ * List all provisioned clusters
85
+ */
86
+ listClusters(): Promise<ClusterMetadata[]>;
87
+ /**
88
+ * Deprovision a cluster
89
+ */
90
+ deprovision(clusterId: string): Promise<{
91
+ success: boolean;
92
+ error?: string;
93
+ }>;
94
+ }
95
+ /**
96
+ * Get the cluster provisioner instance
97
+ */
98
+ export declare function getClusterProvisioner(): ClusterProvisioner;
99
+ //# sourceMappingURL=cluster-provisioner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster-provisioner.d.ts","sourceRoot":"","sources":["../../../src/core/provisioning/cluster-provisioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,EAAsB,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,eAAe,EAGhB,MAAM,sBAAsB,CAAC;AAS9B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD;;;;;;;;;GASG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,EAAE,CAAiB;IAE3B;;OAEG;IACG,SAAS,CACb,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,eAAe,CAAC;IAmE3B;;OAEG;YACW,iBAAiB;IAqC/B;;OAEG;YACW,iBAAiB;IAoB/B;;OAEG;YACW,gBAAgB;IAoF9B;;OAEG;YACW,iBAAiB;IA+B/B;;OAEG;YACW,2BAA2B;IA4BzC;;OAEG;YACW,oBAAoB;IAkClC;;OAEG;YACW,YAAY;IAgB1B;;OAEG;YACW,cAAc;IAgB5B;;OAEG;YACW,wBAAwB;IAsBtC;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAyB5E;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAyBhD;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA2DpF;AAKD;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAK1D"}
@@ -0,0 +1,415 @@
1
+ "use strict";
2
+ /**
3
+ * ClawSQL - Cluster Provisioner
4
+ *
5
+ * Provisioning engine for template-based cluster setup.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.ClusterProvisioner = void 0;
12
+ exports.getClusterProvisioner = getClusterProvisioner;
13
+ const promise_1 = __importDefault(require("mysql2/promise"));
14
+ const logger_js_1 = require("../../utils/logger.js");
15
+ const database_js_1 = require("../../utils/database.js");
16
+ const settings_js_1 = require("../../config/settings.js");
17
+ const topology_js_1 = require("../discovery/topology.js");
18
+ const proxysql_manager_js_1 = require("../routing/proxysql-manager.js");
19
+ const template_manager_js_1 = require("./template-manager.js");
20
+ const index_js_1 = require("../../types/index.js");
21
+ const logger = (0, logger_js_1.getLogger)('cluster-provisioner');
22
+ // Timeouts for orchestrator and replication operations
23
+ const ORCHESTRATOR_DISCOVERY_DELAY_MS = 1000; // Wait for primary discovery
24
+ const TOPOLOGY_SYNC_DELAY_MS = 2000; // Wait for topology discovery
25
+ const REPLICATION_VERIFY_DELAY_MS = 2000; // Wait for replication to start
26
+ /**
27
+ * Cluster Provisioner
28
+ *
29
+ * Handles template-based cluster provisioning including:
30
+ * - Port allocation
31
+ * - Hostgroup allocation
32
+ * - Instance registration
33
+ * - Replication setup
34
+ * - ProxySQL configuration
35
+ */
36
+ class ClusterProvisioner {
37
+ templateManager = (0, template_manager_js_1.getTemplateManager)();
38
+ db = (0, database_js_1.getDatabase)();
39
+ /**
40
+ * Provision a cluster from a template
41
+ */
42
+ async provision(templateName, clusterName, hosts) {
43
+ const settings = (0, settings_js_1.getSettings)();
44
+ logger.info({ templateName, clusterName, hostCount: hosts.length }, 'Starting cluster provisioning');
45
+ const template = await this.templateManager.get(templateName);
46
+ if (!template) {
47
+ return this.failResult(clusterName, `Template "${templateName}" not found`);
48
+ }
49
+ const validation = await this.templateManager.validateHosts(template, hosts);
50
+ if (!validation.valid) {
51
+ return this.failResult(clusterName, validation.error);
52
+ }
53
+ const clusterId = clusterName;
54
+ const metadata = (0, index_js_1.createClusterMetadata)(clusterId, {
55
+ provisionStatus: index_js_1.ProvisionStatus.PROVISIONING,
56
+ templateId: template.templateId,
57
+ });
58
+ await this.saveMetadata(metadata);
59
+ try {
60
+ const allocation = await this.allocateResources(clusterId);
61
+ metadata.assignedPort = allocation.port;
62
+ metadata.writerHostgroup = allocation.writerHostgroup;
63
+ metadata.readerHostgroup = allocation.readerHostgroup;
64
+ metadata.provisionStatus = index_js_1.ProvisionStatus.PROVISIONING;
65
+ await this.updateMetadata(metadata);
66
+ const primary = hosts[0];
67
+ const replicas = hosts.slice(1);
68
+ await this.registerInstances(primary, replicas);
69
+ await this.setupReplication(primary, replicas, settings.mysql);
70
+ await this.configureProxySQL(clusterId, primary, replicas, allocation, settings.mysql);
71
+ await this.saveProvisionedInstances(clusterId, primary, replicas);
72
+ metadata.provisionStatus = index_js_1.ProvisionStatus.READY;
73
+ await this.updateMetadata(metadata);
74
+ logger.info({ clusterId, port: allocation.port, hostgroups: allocation }, 'Cluster provisioned successfully');
75
+ return {
76
+ success: true,
77
+ clusterId,
78
+ clusterName,
79
+ assignedPort: allocation.port,
80
+ writerHostgroup: allocation.writerHostgroup,
81
+ readerHostgroup: allocation.readerHostgroup,
82
+ primary,
83
+ replicas,
84
+ };
85
+ }
86
+ catch (error) {
87
+ const message = error instanceof Error ? error.message : String(error);
88
+ logger.error({ error, clusterId }, 'Provisioning failed');
89
+ // Update metadata to failed
90
+ metadata.provisionStatus = index_js_1.ProvisionStatus.FAILED;
91
+ await this.updateMetadata(metadata);
92
+ return this.failResult(clusterName, message);
93
+ }
94
+ }
95
+ /**
96
+ * Allocate port and hostgroups for a new cluster
97
+ */
98
+ async allocateResources(clusterId) {
99
+ const settings = (0, settings_js_1.getSettings)();
100
+ // Get all existing allocations
101
+ const existingPorts = await this.db.query('SELECT assigned_port FROM cluster_metadata WHERE assigned_port IS NOT NULL');
102
+ const existingHostgroups = await this.db.query('SELECT writer_hostgroup FROM cluster_metadata WHERE writer_hostgroup IS NOT NULL');
103
+ // Find next available port
104
+ const usedPorts = new Set(existingPorts.map((r) => r.assigned_port));
105
+ let port = settings.proxysql.portRangeStart;
106
+ while (usedPorts.has(port) && port <= settings.proxysql.portRangeEnd) {
107
+ port++;
108
+ }
109
+ if (port > settings.proxysql.portRangeEnd) {
110
+ throw new Error('No available ports in configured range');
111
+ }
112
+ // Find next available hostgroup block (each cluster gets writer=N, reader=N+10)
113
+ const usedWriterHG = new Set(existingHostgroups.map((r) => r.writer_hostgroup));
114
+ let writerHG = settings.proxysql.hostgroupRangeStart;
115
+ while (usedWriterHG.has(writerHG) && writerHG <= settings.proxysql.hostgroupRangeEnd) {
116
+ writerHG += 10; // Increment by 10 for each block
117
+ }
118
+ if (writerHG > settings.proxysql.hostgroupRangeEnd) {
119
+ throw new Error('No available hostgroups in configured range');
120
+ }
121
+ const readerHG = writerHG + 10;
122
+ logger.info({ clusterId, port, writerHG, readerHG }, 'Resources allocated');
123
+ return { port, writerHostgroup: writerHG, readerHostgroup: readerHG };
124
+ }
125
+ /**
126
+ * Register instances with Orchestrator
127
+ */
128
+ async registerInstances(primary, replicas) {
129
+ const orchestrator = (0, topology_js_1.getOrchestratorClient)();
130
+ // Register primary
131
+ logger.info({ host: primary.host, port: primary.port }, 'Registering primary');
132
+ await orchestrator.discoverInstance(primary.host, primary.port);
133
+ // Wait for primary discovery
134
+ await new Promise((resolve) => setTimeout(resolve, ORCHESTRATOR_DISCOVERY_DELAY_MS));
135
+ // Register replicas
136
+ for (const replica of replicas) {
137
+ logger.info({ host: replica.host, port: replica.port }, 'Registering replica');
138
+ await orchestrator.discoverInstance(replica.host, replica.port);
139
+ }
140
+ // Wait for topology discovery
141
+ await new Promise((resolve) => setTimeout(resolve, TOPOLOGY_SYNC_DELAY_MS));
142
+ }
143
+ /**
144
+ * Setup replication between primary and replicas
145
+ */
146
+ async setupReplication(primary, replicas, mysqlCredentials) {
147
+ const replUser = mysqlCredentials.replicationUser || 'repl';
148
+ const replPassword = mysqlCredentials.replicationPassword || 'repl_password';
149
+ // Escape values for safe SQL interpolation
150
+ const escape = promise_1.default.escape;
151
+ const escapedReplUser = escape(replUser);
152
+ const escapedReplPassword = escape(replPassword);
153
+ const escapedPrimaryHost = escape(primary.host);
154
+ // Create replication user on primary
155
+ logger.info({ host: primary.host }, 'Creating replication user on primary');
156
+ const primaryConn = await promise_1.default.createConnection({
157
+ host: primary.host,
158
+ port: primary.port,
159
+ user: mysqlCredentials.adminUser,
160
+ password: mysqlCredentials.adminPassword,
161
+ connectTimeout: 10000,
162
+ });
163
+ try {
164
+ await primaryConn.execute(`CREATE USER IF NOT EXISTS ${escapedReplUser}@'%' IDENTIFIED WITH mysql_native_password BY ${escapedReplPassword}`);
165
+ await primaryConn.execute(`GRANT REPLICATION SLAVE ON *.* TO ${escapedReplUser}@'%'`);
166
+ }
167
+ finally {
168
+ await primaryConn.end();
169
+ }
170
+ // Configure each replica
171
+ for (const replica of replicas) {
172
+ logger.info({ replica: `${replica.host}:${replica.port}`, primary: `${primary.host}:${primary.port}` }, 'Setting up replication');
173
+ const replicaConn = await promise_1.default.createConnection({
174
+ host: replica.host,
175
+ port: replica.port,
176
+ user: mysqlCredentials.adminUser,
177
+ password: mysqlCredentials.adminPassword,
178
+ connectTimeout: 10000,
179
+ });
180
+ try {
181
+ // Stop slave if running
182
+ await replicaConn.execute('STOP SLAVE');
183
+ // Configure replication with GTID
184
+ await replicaConn.execute(`CHANGE MASTER TO
185
+ MASTER_HOST = ${escapedPrimaryHost},
186
+ MASTER_PORT = ${primary.port},
187
+ MASTER_USER = ${escapedReplUser},
188
+ MASTER_PASSWORD = ${escapedReplPassword},
189
+ MASTER_AUTO_POSITION = 1`);
190
+ // Start slave
191
+ await replicaConn.execute('START SLAVE');
192
+ // Verify replication started
193
+ await new Promise((resolve) => setTimeout(resolve, REPLICATION_VERIFY_DELAY_MS));
194
+ const [status] = await replicaConn.execute('SHOW SLAVE STATUS');
195
+ const slaveStatus = status[0];
196
+ if (slaveStatus) {
197
+ const ioRunning = slaveStatus.Slave_IO_Running === 'Yes';
198
+ const sqlRunning = slaveStatus.Slave_SQL_Running === 'Yes';
199
+ if (!ioRunning || !sqlRunning) {
200
+ const error = slaveStatus.Last_IO_Error || slaveStatus.Last_SQL_Error || 'Unknown replication error';
201
+ throw new Error(`Replication not running on ${replica.host}:${replica.port}: ${error}`);
202
+ }
203
+ }
204
+ }
205
+ finally {
206
+ await replicaConn.end();
207
+ }
208
+ }
209
+ logger.info('Replication setup completed');
210
+ }
211
+ /**
212
+ * Configure ProxySQL with cluster hostgroups and port
213
+ */
214
+ async configureProxySQL(clusterId, primary, replicas, allocation, mysqlCredentials) {
215
+ const proxysql = (0, proxysql_manager_js_1.getProxySQLManager)();
216
+ // Connect to ProxySQL
217
+ await proxysql.connect();
218
+ // Set monitor credentials
219
+ await proxysql.setMonitorCredentials(mysqlCredentials.adminUser, mysqlCredentials.adminPassword);
220
+ // Create replication hostgroups
221
+ await this.createReplicationHostgroups(proxysql, clusterId, allocation);
222
+ // Add servers to hostgroups
223
+ await this.addServersToProxySQL(proxysql, primary, replicas, allocation);
224
+ // Configure port listening using existing method
225
+ await proxysql.addListeningPort(allocation.port);
226
+ // Load and save configuration
227
+ await proxysql.loadConfigToRuntime();
228
+ await proxysql.saveConfigToDisk();
229
+ logger.info({ clusterId, port: allocation.port, hostgroups: allocation }, 'ProxySQL configured');
230
+ }
231
+ /**
232
+ * Create replication hostgroups in ProxySQL
233
+ */
234
+ async createReplicationHostgroups(proxysql, clusterId, allocation) {
235
+ // Delete existing hostgroup entry if any
236
+ await proxysql.executeRaw('DELETE FROM mysql_replication_hostgroups WHERE writer_hostgroup = ?', [allocation.writerHostgroup]);
237
+ // Insert new hostgroup
238
+ await proxysql.executeRaw(`INSERT INTO mysql_replication_hostgroups
239
+ (writer_hostgroup, reader_hostgroup, comment)
240
+ VALUES (?, ?, ?)`, [allocation.writerHostgroup, allocation.readerHostgroup, `Cluster: ${clusterId}`]);
241
+ // Mirror to metadata database
242
+ await this.db.execute(`INSERT INTO proxysql_hostgroups (writer_hostgroup, reader_hostgroup, cluster_id, comment)
243
+ VALUES (?, ?, ?, ?)
244
+ ON DUPLICATE KEY UPDATE reader_hostgroup = VALUES(reader_hostgroup), cluster_id = VALUES(cluster_id)`, [allocation.writerHostgroup, allocation.readerHostgroup, clusterId, `Cluster: ${clusterId}`]);
245
+ }
246
+ /**
247
+ * Add servers to ProxySQL hostgroups
248
+ */
249
+ async addServersToProxySQL(proxysql, primary, replicas, allocation) {
250
+ // Add primary to writer hostgroup
251
+ await proxysql.executeRaw(`INSERT INTO mysql_servers (hostgroup_id, hostname, port, weight, max_connections, comment)
252
+ VALUES (?, ?, ?, 1, 1000, ?)`, [allocation.writerHostgroup, primary.host, primary.port, `ClawSQL: ${primary.host}:${primary.port}`]);
253
+ // Add replicas to reader hostgroup
254
+ for (const replica of replicas) {
255
+ await proxysql.executeRaw(`INSERT INTO mysql_servers (hostgroup_id, hostname, port, weight, max_connections, comment)
256
+ VALUES (?, ?, ?, 1, 1000, ?)`, [allocation.readerHostgroup, replica.host, replica.port, `ClawSQL: ${replica.host}:${replica.port}`]);
257
+ }
258
+ // Mirror to metadata database
259
+ for (const server of [primary, ...replicas]) {
260
+ const hg = server === primary ? allocation.writerHostgroup : allocation.readerHostgroup;
261
+ await this.db.execute(`INSERT INTO proxysql_servers (hostgroup_id, hostname, port, status, weight, max_connections, comment)
262
+ VALUES (?, ?, ?, 'ONLINE', 1, 1000, ?)
263
+ ON DUPLICATE KEY UPDATE status = 'ONLINE', synced_at = NOW()`, [hg, server.host, server.port, `ClawSQL: ${server.host}:${server.port}`]);
264
+ }
265
+ }
266
+ /**
267
+ * Save cluster metadata
268
+ */
269
+ async saveMetadata(metadata) {
270
+ await this.db.execute(`INSERT INTO cluster_metadata
271
+ (cluster_id, template_id, assigned_port, writer_hostgroup, reader_hostgroup, provision_status)
272
+ VALUES (?, ?, ?, ?, ?, ?)`, [
273
+ metadata.clusterId,
274
+ metadata.templateId ?? null,
275
+ metadata.assignedPort ?? null,
276
+ metadata.writerHostgroup ?? null,
277
+ metadata.readerHostgroup ?? null,
278
+ metadata.provisionStatus,
279
+ ]);
280
+ }
281
+ /**
282
+ * Update cluster metadata
283
+ */
284
+ async updateMetadata(metadata) {
285
+ await this.db.execute(`UPDATE cluster_metadata
286
+ SET template_id = ?, assigned_port = ?, writer_hostgroup = ?, reader_hostgroup = ?, provision_status = ?
287
+ WHERE cluster_id = ?`, [
288
+ metadata.templateId ?? null,
289
+ metadata.assignedPort ?? null,
290
+ metadata.writerHostgroup ?? null,
291
+ metadata.readerHostgroup ?? null,
292
+ metadata.provisionStatus,
293
+ metadata.clusterId,
294
+ ]);
295
+ }
296
+ /**
297
+ * Save provisioned instances
298
+ */
299
+ async saveProvisionedInstances(clusterId, primary, replicas) {
300
+ // Save primary
301
+ await this.db.execute(`INSERT INTO provisioned_instances (cluster_id, host, port, role, sequence)
302
+ VALUES (?, ?, ?, 'primary', 0)`, [clusterId, primary.host, primary.port]);
303
+ // Save replicas
304
+ for (let i = 0; i < replicas.length; i++) {
305
+ await this.db.execute(`INSERT INTO provisioned_instances (cluster_id, host, port, role, sequence)
306
+ VALUES (?, ?, ?, 'replica', ?)`, [clusterId, replicas[i].host, replicas[i].port, i + 1]);
307
+ }
308
+ }
309
+ /**
310
+ * Create a failed result
311
+ */
312
+ failResult(clusterName, error) {
313
+ return {
314
+ success: false,
315
+ clusterId: clusterName,
316
+ clusterName,
317
+ assignedPort: 0,
318
+ writerHostgroup: 0,
319
+ readerHostgroup: 0,
320
+ primary: { host: '', port: 0 },
321
+ replicas: [],
322
+ error,
323
+ };
324
+ }
325
+ /**
326
+ * Get cluster metadata
327
+ */
328
+ async getClusterMetadata(clusterId) {
329
+ const row = await this.db.get('SELECT * FROM cluster_metadata WHERE cluster_id = ?', [clusterId]);
330
+ if (!row)
331
+ return null;
332
+ return (0, index_js_1.createClusterMetadata)(row.cluster_id, {
333
+ templateId: row.template_id ?? undefined,
334
+ assignedPort: row.assigned_port ?? undefined,
335
+ writerHostgroup: row.writer_hostgroup ?? undefined,
336
+ readerHostgroup: row.reader_hostgroup ?? undefined,
337
+ provisionStatus: row.provision_status,
338
+ createdAt: row.created_at,
339
+ updatedAt: row.updated_at,
340
+ });
341
+ }
342
+ /**
343
+ * List all provisioned clusters
344
+ */
345
+ async listClusters() {
346
+ const rows = await this.db.query('SELECT * FROM cluster_metadata ORDER BY created_at DESC');
347
+ return rows.map((row) => (0, index_js_1.createClusterMetadata)(row.cluster_id, {
348
+ templateId: row.template_id ?? undefined,
349
+ assignedPort: row.assigned_port ?? undefined,
350
+ writerHostgroup: row.writer_hostgroup ?? undefined,
351
+ readerHostgroup: row.reader_hostgroup ?? undefined,
352
+ provisionStatus: row.provision_status,
353
+ createdAt: row.created_at,
354
+ updatedAt: row.updated_at,
355
+ }));
356
+ }
357
+ /**
358
+ * Deprovision a cluster
359
+ */
360
+ async deprovision(clusterId) {
361
+ const metadata = await this.getClusterMetadata(clusterId);
362
+ if (!metadata) {
363
+ return { success: false, error: `Cluster "${clusterId}" not found` };
364
+ }
365
+ if (!metadata.writerHostgroup || !metadata.readerHostgroup) {
366
+ return { success: false, error: `Cluster "${clusterId}" has incomplete hostgroup configuration` };
367
+ }
368
+ try {
369
+ const proxysql = (0, proxysql_manager_js_1.getProxySQLManager)();
370
+ await proxysql.connect();
371
+ // Remove servers from ProxySQL
372
+ await proxysql.executeRaw('DELETE FROM mysql_servers WHERE hostgroup_id IN (?, ?)', [metadata.writerHostgroup, metadata.readerHostgroup]);
373
+ // Remove replication hostgroups
374
+ await proxysql.executeRaw('DELETE FROM mysql_replication_hostgroups WHERE writer_hostgroup = ?', [metadata.writerHostgroup]);
375
+ await proxysql.loadConfigToRuntime();
376
+ await proxysql.saveConfigToDisk();
377
+ // Forget instances from Orchestrator
378
+ const orchestrator = (0, topology_js_1.getOrchestratorClient)();
379
+ const instances = await this.db.query('SELECT host, port FROM provisioned_instances WHERE cluster_id = ?', [clusterId]);
380
+ for (const inst of instances) {
381
+ await orchestrator.forgetInstance(inst.host, inst.port);
382
+ }
383
+ // Delete from database
384
+ await this.db.execute('DELETE FROM provisioned_instances WHERE cluster_id = ?', [clusterId]);
385
+ await this.db.execute('DELETE FROM proxysql_servers WHERE hostgroup_id IN (?, ?)', [
386
+ metadata.writerHostgroup,
387
+ metadata.readerHostgroup,
388
+ ]);
389
+ await this.db.execute('DELETE FROM proxysql_hostgroups WHERE writer_hostgroup = ?', [
390
+ metadata.writerHostgroup,
391
+ ]);
392
+ await this.db.execute('DELETE FROM cluster_metadata WHERE cluster_id = ?', [clusterId]);
393
+ logger.info({ clusterId }, 'Cluster deprovisioned');
394
+ return { success: true };
395
+ }
396
+ catch (error) {
397
+ const message = error instanceof Error ? error.message : String(error);
398
+ logger.error({ error, clusterId }, 'Deprovision failed');
399
+ return { success: false, error: message };
400
+ }
401
+ }
402
+ }
403
+ exports.ClusterProvisioner = ClusterProvisioner;
404
+ // Singleton instance
405
+ let clusterProvisioner = null;
406
+ /**
407
+ * Get the cluster provisioner instance
408
+ */
409
+ function getClusterProvisioner() {
410
+ if (!clusterProvisioner) {
411
+ clusterProvisioner = new ClusterProvisioner();
412
+ }
413
+ return clusterProvisioner;
414
+ }
415
+ //# sourceMappingURL=cluster-provisioner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster-provisioner.js","sourceRoot":"","sources":["../../../src/core/provisioning/cluster-provisioner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * ClawSQL - Provisioning Module
3
+ *
4
+ * Template-based cluster provisioning.
5
+ */
6
+ export { TemplateManager, getTemplateManager } from './template-manager.js';
7
+ export type { TemplateCreateOptions, TemplateUpdateOptions, HostValidationResult, HostSpec } from './template-manager.js';
8
+ export { ClusterProvisioner, getClusterProvisioner } from './cluster-provisioner.js';
9
+ export type { ProvisionResult } from './cluster-provisioner.js';
10
+ export { PREDEFINED_TEMPLATES, createPredefinedTemplate, getPredefinedTemplate, isPredefinedTemplate, getPredefinedTemplateNames, } from './predefined-templates.js';
11
+ export type { PredefinedTemplateDefinition } from './predefined-templates.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/provisioning/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC1H,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC"}