spindb 0.46.4 → 0.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/cli/commands/info.js +12 -2
  2. package/dist/cli/commands/info.js.map +1 -1
  3. package/dist/cli/commands/link.js +6 -0
  4. package/dist/cli/commands/link.js.map +1 -1
  5. package/dist/cli/commands/list.js +4 -1
  6. package/dist/cli/commands/list.js.map +1 -1
  7. package/dist/cli/commands/menu/container-handlers.js +25 -7
  8. package/dist/cli/commands/menu/container-handlers.js.map +1 -1
  9. package/dist/config/backup-formats.js +11 -11
  10. package/dist/config/backup-formats.js.map +1 -1
  11. package/dist/config/version.js +1 -1
  12. package/dist/core/credential-manager.js +34 -11
  13. package/dist/core/credential-manager.js.map +1 -1
  14. package/dist/core/query-parser.js +55 -1
  15. package/dist/core/query-parser.js.map +1 -1
  16. package/dist/core/remote-container.js +11 -0
  17. package/dist/core/remote-container.js.map +1 -1
  18. package/dist/engines/clickhouse/backup.js +42 -10
  19. package/dist/engines/clickhouse/backup.js.map +1 -1
  20. package/dist/engines/clickhouse/restore.js +41 -10
  21. package/dist/engines/clickhouse/restore.js.map +1 -1
  22. package/dist/engines/cockroachdb/backup.js +18 -22
  23. package/dist/engines/cockroachdb/backup.js.map +1 -1
  24. package/dist/engines/cockroachdb/cli-utils.js +66 -0
  25. package/dist/engines/cockroachdb/cli-utils.js.map +1 -1
  26. package/dist/engines/cockroachdb/index.js +199 -116
  27. package/dist/engines/cockroachdb/index.js.map +1 -1
  28. package/dist/engines/cockroachdb/restore.js +19 -26
  29. package/dist/engines/cockroachdb/restore.js.map +1 -1
  30. package/dist/engines/couchdb/backup.js +13 -4
  31. package/dist/engines/couchdb/backup.js.map +1 -1
  32. package/dist/engines/couchdb/index.js +93 -25
  33. package/dist/engines/couchdb/index.js.map +1 -1
  34. package/dist/engines/couchdb/restore.js +15 -4
  35. package/dist/engines/couchdb/restore.js.map +1 -1
  36. package/dist/engines/ferretdb/backup.js +88 -91
  37. package/dist/engines/ferretdb/backup.js.map +1 -1
  38. package/dist/engines/ferretdb/index.js +179 -226
  39. package/dist/engines/ferretdb/index.js.map +1 -1
  40. package/dist/engines/ferretdb/restore.js +223 -20
  41. package/dist/engines/ferretdb/restore.js.map +1 -1
  42. package/dist/engines/influxdb/api-client.js +1 -1
  43. package/dist/engines/influxdb/api-client.js.map +1 -1
  44. package/dist/engines/influxdb/backup.js +25 -5
  45. package/dist/engines/influxdb/backup.js.map +1 -1
  46. package/dist/engines/influxdb/index.js +165 -43
  47. package/dist/engines/influxdb/index.js.map +1 -1
  48. package/dist/engines/influxdb/restore.js +22 -2
  49. package/dist/engines/influxdb/restore.js.map +1 -1
  50. package/dist/engines/mariadb/backup.js +24 -15
  51. package/dist/engines/mariadb/backup.js.map +1 -1
  52. package/dist/engines/mariadb/env.js +11 -0
  53. package/dist/engines/mariadb/env.js.map +1 -0
  54. package/dist/engines/mariadb/index.js +192 -113
  55. package/dist/engines/mariadb/index.js.map +1 -1
  56. package/dist/engines/mariadb/restore.js +21 -5
  57. package/dist/engines/mariadb/restore.js.map +1 -1
  58. package/dist/engines/meilisearch/backup.js +8 -4
  59. package/dist/engines/meilisearch/backup.js.map +1 -1
  60. package/dist/engines/meilisearch/index.js +55 -58
  61. package/dist/engines/meilisearch/index.js.map +1 -1
  62. package/dist/engines/mongo-uri.js +8 -0
  63. package/dist/engines/mongo-uri.js.map +1 -0
  64. package/dist/engines/mongodb/backup.js +62 -13
  65. package/dist/engines/mongodb/backup.js.map +1 -1
  66. package/dist/engines/mongodb/index.js +170 -108
  67. package/dist/engines/mongodb/index.js.map +1 -1
  68. package/dist/engines/mongodb/restore.js +21 -1
  69. package/dist/engines/mongodb/restore.js.map +1 -1
  70. package/dist/engines/mysql/backup.js +24 -7
  71. package/dist/engines/mysql/backup.js.map +1 -1
  72. package/dist/engines/mysql/index.js +154 -89
  73. package/dist/engines/mysql/index.js.map +1 -1
  74. package/dist/engines/mysql/restore.js +14 -4
  75. package/dist/engines/mysql/restore.js.map +1 -1
  76. package/dist/engines/postgresql/backup.js +9 -2
  77. package/dist/engines/postgresql/backup.js.map +1 -1
  78. package/dist/engines/postgresql/index.js +10 -4
  79. package/dist/engines/postgresql/index.js.map +1 -1
  80. package/dist/engines/postgresql/restore.js +7 -3
  81. package/dist/engines/postgresql/restore.js.map +1 -1
  82. package/dist/engines/qdrant/backup.js +5 -1
  83. package/dist/engines/qdrant/backup.js.map +1 -1
  84. package/dist/engines/qdrant/index.js +31 -2
  85. package/dist/engines/qdrant/index.js.map +1 -1
  86. package/dist/engines/qdrant/restore.js +5 -3
  87. package/dist/engines/qdrant/restore.js.map +1 -1
  88. package/dist/engines/questdb/auth.js +26 -0
  89. package/dist/engines/questdb/auth.js.map +1 -0
  90. package/dist/engines/questdb/backup.js +10 -8
  91. package/dist/engines/questdb/backup.js.map +1 -1
  92. package/dist/engines/questdb/index.js +16 -8
  93. package/dist/engines/questdb/index.js.map +1 -1
  94. package/dist/engines/questdb/restore.js +7 -5
  95. package/dist/engines/questdb/restore.js.map +1 -1
  96. package/dist/engines/redis/backup.js +48 -15
  97. package/dist/engines/redis/backup.js.map +1 -1
  98. package/dist/engines/redis/index.js +45 -12
  99. package/dist/engines/redis/index.js.map +1 -1
  100. package/dist/engines/redis/restore.js +21 -2
  101. package/dist/engines/redis/restore.js.map +1 -1
  102. package/dist/engines/surrealdb/auth.js +98 -0
  103. package/dist/engines/surrealdb/auth.js.map +1 -0
  104. package/dist/engines/surrealdb/backup.js +72 -9
  105. package/dist/engines/surrealdb/backup.js.map +1 -1
  106. package/dist/engines/surrealdb/index.js +84 -144
  107. package/dist/engines/surrealdb/index.js.map +1 -1
  108. package/dist/engines/surrealdb/restore.js +32 -31
  109. package/dist/engines/surrealdb/restore.js.map +1 -1
  110. package/dist/engines/typedb/backup.js +9 -1
  111. package/dist/engines/typedb/backup.js.map +1 -1
  112. package/dist/engines/typedb/cli-utils.js +3 -3
  113. package/dist/engines/typedb/cli-utils.js.map +1 -1
  114. package/dist/engines/typedb/index.js +9 -2
  115. package/dist/engines/typedb/index.js.map +1 -1
  116. package/dist/engines/typedb/restore.js +19 -7
  117. package/dist/engines/typedb/restore.js.map +1 -1
  118. package/dist/engines/valkey/backup.js +37 -13
  119. package/dist/engines/valkey/backup.js.map +1 -1
  120. package/dist/engines/valkey/index.js +207 -58
  121. package/dist/engines/valkey/index.js.map +1 -1
  122. package/dist/engines/valkey/restore.js +21 -2
  123. package/dist/engines/valkey/restore.js.map +1 -1
  124. package/dist/engines/weaviate/backup.js +7 -2
  125. package/dist/engines/weaviate/backup.js.map +1 -1
  126. package/dist/types/index.js.map +1 -1
  127. package/package.json +1 -1
@@ -2,18 +2,38 @@
2
2
  * InfluxDB backup module
3
3
  * Supports SQL-based backup using InfluxDB's REST API to export data
4
4
  */
5
- import { mkdir, stat, writeFile } from 'fs/promises';
5
+ import { mkdir, readFile, stat, writeFile } from 'fs/promises';
6
6
  import { existsSync } from 'fs';
7
7
  import { dirname } from 'path';
8
+ import { paths } from '../../config/paths.js';
9
+ import { getDefaultUsername, loadCredentials } from '../../core/credential-manager.js';
8
10
  import { logDebug } from '../../core/error-handler.js';
9
11
  import { influxdbApiRequest } from './api-client.js';
12
+ import { Engine } from '../../types/index.js';
13
+ const ADMIN_TOKEN_FILE = 'admin-token.json';
14
+ async function loadInfluxAuthToken(containerName, username = getDefaultUsername(Engine.InfluxDB)) {
15
+ const tokenPath = dirname(paths.getContainerPidPath(containerName, { engine: Engine.InfluxDB }));
16
+ const adminTokenPath = `${tokenPath}/${ADMIN_TOKEN_FILE}`;
17
+ try {
18
+ const parsed = JSON.parse(await readFile(adminTokenPath, 'utf-8'));
19
+ if (typeof parsed.token === 'string' && parsed.token.length > 0) {
20
+ return parsed.token;
21
+ }
22
+ }
23
+ catch {
24
+ // Fall back to saved credentials
25
+ }
26
+ const savedCreds = await loadCredentials(containerName, Engine.InfluxDB, username);
27
+ return savedCreds?.apiKey;
28
+ }
10
29
  /**
11
30
  * Create an SQL backup using InfluxDB's REST API
12
31
  * Queries all tables and exports data as SQL INSERT statements
13
32
  */
14
33
  export async function createBackup(container, outputPath, options) {
15
- const { port } = container;
34
+ const { port, name } = container;
16
35
  const database = options.database || container.database;
36
+ const token = await loadInfluxAuthToken(name);
17
37
  // Ensure output directory exists
18
38
  const outputDir = dirname(outputPath);
19
39
  if (!existsSync(outputDir)) {
@@ -25,7 +45,7 @@ export async function createBackup(container, outputPath, options) {
25
45
  db: database,
26
46
  q: 'SHOW TABLES',
27
47
  format: 'json',
28
- });
48
+ }, 30000, token);
29
49
  if (tablesResponse.status !== 200) {
30
50
  throw new Error(`Failed to list tables: ${JSON.stringify(tablesResponse.data)}`);
31
51
  }
@@ -61,7 +81,7 @@ export async function createBackup(container, outputPath, options) {
61
81
  db: database,
62
82
  q: `SELECT column_name, data_type FROM information_schema.columns WHERE table_name = '${table.replace(/'/g, "''")}'`,
63
83
  format: 'json',
64
- });
84
+ }, 30000, token);
65
85
  if (colResponse.status === 200 && Array.isArray(colResponse.data)) {
66
86
  for (const col of colResponse.data) {
67
87
  const dataType = String(col.data_type || '');
@@ -79,7 +99,7 @@ export async function createBackup(container, outputPath, options) {
79
99
  db: database,
80
100
  q: `SELECT * FROM "${table.replace(/"/g, '""')}"`,
81
101
  format: 'json',
82
- });
102
+ }, 30000, token);
83
103
  if (dataResponse.status !== 200) {
84
104
  logDebug(`Warning: Failed to export table ${table}: ${JSON.stringify(dataResponse.data)}`);
85
105
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../engines/influxdb/backup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../engines/influxdb/backup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,MAAM,EAA+D,MAAM,aAAa,CAAA;AAEjG,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAE3C,KAAK,UAAU,mBAAmB,CAChC,aAAqB,EACrB,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC;IAE9C,MAAM,SAAS,GAAG,OAAO,CACvB,KAAK,CAAC,mBAAmB,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CACtE,CAAA;IACD,MAAM,cAAc,GAAG,GAAG,SAAS,IAAI,gBAAgB,EAAE,CAAA;IAEzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAEhE,CAAA;QACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,MAAM,CAAC,KAAK,CAAA;QACrB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAClF,OAAO,UAAU,EAAE,MAAM,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAA0B,EAC1B,UAAkB,EAClB,OAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAA;IACvD,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAA;IAE7C,iCAAiC;IACjC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,QAAQ,CACN,qDAAqD,IAAI,kBAAkB,QAAQ,GAAG,CACvF,CAAA;IAED,qCAAqC;IACrC,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAC7C,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB;QACE,EAAE,EAAE,QAAQ;QACZ,CAAC,EAAE,aAAa;QAChB,MAAM,EAAE,MAAM;KACf,EACD,KAAK,EACL,KAAK,CACN,CAAA;IAED,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAChE,CAAA;IACH,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,IAAsC,CAAA;IACxE,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,+EAA+E;IAC/E,yDAAyD;IACzD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAkC,CAAA;YACrD,IAAI,MAAM,IAAI,MAAM,KAAK,KAAK;gBAAE,SAAQ;YACxC,MAAM,SAAS,GACZ,GAAG,CAAC,UAAqB;gBACzB,GAAG,CAAC,IAAe;gBACnB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAY,CAAA;YACnC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,SAAS,MAAM,CAAC,MAAM,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAE/D,iBAAiB;IACjB,IAAI,UAAU,GAAG,0BAA0B,CAAA;IAC3C,UAAU,IAAI,gBAAgB,QAAQ,IAAI,CAAA;IAC1C,UAAU,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAA;IAE3D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAA;QAErC,gDAAgD;QAChD,wDAAwD;QACxD,MAAM,UAAU,GAAa,EAAE,CAAA;QAC/B,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAC1C,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB;gBACE,EAAE,EAAE,QAAQ;gBACZ,CAAC,EAAE,qFAAqF,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;gBACpH,MAAM,EAAE,MAAM;aACf,EACD,KAAK,EACL,KAAK,CACN,CAAA;YACD,IAAI,WAAW,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClE,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,IAAsC,EAAE,CAAC;oBACrE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;oBAC5C,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBACpC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAA;QACnE,CAAC;QAED,gCAAgC;QAChC,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB;YACE,EAAE,EAAE,QAAQ;YACZ,CAAC,EAAE,kBAAkB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;YACjD,MAAM,EAAE,MAAM;SACf,EACD,KAAK,EACL,KAAK,CACN,CAAA;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAChC,QAAQ,CACN,mCAAmC,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CACjF,CAAA;YACD,SAAQ;QACV,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,IAAsC,CAAA;QAEhE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,UAAU,IAAI,aAAa,KAAK,IAAI,CAAA;YACpC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,IAAI,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;YACrD,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAChC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACjC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;oBACpB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;wBAAE,OAAO,MAAM,CAAA;oBACpD,IAAI,OAAO,GAAG,KAAK,QAAQ;wBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;oBAC/C,IAAI,OAAO,GAAG,KAAK,SAAS;wBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;oBAC3D,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA;gBAC/C,CAAC,CAAC,CAAA;gBACF,UAAU,IAAI,gBAAgB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;YAC9J,CAAC;YACD,UAAU,IAAI,IAAI,CAAA;QACpB,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IAEhD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAA;IAEpC,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAA;AACH,CAAC"}
@@ -1,13 +1,14 @@
1
1
  import { spawn } from 'child_process';
2
2
  import { existsSync } from 'fs';
3
- import { mkdir, writeFile, readFile, unlink } from 'fs/promises';
3
+ import { chmod, mkdir, writeFile, readFile, unlink } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { BaseEngine } from '../base-engine.js';
6
6
  import { paths } from '../../config/paths.js';
7
7
  import { getEngineDefaults } from '../../config/defaults.js';
8
8
  import { platformService, isWindows } from '../../core/platform-service.js';
9
9
  import { configManager } from '../../core/config-manager.js';
10
- import { logDebug, logWarning } from '../../core/error-handler.js';
10
+ import { logDebug, logWarning, assertValidUsername, } from '../../core/error-handler.js';
11
+ import { getDefaultUsername, loadCredentials, saveCredentials, } from '../../core/credential-manager.js';
11
12
  import { processManager } from '../../core/process-manager.js';
12
13
  import { portManager } from '../../core/port-manager.js';
13
14
  import { influxdbBinaryManager } from './binary-manager.js';
@@ -17,9 +18,11 @@ import { fetchAvailableVersions as fetchHostdbVersions } from './hostdb-releases
17
18
  import { detectBackupFormat as detectBackupFormatImpl, restoreBackup, } from './restore.js';
18
19
  import { createBackup } from './backup.js';
19
20
  import { influxdbApiRequest } from './api-client.js';
21
+ import { Engine, } from '../../types/index.js';
20
22
  import { parseRESTAPIResult } from '../../core/query-parser.js';
21
23
  const ENGINE = 'influxdb';
22
24
  const engineDef = getEngineDefaults(ENGINE);
25
+ const ADMIN_TOKEN_FILE = 'admin-token.json';
23
26
  /**
24
27
  * Initial delay before checking if InfluxDB is ready after spawning.
25
28
  * Windows requires a longer delay as process startup is slower.
@@ -103,11 +106,58 @@ async function remoteInfluxDBRequest(baseUrl, method, path, headers, body, timeo
103
106
  clearTimeout(timeoutId);
104
107
  }
105
108
  }
109
+ function getAdminTokenPath(containerName) {
110
+ const containerDir = paths.getContainerPath(containerName, { engine: ENGINE });
111
+ return join(containerDir, ADMIN_TOKEN_FILE);
112
+ }
113
+ async function readAdminToken(containerName) {
114
+ const tokenPath = getAdminTokenPath(containerName);
115
+ if (!existsSync(tokenPath)) {
116
+ return null;
117
+ }
118
+ try {
119
+ const parsed = JSON.parse(await readFile(tokenPath, 'utf-8'));
120
+ if (!parsed.token || !parsed.name) {
121
+ throw new Error('is missing token or name');
122
+ }
123
+ return {
124
+ token: parsed.token,
125
+ name: parsed.name,
126
+ };
127
+ }
128
+ catch (error) {
129
+ const message = error instanceof Error ? error.message : String(error);
130
+ throw new Error(`Failed to read InfluxDB admin token file ${tokenPath}: ${message}`);
131
+ }
132
+ }
133
+ function buildInfluxTokenCredentials(container, username, token) {
134
+ return {
135
+ username,
136
+ password: '',
137
+ connectionString: `http://127.0.0.1:${container.port}`,
138
+ engine: container.engine,
139
+ container: container.name,
140
+ apiKey: token,
141
+ };
142
+ }
106
143
  export class InfluxDBEngine extends BaseEngine {
107
144
  name = ENGINE;
108
145
  displayName = 'InfluxDB';
109
146
  defaultPort = engineDef.defaultPort;
110
147
  supportedVersions = SUPPORTED_MAJOR_VERSIONS;
148
+ async getStoredAuthToken(containerName, username) {
149
+ const adminToken = await readAdminToken(containerName).catch(() => null);
150
+ if (adminToken) {
151
+ return adminToken.token;
152
+ }
153
+ const lookupUsername = username ?? getDefaultUsername(Engine.InfluxDB);
154
+ const savedCreds = await loadCredentials(containerName, Engine.InfluxDB, lookupUsername);
155
+ return savedCreds?.apiKey;
156
+ }
157
+ async requestLocal(containerName, port, method, path, body, timeoutMs = 30000, username) {
158
+ const token = await this.getStoredAuthToken(containerName, username);
159
+ return influxdbApiRequest(port, method, path, body, timeoutMs, token);
160
+ }
111
161
  // Get platform info for binary operations
112
162
  getPlatformInfo() {
113
163
  return platformService.getPlatformInfo();
@@ -283,9 +333,9 @@ export class InfluxDBEngine extends BaseEngine {
283
333
  await new Promise((resolve) => setTimeout(resolve, portCheckInterval));
284
334
  }
285
335
  onProgress?.({ stage: 'starting', message: 'Starting InfluxDB...' });
286
- // Build command arguments
287
- // InfluxDB 3.x uses 'serve' subcommand with required --node-id
288
- // Use fixed node-id so data persists across container renames
336
+ const adminToken = await readAdminToken(name);
337
+ // Build command arguments. InfluxDB 3.x uses 'serve' with a required --node-id.
338
+ // Use fixed node-id so data persists across container renames.
289
339
  const args = [
290
340
  'serve',
291
341
  '--node-id',
@@ -296,8 +346,14 @@ export class InfluxDBEngine extends BaseEngine {
296
346
  dataDir,
297
347
  '--http-bind',
298
348
  `${container.bindAddress ?? '127.0.0.1'}:${port}`,
299
- '--without-auth',
300
349
  ];
350
+ if (adminToken) {
351
+ args.push('--admin-token-file', getAdminTokenPath(name), '--disable-authz', 'health,ping');
352
+ logDebug(`Using persisted InfluxDB admin token for ${name}`);
353
+ }
354
+ else {
355
+ args.push('--without-auth');
356
+ }
301
357
  logDebug(`Starting influxdb3 with args: ${args.join(' ')}`);
302
358
  /**
303
359
  * Check log file for startup errors
@@ -324,14 +380,12 @@ export class InfluxDBEngine extends BaseEngine {
324
380
  return new Promise((resolve, reject) => {
325
381
  const spawnOpts = {
326
382
  cwd: containerDir,
327
- stdio: ['ignore', 'pipe', 'pipe'],
383
+ stdio: ['ignore', 'ignore', 'ignore'],
328
384
  detached: true,
329
385
  windowsHide: true,
330
386
  };
331
387
  const proc = spawn(influxdbServer, args, spawnOpts);
332
388
  let settled = false;
333
- let stderrOutput = '';
334
- let stdoutOutput = '';
335
389
  proc.on('error', (err) => {
336
390
  if (settled)
337
391
  return;
@@ -343,19 +397,7 @@ export class InfluxDBEngine extends BaseEngine {
343
397
  return;
344
398
  settled = true;
345
399
  const reason = signal ? `signal ${signal}` : `code ${code}`;
346
- reject(new Error(`InfluxDB process exited unexpectedly (${reason}).\n` +
347
- `Stderr: ${stderrOutput || '(none)'}\n` +
348
- `Stdout: ${stdoutOutput || '(none)'}`));
349
- });
350
- proc.stdout?.on('data', (data) => {
351
- const str = data.toString();
352
- stdoutOutput += str;
353
- logDebug(`influxdb3 stdout: ${str}`);
354
- });
355
- proc.stderr?.on('data', (data) => {
356
- const str = data.toString();
357
- stderrOutput += str;
358
- logDebug(`influxdb3 stderr: ${str}`);
400
+ reject(new Error(`InfluxDB process exited unexpectedly (${reason}).`));
359
401
  });
360
402
  proc.unref();
361
403
  setTimeout(async () => {
@@ -372,7 +414,8 @@ export class InfluxDBEngine extends BaseEngine {
372
414
  catch {
373
415
  // Non-fatal
374
416
  }
375
- const ready = await this.waitForReady(port);
417
+ const ready = (await this.waitForReady(port)) &&
418
+ (!adminToken || (await this.waitForAuthReady(port, adminToken.token)));
376
419
  if (settled)
377
420
  return;
378
421
  if (ready) {
@@ -398,8 +441,6 @@ export class InfluxDBEngine extends BaseEngine {
398
441
  portError || 'InfluxDB failed to start within timeout.',
399
442
  `Binary: ${influxdbServer}`,
400
443
  `Log file: ${logFile}`,
401
- stderrOutput ? `Stderr:\n${stderrOutput}` : '',
402
- stdoutOutput ? `Stdout:\n${stdoutOutput}` : '',
403
444
  ]
404
445
  .filter(Boolean)
405
446
  .join('\n');
@@ -425,7 +466,8 @@ export class InfluxDBEngine extends BaseEngine {
425
466
  // Non-fatal
426
467
  }
427
468
  // Wait for InfluxDB to be ready
428
- const ready = await this.waitForReady(port);
469
+ const ready = (await this.waitForReady(port)) &&
470
+ (!adminToken || (await this.waitForAuthReady(port, adminToken.token)));
429
471
  if (ready) {
430
472
  return {
431
473
  port,
@@ -488,6 +530,25 @@ export class InfluxDBEngine extends BaseEngine {
488
530
  logDebug(`InfluxDB did not become ready within ${timeoutMs}ms`);
489
531
  return false;
490
532
  }
533
+ async waitForAuthReady(port, apiKey, timeoutMs = 30000) {
534
+ const startTime = Date.now();
535
+ const checkInterval = 500;
536
+ while (Date.now() - startTime < timeoutMs) {
537
+ try {
538
+ const response = await influxdbApiRequest(port, 'GET', '/api/v3/configure/database?format=json', undefined, 30000, apiKey);
539
+ if (response.status === 200) {
540
+ logDebug(`InfluxDB auth ready on port ${port}`);
541
+ return true;
542
+ }
543
+ }
544
+ catch {
545
+ // Auth not ready yet, wait and retry
546
+ }
547
+ await new Promise((resolve) => setTimeout(resolve, checkInterval));
548
+ }
549
+ logDebug(`InfluxDB auth did not become ready within ${timeoutMs}ms`);
550
+ return false;
551
+ }
491
552
  /**
492
553
  * Stop InfluxDB server
493
554
  */
@@ -648,10 +709,10 @@ export class InfluxDBEngine extends BaseEngine {
648
709
  * but we can verify the server is running
649
710
  */
650
711
  async createDatabase(container, database) {
651
- const { port } = container;
712
+ const { name, port } = container;
652
713
  // InfluxDB 3.x creates databases implicitly when data is written
653
714
  // Verify server is accessible and write a test record to create the database
654
- const response = await influxdbApiRequest(port, 'POST', `/api/v3/write_lp?db=${encodeURIComponent(database)}`, undefined);
715
+ const response = await this.requestLocal(name, port, 'POST', `/api/v3/write_lp?db=${encodeURIComponent(database)}`, undefined);
655
716
  // A 204 or 200 means success, but we might also get a 2xx with empty body
656
717
  // which is fine - database will be created on first write
657
718
  if (response.status >= 400) {
@@ -664,9 +725,9 @@ export class InfluxDBEngine extends BaseEngine {
664
725
  * InfluxDB 3.x doesn't have a direct DROP DATABASE command via REST
665
726
  */
666
727
  async dropDatabase(container, database) {
667
- const { port } = container;
728
+ const { name, port } = container;
668
729
  // Try to delete tables in the database
669
- const tablesResponse = await influxdbApiRequest(port, 'POST', '/api/v3/query_sql', {
730
+ const tablesResponse = await this.requestLocal(name, port, 'POST', '/api/v3/query_sql', {
670
731
  db: database,
671
732
  q: 'SHOW TABLES',
672
733
  format: 'json',
@@ -683,7 +744,7 @@ export class InfluxDBEngine extends BaseEngine {
683
744
  row.name ||
684
745
  Object.values(row)[0];
685
746
  if (tableName) {
686
- await influxdbApiRequest(port, 'POST', '/api/v3/query_sql', {
747
+ await this.requestLocal(name, port, 'POST', '/api/v3/query_sql', {
687
748
  db: database,
688
749
  q: `DROP TABLE "${tableName}"`,
689
750
  format: 'json',
@@ -809,13 +870,13 @@ export class InfluxDBEngine extends BaseEngine {
809
870
  }
810
871
  // Run a command - InfluxDB uses REST API with SQL
811
872
  async runScript(container, options) {
812
- const { port } = container;
873
+ const { name, port } = container;
813
874
  const database = options.database || container.database;
814
875
  if (options.file) {
815
876
  const content = await readFile(options.file, 'utf-8');
816
877
  // Ensure the database exists (InfluxDB creates DBs implicitly on write,
817
878
  // but SQL queries fail if the DB doesn't exist yet)
818
- const createDbResp = await influxdbApiRequest(port, 'POST', '/api/v3/configure/database', { db: database });
879
+ const createDbResp = await this.requestLocal(name, port, 'POST', '/api/v3/configure/database', { db: database });
819
880
  if (createDbResp.status >= 400) {
820
881
  throw new Error(`Failed to create database "${database}": HTTP ${createDbResp.status} — ${JSON.stringify(createDbResp.data)}`);
821
882
  }
@@ -825,7 +886,7 @@ export class InfluxDBEngine extends BaseEngine {
825
886
  .split('\n')
826
887
  .filter((line) => line.trim().length > 0 && !line.startsWith('#'))
827
888
  .join('\n');
828
- const response = await influxdbApiRequest(port, 'POST', `/api/v3/write_lp?db=${encodeURIComponent(database)}`, lines);
889
+ const response = await this.requestLocal(name, port, 'POST', `/api/v3/write_lp?db=${encodeURIComponent(database)}`, lines);
829
890
  if (response.status >= 400) {
830
891
  throw new Error(`Write error: ${JSON.stringify(response.data)}`);
831
892
  }
@@ -840,7 +901,7 @@ export class InfluxDBEngine extends BaseEngine {
840
901
  .map((s) => s.trim())
841
902
  .filter((s) => s.length > 0);
842
903
  for (const sql of statements) {
843
- const response = await influxdbApiRequest(port, 'POST', '/api/v3/query_sql', {
904
+ const response = await this.requestLocal(name, port, 'POST', '/api/v3/query_sql', {
844
905
  db: database,
845
906
  q: sql,
846
907
  format: 'json',
@@ -853,11 +914,11 @@ export class InfluxDBEngine extends BaseEngine {
853
914
  }
854
915
  if (options.sql) {
855
916
  // Ensure database exists for inline SQL too
856
- const createDbResp2 = await influxdbApiRequest(port, 'POST', '/api/v3/configure/database', { db: database });
917
+ const createDbResp2 = await this.requestLocal(name, port, 'POST', '/api/v3/configure/database', { db: database });
857
918
  if (createDbResp2.status >= 400) {
858
919
  throw new Error(`Failed to create database "${database}": HTTP ${createDbResp2.status} — ${JSON.stringify(createDbResp2.data)}`);
859
920
  }
860
- const response = await influxdbApiRequest(port, 'POST', '/api/v3/query_sql', {
921
+ const response = await this.requestLocal(name, port, 'POST', '/api/v3/query_sql', {
861
922
  db: database,
862
923
  q: options.sql,
863
924
  format: 'json',
@@ -882,8 +943,10 @@ export class InfluxDBEngine extends BaseEngine {
882
943
  * POST /api/v3/query_sql {"db": "mydb", "q": "SELECT 1"}
883
944
  */
884
945
  async executeQuery(container, query, options) {
885
- const { port } = container;
946
+ const { name, port } = container;
886
947
  const database = options?.database || container.database;
948
+ const authToken = options?.password ||
949
+ (await this.getStoredAuthToken(name, options?.username ?? getDefaultUsername(Engine.InfluxDB)));
887
950
  const trimmed = query.trim();
888
951
  // Check if this is a REST API-style query (starts with HTTP method)
889
952
  const httpMethods = ['GET', 'POST', 'PUT', 'DELETE'];
@@ -913,7 +976,7 @@ export class InfluxDBEngine extends BaseEngine {
913
976
  if (!path.startsWith('/')) {
914
977
  path = '/' + path;
915
978
  }
916
- const response = await influxdbApiRequest(port, method, path, body, 30000, options?.password);
979
+ const response = await influxdbApiRequest(port, method, path, body, 30000, authToken);
917
980
  if (response.status >= 400) {
918
981
  throw new Error(`InfluxDB API error (${response.status}): ${JSON.stringify(response.data)}`);
919
982
  }
@@ -924,7 +987,7 @@ export class InfluxDBEngine extends BaseEngine {
924
987
  db: database,
925
988
  q: trimmed,
926
989
  format: 'json',
927
- }, 30000, options?.password);
990
+ }, 30000, authToken);
928
991
  if (response.status >= 400) {
929
992
  throw new Error(`InfluxDB SQL error (${response.status}): ${JSON.stringify(response.data)}`);
930
993
  }
@@ -935,9 +998,10 @@ export class InfluxDBEngine extends BaseEngine {
935
998
  * InfluxDB 3.x uses GET /api/v3/configure/database?format=json
936
999
  */
937
1000
  async listDatabases(container) {
938
- const { port } = container;
1001
+ const { name, port } = container;
1002
+ const authToken = await this.getStoredAuthToken(name);
939
1003
  try {
940
- const response = await influxdbApiRequest(port, 'GET', '/api/v3/configure/database?format=json');
1004
+ const response = await influxdbApiRequest(port, 'GET', '/api/v3/configure/database?format=json', undefined, 30000, authToken);
941
1005
  if (response.status === 200 && response.data) {
942
1006
  const data = response.data;
943
1007
  if (Array.isArray(data)) {
@@ -953,10 +1017,68 @@ export class InfluxDBEngine extends BaseEngine {
953
1017
  }
954
1018
  return [container.database];
955
1019
  }
956
- catch {
1020
+ catch (error) {
1021
+ logDebug(`Failed to list InfluxDB databases for container "${name}" on port ${port}: ${error instanceof Error ? error.message : String(error)}`);
957
1022
  return [container.database];
958
1023
  }
959
1024
  }
1025
+ async createUser(container, options) {
1026
+ const { name, version } = container;
1027
+ const { username } = options;
1028
+ assertValidUsername(username);
1029
+ const existingToken = await readAdminToken(name);
1030
+ if (existingToken) {
1031
+ const credentials = buildInfluxTokenCredentials(container, username, existingToken.token);
1032
+ await saveCredentials(name, Engine.InfluxDB, credentials);
1033
+ return credentials;
1034
+ }
1035
+ const tokenPath = getAdminTokenPath(name);
1036
+ const influxdbServer = await this.getInfluxDBServerPath(version);
1037
+ await new Promise((resolve, reject) => {
1038
+ const proc = spawn(influxdbServer, [
1039
+ 'create',
1040
+ 'token',
1041
+ '--admin',
1042
+ '--offline',
1043
+ '--output-file',
1044
+ tokenPath,
1045
+ '--name',
1046
+ username,
1047
+ '--format',
1048
+ 'json',
1049
+ ], {
1050
+ stdio: ['ignore', 'pipe', 'pipe'],
1051
+ });
1052
+ let stderr = '';
1053
+ proc.stderr?.on('data', (data) => {
1054
+ stderr += data.toString();
1055
+ });
1056
+ proc.on('error', reject);
1057
+ proc.on('close', (code) => {
1058
+ if (code === 0) {
1059
+ resolve();
1060
+ }
1061
+ else {
1062
+ reject(new Error(stderr || `influxdb3 create token exited with code ${code}`));
1063
+ }
1064
+ });
1065
+ });
1066
+ await chmod(tokenPath, 0o600);
1067
+ const storedToken = await readAdminToken(name);
1068
+ if (!storedToken) {
1069
+ throw new Error('Failed to load generated InfluxDB admin token');
1070
+ }
1071
+ const statusResult = await this.status(container);
1072
+ if (statusResult.running) {
1073
+ logWarning(`Restarting InfluxDB container "${name}" to apply auth token configuration. ` +
1074
+ 'Active client connections will be disconnected.');
1075
+ await this.stop(container);
1076
+ await this.start(container);
1077
+ }
1078
+ const credentials = buildInfluxTokenCredentials(container, username, storedToken.token);
1079
+ await saveCredentials(name, Engine.InfluxDB, credentials);
1080
+ return credentials;
1081
+ }
960
1082
  }
961
1083
  export const influxdbEngine = new InfluxDBEngine();
962
1084
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/influxdb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../engines/influxdb/index.ts"],"names":[],"mappings":"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"}