@edgible-team/cli 1.2.4 → 1.2.8
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/dist/commands/agent/agent-handlers.d.ts +45 -0
- package/dist/commands/agent/agent-handlers.d.ts.map +1 -0
- package/dist/commands/agent/agent-handlers.js +1159 -0
- package/dist/commands/agent/install.d.ts +11 -0
- package/dist/commands/agent/install.d.ts.map +1 -0
- package/dist/commands/agent/install.js +399 -0
- package/dist/commands/agent/logs.d.ts +12 -0
- package/dist/commands/agent/logs.d.ts.map +1 -0
- package/dist/commands/agent/logs.js +77 -0
- package/dist/commands/agent/restart.d.ts +4 -0
- package/dist/commands/agent/restart.d.ts.map +1 -0
- package/dist/commands/agent/restart.js +33 -0
- package/dist/commands/agent/set-log-level.d.ts +8 -0
- package/dist/commands/agent/set-log-level.d.ts.map +1 -0
- package/dist/commands/agent/set-log-level.js +133 -0
- package/dist/commands/agent/setup.d.ts +9 -0
- package/dist/commands/agent/setup.d.ts.map +1 -0
- package/dist/commands/agent/setup.js +149 -0
- package/dist/commands/agent/start.d.ts +12 -0
- package/dist/commands/agent/start.d.ts.map +1 -0
- package/dist/commands/agent/start.js +308 -0
- package/dist/commands/agent/status.d.ts +7 -0
- package/dist/commands/agent/status.d.ts.map +1 -0
- package/dist/commands/agent/status.js +68 -0
- package/dist/commands/agent/stop.d.ts +4 -0
- package/dist/commands/agent/stop.d.ts.map +1 -0
- package/dist/commands/agent/stop.js +33 -0
- package/dist/commands/agent/uninstall.d.ts +7 -0
- package/dist/commands/agent/uninstall.d.ts.map +1 -0
- package/dist/commands/agent/uninstall.js +168 -0
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +24 -1190
- package/dist/commands/ai/helpers.d.ts +139 -0
- package/dist/commands/ai/helpers.d.ts.map +1 -0
- package/dist/commands/ai/helpers.js +1470 -0
- package/dist/commands/ai/serve.d.ts +6 -0
- package/dist/commands/ai/serve.d.ts.map +1 -0
- package/dist/commands/ai/serve.js +124 -0
- package/dist/commands/ai/setup.d.ts +14 -0
- package/dist/commands/ai/setup.d.ts.map +1 -0
- package/dist/commands/ai/setup.js +86 -0
- package/dist/commands/ai/status.d.ts +2 -0
- package/dist/commands/ai/status.d.ts.map +1 -0
- package/dist/commands/ai/status.js +160 -0
- package/dist/commands/ai/stop.d.ts +2 -0
- package/dist/commands/ai/stop.d.ts.map +1 -0
- package/dist/commands/ai/stop.js +21 -0
- package/dist/commands/ai/teardown.d.ts +5 -0
- package/dist/commands/ai/teardown.d.ts.map +1 -0
- package/dist/commands/ai/teardown.js +78 -0
- package/dist/commands/ai/test.d.ts +4 -0
- package/dist/commands/ai/test.d.ts.map +1 -0
- package/dist/commands/ai/test.js +65 -0
- package/dist/commands/ai.d.ts.map +1 -1
- package/dist/commands/ai.js +16 -1938
- package/dist/commands/application/api-keys/create.d.ts +6 -0
- package/dist/commands/application/api-keys/create.d.ts.map +1 -0
- package/dist/commands/application/api-keys/create.js +68 -0
- package/dist/commands/application/api-keys/delete.d.ts +6 -0
- package/dist/commands/application/api-keys/delete.d.ts.map +1 -0
- package/dist/commands/application/api-keys/delete.js +79 -0
- package/dist/commands/application/api-keys/list.d.ts +5 -0
- package/dist/commands/application/api-keys/list.d.ts.map +1 -0
- package/dist/commands/application/api-keys/list.js +65 -0
- package/dist/commands/application/api-keys.d.ts +3 -0
- package/dist/commands/application/api-keys.d.ts.map +1 -0
- package/dist/commands/application/api-keys.js +227 -0
- package/dist/commands/application/create-compose.d.ts +3 -0
- package/dist/commands/application/create-compose.d.ts.map +1 -0
- package/dist/commands/application/create-compose.js +381 -0
- package/dist/commands/application/create-docker-compose.d.ts +10 -0
- package/dist/commands/application/create-docker-compose.d.ts.map +1 -0
- package/dist/commands/application/create-docker-compose.js +334 -0
- package/dist/commands/application/create-existing.d.ts +14 -0
- package/dist/commands/application/create-existing.d.ts.map +1 -0
- package/dist/commands/application/create-existing.js +359 -0
- package/dist/commands/application/create-interactive.d.ts +3 -0
- package/dist/commands/application/create-interactive.d.ts.map +1 -0
- package/dist/commands/application/create-interactive.js +326 -0
- package/dist/commands/application/create-managed-process.d.ts +15 -0
- package/dist/commands/application/create-managed-process.d.ts.map +1 -0
- package/dist/commands/application/create-managed-process.js +371 -0
- package/dist/commands/application/create-stubs.d.ts +4 -0
- package/dist/commands/application/create-stubs.d.ts.map +1 -0
- package/dist/commands/application/create-stubs.js +19 -0
- package/dist/commands/application/create-workload.d.ts +5 -0
- package/dist/commands/application/create-workload.d.ts.map +1 -0
- package/dist/commands/application/create-workload.js +48 -0
- package/dist/commands/application/delete.d.ts +6 -0
- package/dist/commands/application/delete.d.ts.map +1 -0
- package/dist/commands/application/delete.js +76 -0
- package/dist/commands/application/get.d.ts +5 -0
- package/dist/commands/application/get.d.ts.map +1 -0
- package/dist/commands/application/get.js +35 -0
- package/dist/commands/application/list.d.ts +4 -0
- package/dist/commands/application/list.d.ts.map +1 -0
- package/dist/commands/application/list.js +41 -0
- package/dist/commands/application/short-codes/create.d.ts +7 -0
- package/dist/commands/application/short-codes/create.d.ts.map +1 -0
- package/dist/commands/application/short-codes/create.js +69 -0
- package/dist/commands/application/short-codes/delete.d.ts +6 -0
- package/dist/commands/application/short-codes/delete.d.ts.map +1 -0
- package/dist/commands/application/short-codes/delete.js +79 -0
- package/dist/commands/application/short-codes/list.d.ts +5 -0
- package/dist/commands/application/short-codes/list.d.ts.map +1 -0
- package/dist/commands/application/short-codes/list.js +63 -0
- package/dist/commands/application/short-codes/toggle.d.ts +5 -0
- package/dist/commands/application/short-codes/toggle.d.ts.map +1 -0
- package/dist/commands/application/short-codes/toggle.js +71 -0
- package/dist/commands/application/short-codes.d.ts +3 -0
- package/dist/commands/application/short-codes.d.ts.map +1 -0
- package/dist/commands/application/short-codes.js +226 -0
- package/dist/commands/application/toggle.d.ts +2 -0
- package/dist/commands/application/toggle.d.ts.map +1 -0
- package/dist/commands/application/toggle.js +78 -0
- package/dist/commands/application/update.d.ts +4 -0
- package/dist/commands/application/update.d.ts.map +1 -0
- package/dist/commands/application/update.js +11 -0
- package/dist/commands/application.d.ts.map +1 -1
- package/dist/commands/application.js +32 -1630
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +31 -49
- package/dist/commands/base/BaseCommand.d.ts +3 -3
- package/dist/commands/base/BaseCommand.d.ts.map +1 -1
- package/dist/commands/base/BaseCommand.js +3 -3
- package/dist/commands/base/command-wrapper.d.ts +0 -4
- package/dist/commands/base/command-wrapper.d.ts.map +1 -1
- package/dist/commands/base/command-wrapper.js +13 -14
- package/dist/commands/base/middleware.d.ts +3 -3
- package/dist/commands/base/middleware.d.ts.map +1 -1
- package/dist/commands/base/middleware.js +4 -4
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +15 -32
- package/dist/commands/connectivity.d.ts.map +1 -1
- package/dist/commands/connectivity.js +6 -11
- package/dist/commands/debug.d.ts.map +1 -1
- package/dist/commands/debug.js +187 -46
- package/dist/commands/discover.d.ts.map +1 -1
- package/dist/commands/discover.js +4 -17
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +37 -77
- package/dist/commands/managedGateway/create.d.ts +6 -0
- package/dist/commands/managedGateway/create.d.ts.map +1 -0
- package/dist/commands/managedGateway/create.js +50 -0
- package/dist/commands/managedGateway/delete.d.ts +5 -0
- package/dist/commands/managedGateway/delete.d.ts.map +1 -0
- package/dist/commands/managedGateway/delete.js +57 -0
- package/dist/commands/managedGateway/get.d.ts +4 -0
- package/dist/commands/managedGateway/get.d.ts.map +1 -0
- package/dist/commands/managedGateway/get.js +71 -0
- package/dist/commands/managedGateway/haproxy-stats.d.ts +6 -0
- package/dist/commands/managedGateway/haproxy-stats.d.ts.map +1 -0
- package/dist/commands/managedGateway/haproxy-stats.js +131 -0
- package/dist/commands/managedGateway/list.d.ts +4 -0
- package/dist/commands/managedGateway/list.d.ts.map +1 -0
- package/dist/commands/managedGateway/list.js +50 -0
- package/dist/commands/managedGateway/logs.d.ts +10 -0
- package/dist/commands/managedGateway/logs.d.ts.map +1 -0
- package/dist/commands/managedGateway/logs.js +100 -0
- package/dist/commands/managedGateway/reboot.d.ts +5 -0
- package/dist/commands/managedGateway/reboot.d.ts.map +1 -0
- package/dist/commands/managedGateway/reboot.js +95 -0
- package/dist/commands/managedGateway/resync.d.ts +10 -0
- package/dist/commands/managedGateway/resync.d.ts.map +1 -0
- package/dist/commands/managedGateway/resync.js +69 -0
- package/dist/commands/managedGateway/ssh.d.ts +4 -0
- package/dist/commands/managedGateway/ssh.d.ts.map +1 -0
- package/dist/commands/managedGateway/ssh.js +130 -0
- package/dist/commands/managedGateway/wipe-logs.d.ts +4 -0
- package/dist/commands/managedGateway/wipe-logs.d.ts.map +1 -0
- package/dist/commands/managedGateway/wipe-logs.js +67 -0
- package/dist/commands/managedGateway/wireguard.d.ts +4 -0
- package/dist/commands/managedGateway/wireguard.d.ts.map +1 -0
- package/dist/commands/managedGateway/wireguard.js +68 -0
- package/dist/commands/managedGateway.d.ts.map +1 -1
- package/dist/commands/managedGateway.js +61 -117
- package/dist/commands/utils/config-validator.d.ts +5 -5
- package/dist/commands/utils/config-validator.d.ts.map +1 -1
- package/dist/commands/utils/config-validator.js +8 -8
- package/dist/commands/utils/output-formatter.js +1 -1
- package/dist/config/app-config.d.ts +1 -1
- package/dist/config/app-config.js +2 -2
- package/dist/index.js +0 -3
- package/dist/services/LocalAgentManager.d.ts.map +1 -1
- package/dist/services/LocalAgentManager.js +4 -2
- package/dist/services/agentDeployment/AgentDeploymentService.d.ts +35 -0
- package/dist/services/agentDeployment/AgentDeploymentService.d.ts.map +1 -0
- package/dist/services/agentDeployment/AgentDeploymentService.js +35 -0
- package/dist/services/application/ApplicationService.d.ts +5 -4
- package/dist/services/application/ApplicationService.d.ts.map +1 -1
- package/dist/services/application/ApplicationService.js +22 -35
- package/dist/services/auth/AuthService.d.ts +5 -5
- package/dist/services/auth/AuthService.d.ts.map +1 -1
- package/dist/services/auth/AuthService.js +11 -58
- package/dist/services/daemon/DaemonManagerFactory.d.ts +2 -0
- package/dist/services/daemon/DaemonManagerFactory.d.ts.map +1 -1
- package/dist/services/daemon/DaemonManagerFactory.js +14 -6
- package/dist/services/diagnostics/DiagnosticsService.d.ts +89 -0
- package/dist/services/diagnostics/DiagnosticsService.d.ts.map +1 -0
- package/dist/services/diagnostics/DiagnosticsService.js +37 -0
- package/dist/services/edgible.d.ts +6 -4
- package/dist/services/edgible.d.ts.map +1 -1
- package/dist/services/edgible.js +36 -86
- package/dist/services/gateway/GatewayService.d.ts +5 -6
- package/dist/services/gateway/GatewayService.d.ts.map +1 -1
- package/dist/services/gateway/GatewayService.js +22 -36
- package/dist/services/instances.d.ts +34 -0
- package/dist/services/instances.d.ts.map +1 -0
- package/dist/services/instances.js +64 -0
- package/dist/services/managedGateway/ManagedGatewayService.d.ts +75 -0
- package/dist/services/managedGateway/ManagedGatewayService.d.ts.map +1 -0
- package/dist/services/managedGateway/ManagedGatewayService.js +44 -0
- package/dist/services/token/TokenManager.d.ts +56 -0
- package/dist/services/token/TokenManager.d.ts.map +1 -0
- package/dist/services/token/TokenManager.js +85 -0
- package/dist/types/validation/schemas.d.ts +22 -22
- package/dist/utils/PlatformDetector.d.ts +2 -0
- package/dist/utils/PlatformDetector.d.ts.map +1 -1
- package/dist/utils/PlatformDetector.js +5 -34
- package/dist/validation/schemas.d.ts +6 -6
- package/package.json +1 -1
|
@@ -40,8 +40,7 @@ exports.setupManagedGatewayCommands = setupManagedGatewayCommands;
|
|
|
40
40
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
41
41
|
const chalk_1 = __importDefault(require("chalk"));
|
|
42
42
|
const command_wrapper_1 = require("./base/command-wrapper");
|
|
43
|
-
const
|
|
44
|
-
const types_1 = require("../di/types");
|
|
43
|
+
const instances_1 = require("../services/instances");
|
|
45
44
|
const config_validator_1 = require("./utils/config-validator");
|
|
46
45
|
const log_formatter_1 = require("../utils/log-formatter");
|
|
47
46
|
/**
|
|
@@ -65,11 +64,7 @@ Examples:
|
|
|
65
64
|
.option('-t, --instance-type <type>', 'EC2 instance type', 't3.micro')
|
|
66
65
|
.alias('new')
|
|
67
66
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
68
|
-
|
|
69
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
70
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
71
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
72
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
67
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
73
68
|
requireAuth: true,
|
|
74
69
|
});
|
|
75
70
|
let gatewayName = options.name;
|
|
@@ -91,8 +86,8 @@ Examples:
|
|
|
91
86
|
]);
|
|
92
87
|
gatewayName = nameAnswer.name.trim();
|
|
93
88
|
}
|
|
94
|
-
logger.info('Creating managed gateway', { name: gatewayName, region, instanceType });
|
|
95
|
-
const result = await
|
|
89
|
+
instances_1.logger.info('Creating managed gateway', { name: gatewayName, region, instanceType });
|
|
90
|
+
const result = await instances_1.managedGatewayService.createManagedGateway({
|
|
96
91
|
name: gatewayName,
|
|
97
92
|
region,
|
|
98
93
|
instanceType
|
|
@@ -105,7 +100,6 @@ Examples:
|
|
|
105
100
|
console.log(chalk_1.default.white(` Status: ${result.gateway.status || 'N/A'}`));
|
|
106
101
|
console.log(chalk_1.default.white(` Created: ${new Date(result.gateway.createdAt).toLocaleString()}`));
|
|
107
102
|
}, {
|
|
108
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
109
103
|
requireAuth: true,
|
|
110
104
|
}));
|
|
111
105
|
managedGatewayCommand
|
|
@@ -114,15 +108,11 @@ Examples:
|
|
|
114
108
|
.option('--json', 'Output as JSON')
|
|
115
109
|
.alias('ls')
|
|
116
110
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
117
|
-
|
|
118
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
119
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
120
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
121
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
111
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
122
112
|
requireAuth: true,
|
|
123
113
|
});
|
|
124
|
-
logger.debug('Listing managed gateways');
|
|
125
|
-
const response = await
|
|
114
|
+
instances_1.logger.debug('Listing managed gateways');
|
|
115
|
+
const response = await instances_1.managedGatewayService.listManagedGateways();
|
|
126
116
|
if (!response.success || !response.gateways || response.gateways.length === 0) {
|
|
127
117
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
128
118
|
return;
|
|
@@ -155,7 +145,6 @@ Examples:
|
|
|
155
145
|
console.log(chalk_1.default.white(` Created: ${new Date(gateway.createdAt).toLocaleString()}`));
|
|
156
146
|
});
|
|
157
147
|
}, {
|
|
158
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
159
148
|
requireAuth: true,
|
|
160
149
|
}));
|
|
161
150
|
managedGatewayCommand
|
|
@@ -165,17 +154,13 @@ Examples:
|
|
|
165
154
|
.alias('status')
|
|
166
155
|
.alias('info')
|
|
167
156
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
168
|
-
|
|
169
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
170
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
171
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
172
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
157
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
173
158
|
requireAuth: true,
|
|
174
159
|
});
|
|
175
160
|
let gatewayId = options.id;
|
|
176
161
|
if (!gatewayId) {
|
|
177
162
|
// List gateways first to allow selection
|
|
178
|
-
const listResponse = await
|
|
163
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
179
164
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
180
165
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
181
166
|
return;
|
|
@@ -194,8 +179,8 @@ Examples:
|
|
|
194
179
|
]);
|
|
195
180
|
gatewayId = answer.gatewayId;
|
|
196
181
|
}
|
|
197
|
-
logger.info('Getting managed gateway details', { gatewayId });
|
|
198
|
-
const response = await
|
|
182
|
+
instances_1.logger.info('Getting managed gateway details', { gatewayId });
|
|
183
|
+
const response = await instances_1.managedGatewayService.getManagedGateway(gatewayId);
|
|
199
184
|
if (!response.success || !response.gateway) {
|
|
200
185
|
console.log(chalk_1.default.red('✗ Managed gateway not found'));
|
|
201
186
|
return;
|
|
@@ -226,7 +211,6 @@ Examples:
|
|
|
226
211
|
console.log(chalk_1.default.white(` Application Count: ${gateway.health.applicationCount}`));
|
|
227
212
|
}
|
|
228
213
|
}, {
|
|
229
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
230
214
|
requireAuth: true,
|
|
231
215
|
}));
|
|
232
216
|
managedGatewayCommand
|
|
@@ -236,17 +220,13 @@ Examples:
|
|
|
236
220
|
.option('-f, --force', 'Force delete even if applications exist')
|
|
237
221
|
.alias('rm')
|
|
238
222
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
239
|
-
|
|
240
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
241
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
242
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
243
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
223
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
244
224
|
requireAuth: true,
|
|
245
225
|
});
|
|
246
226
|
let gatewayId = options.id;
|
|
247
227
|
if (!gatewayId) {
|
|
248
228
|
// List gateways first to allow selection
|
|
249
|
-
const listResponse = await
|
|
229
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
250
230
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
251
231
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
252
232
|
return;
|
|
@@ -275,15 +255,14 @@ Examples:
|
|
|
275
255
|
},
|
|
276
256
|
]);
|
|
277
257
|
if (!confirm.confirm) {
|
|
278
|
-
logger.info('Managed gateway deletion cancelled');
|
|
258
|
+
instances_1.logger.info('Managed gateway deletion cancelled');
|
|
279
259
|
console.log(chalk_1.default.gray('Deletion cancelled'));
|
|
280
260
|
return;
|
|
281
261
|
}
|
|
282
|
-
logger.info('Deleting managed gateway', { gatewayId, force: options.force || false });
|
|
283
|
-
await
|
|
262
|
+
instances_1.logger.info('Deleting managed gateway', { gatewayId, force: options.force || false });
|
|
263
|
+
await instances_1.managedGatewayService.deleteManagedGateway(gatewayId, options.force || false);
|
|
284
264
|
console.log(chalk_1.default.green('✓ Managed gateway deleted successfully!'));
|
|
285
265
|
}, {
|
|
286
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
287
266
|
requireAuth: true,
|
|
288
267
|
}));
|
|
289
268
|
managedGatewayCommand
|
|
@@ -299,17 +278,13 @@ Examples:
|
|
|
299
278
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
300
279
|
// Map --local to installFromLocal for backward compatibility
|
|
301
280
|
const installFromLocal = options.local || options.installFromLocal;
|
|
302
|
-
|
|
303
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
304
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
305
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
306
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
281
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
307
282
|
requireAuth: true,
|
|
308
283
|
});
|
|
309
284
|
let gatewayId = options.id;
|
|
310
285
|
if (!gatewayId) {
|
|
311
286
|
// List gateways first to allow selection
|
|
312
|
-
const listResponse = await
|
|
287
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
313
288
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
314
289
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
315
290
|
return;
|
|
@@ -328,7 +303,7 @@ Examples:
|
|
|
328
303
|
]);
|
|
329
304
|
gatewayId = answer.gatewayId;
|
|
330
305
|
}
|
|
331
|
-
logger.info('Resyncing agent on managed gateway', {
|
|
306
|
+
instances_1.logger.info('Resyncing agent on managed gateway', {
|
|
332
307
|
gatewayId,
|
|
333
308
|
version: options.version,
|
|
334
309
|
installFromLocal,
|
|
@@ -336,7 +311,7 @@ Examples:
|
|
|
336
311
|
wipeLogs: options.wipeLogs,
|
|
337
312
|
debug: options.debug
|
|
338
313
|
});
|
|
339
|
-
const result = await
|
|
314
|
+
const result = await instances_1.managedGatewayService.resyncManagedGatewayAgent(gatewayId, options.version, installFromLocal, options.reboot, options.wipeLogs, options.debug);
|
|
340
315
|
console.log(chalk_1.default.green('\n✓ Agent resynced successfully!'));
|
|
341
316
|
console.log(chalk_1.default.blue('\n📋 Resync Details:'));
|
|
342
317
|
console.log(chalk_1.default.white(` Gateway ID: ${gatewayId}`));
|
|
@@ -356,7 +331,6 @@ Examples:
|
|
|
356
331
|
console.log(chalk_1.default.yellow(` Reboot: Command sent (gateway is rebooting)`));
|
|
357
332
|
}
|
|
358
333
|
}, {
|
|
359
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
360
334
|
requireAuth: true,
|
|
361
335
|
}));
|
|
362
336
|
managedGatewayCommand
|
|
@@ -370,17 +344,13 @@ Examples:
|
|
|
370
344
|
.option('-c, --comprehensive', 'Show comprehensive diagnostics (status, system info, WireGuard, Caddy, etc.)')
|
|
371
345
|
.option('--single-line', 'Exclude data and error traces from output (single line per log entry)')
|
|
372
346
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
373
|
-
|
|
374
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
375
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
376
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
377
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
347
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
378
348
|
requireAuth: true,
|
|
379
349
|
});
|
|
380
350
|
let gatewayId = options.id;
|
|
381
351
|
if (!gatewayId) {
|
|
382
352
|
// List gateways first to allow selection
|
|
383
|
-
const listResponse = await
|
|
353
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
384
354
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
385
355
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
386
356
|
return;
|
|
@@ -404,7 +374,7 @@ Examples:
|
|
|
404
374
|
const level = options.level || 'all';
|
|
405
375
|
const module = options.module;
|
|
406
376
|
const comprehensive = options.comprehensive || false;
|
|
407
|
-
logger.info('Retrieving managed gateway logs', {
|
|
377
|
+
instances_1.logger.info('Retrieving managed gateway logs', {
|
|
408
378
|
gatewayId,
|
|
409
379
|
lines: follow ? undefined : lines,
|
|
410
380
|
follow,
|
|
@@ -418,7 +388,7 @@ Examples:
|
|
|
418
388
|
console.log(chalk_1.default.red('✗ Gateway ID is required'));
|
|
419
389
|
return;
|
|
420
390
|
}
|
|
421
|
-
const result = await
|
|
391
|
+
const result = await instances_1.managedGatewayService.getManagedGatewayLogs(gatewayId, {
|
|
422
392
|
lines: follow ? undefined : lines,
|
|
423
393
|
follow: follow,
|
|
424
394
|
level: level,
|
|
@@ -450,16 +420,15 @@ Examples:
|
|
|
450
420
|
}
|
|
451
421
|
}
|
|
452
422
|
else {
|
|
453
|
-
logger.error('Failed to retrieve logs');
|
|
423
|
+
instances_1.logger.error('Failed to retrieve logs');
|
|
454
424
|
console.log(chalk_1.default.red('✗ Failed to retrieve logs'));
|
|
455
425
|
}
|
|
456
426
|
}
|
|
457
427
|
catch (error) {
|
|
458
|
-
logger.error('Error retrieving managed gateway logs', error);
|
|
428
|
+
instances_1.logger.error('Error retrieving managed gateway logs', error);
|
|
459
429
|
console.log(chalk_1.default.red('✗ Error retrieving logs'));
|
|
460
430
|
}
|
|
461
431
|
}, {
|
|
462
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
463
432
|
requireAuth: true,
|
|
464
433
|
}));
|
|
465
434
|
managedGatewayCommand
|
|
@@ -468,17 +437,13 @@ Examples:
|
|
|
468
437
|
.alias('wg')
|
|
469
438
|
.option('-i, --id <id>', 'Gateway ID to show WireGuard status for')
|
|
470
439
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
471
|
-
|
|
472
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
473
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
474
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
475
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
440
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
476
441
|
requireAuth: true,
|
|
477
442
|
});
|
|
478
443
|
let gatewayId = options.id;
|
|
479
444
|
if (!gatewayId) {
|
|
480
445
|
// List gateways first to allow selection
|
|
481
|
-
const listResponse = await
|
|
446
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
482
447
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
483
448
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
484
449
|
return;
|
|
@@ -497,13 +462,13 @@ Examples:
|
|
|
497
462
|
]);
|
|
498
463
|
gatewayId = answer.gatewayId;
|
|
499
464
|
}
|
|
500
|
-
logger.info('Retrieving WireGuard status', { gatewayId });
|
|
465
|
+
instances_1.logger.info('Retrieving WireGuard status', { gatewayId });
|
|
501
466
|
try {
|
|
502
467
|
if (!gatewayId) {
|
|
503
468
|
console.log(chalk_1.default.red('✗ Gateway ID is required'));
|
|
504
469
|
return;
|
|
505
470
|
}
|
|
506
|
-
const result = await
|
|
471
|
+
const result = await instances_1.diagnosticsService.executeManagedGatewayCommand(gatewayId, 'sudo wg show');
|
|
507
472
|
if (result.success) {
|
|
508
473
|
if (result.output.trim()) {
|
|
509
474
|
console.log(result.output);
|
|
@@ -513,7 +478,7 @@ Examples:
|
|
|
513
478
|
}
|
|
514
479
|
}
|
|
515
480
|
else {
|
|
516
|
-
logger.error('Failed to retrieve WireGuard status', { error: result.error });
|
|
481
|
+
instances_1.logger.error('Failed to retrieve WireGuard status', { error: result.error });
|
|
517
482
|
console.log(chalk_1.default.red('✗ Failed to retrieve WireGuard status'));
|
|
518
483
|
if (result.error) {
|
|
519
484
|
console.log(chalk_1.default.red(` Error: ${result.error}`));
|
|
@@ -521,12 +486,11 @@ Examples:
|
|
|
521
486
|
}
|
|
522
487
|
}
|
|
523
488
|
catch (error) {
|
|
524
|
-
logger.error('Error retrieving WireGuard status', error);
|
|
489
|
+
instances_1.logger.error('Error retrieving WireGuard status', error);
|
|
525
490
|
console.log(chalk_1.default.red('✗ Error retrieving WireGuard status'));
|
|
526
491
|
console.log(chalk_1.default.red(` ${error instanceof Error ? error.message : String(error)}`));
|
|
527
492
|
}
|
|
528
493
|
}, {
|
|
529
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
530
494
|
requireAuth: true,
|
|
531
495
|
}));
|
|
532
496
|
managedGatewayCommand
|
|
@@ -535,17 +499,13 @@ Examples:
|
|
|
535
499
|
.option('-i, --id <id>', 'Gateway ID to reboot')
|
|
536
500
|
.option('-f, --force', 'Force reboot without confirmation')
|
|
537
501
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
538
|
-
|
|
539
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
540
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
541
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
542
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
502
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
543
503
|
requireAuth: true,
|
|
544
504
|
});
|
|
545
505
|
let gatewayId = options.id;
|
|
546
506
|
if (!gatewayId) {
|
|
547
507
|
// List gateways first to allow selection
|
|
548
|
-
const listResponse = await
|
|
508
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
549
509
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
550
510
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
551
511
|
return;
|
|
@@ -575,12 +535,12 @@ Examples:
|
|
|
575
535
|
},
|
|
576
536
|
]);
|
|
577
537
|
if (!confirm.confirm) {
|
|
578
|
-
logger.info('Gateway reboot cancelled');
|
|
538
|
+
instances_1.logger.info('Gateway reboot cancelled');
|
|
579
539
|
console.log(chalk_1.default.gray('Reboot cancelled'));
|
|
580
540
|
return;
|
|
581
541
|
}
|
|
582
542
|
}
|
|
583
|
-
logger.info('Rebooting managed gateway', { gatewayId });
|
|
543
|
+
instances_1.logger.info('Rebooting managed gateway', { gatewayId });
|
|
584
544
|
try {
|
|
585
545
|
if (!gatewayId) {
|
|
586
546
|
console.log(chalk_1.default.red('✗ Gateway ID is required'));
|
|
@@ -588,7 +548,7 @@ Examples:
|
|
|
588
548
|
}
|
|
589
549
|
console.log(chalk_1.default.blue(`Rebooting gateway ${gatewayId}...`));
|
|
590
550
|
// Execute reboot command (this will disconnect SSH, which is expected)
|
|
591
|
-
const result = await
|
|
551
|
+
const result = await instances_1.diagnosticsService.executeManagedGatewayCommand(gatewayId, 'sudo reboot');
|
|
592
552
|
// Note: The command may not return successfully because the gateway reboots
|
|
593
553
|
// and disconnects the SSH session. We check if we got an error that suggests
|
|
594
554
|
// the connection was lost (which is expected during reboot)
|
|
@@ -598,7 +558,7 @@ Examples:
|
|
|
598
558
|
console.log(chalk_1.default.gray(' The gateway should be back online in a few minutes.'));
|
|
599
559
|
}
|
|
600
560
|
else {
|
|
601
|
-
logger.error('Failed to reboot gateway', { error: result.error });
|
|
561
|
+
instances_1.logger.error('Failed to reboot gateway', { error: result.error });
|
|
602
562
|
console.log(chalk_1.default.red('✗ Failed to send reboot command'));
|
|
603
563
|
if (result.error) {
|
|
604
564
|
console.log(chalk_1.default.red(` Error: ${result.error}`));
|
|
@@ -614,13 +574,12 @@ Examples:
|
|
|
614
574
|
console.log(chalk_1.default.gray(' The gateway should be back online in a few minutes.'));
|
|
615
575
|
}
|
|
616
576
|
else {
|
|
617
|
-
logger.error('Error rebooting gateway', error);
|
|
577
|
+
instances_1.logger.error('Error rebooting gateway', error);
|
|
618
578
|
console.log(chalk_1.default.red('✗ Error rebooting gateway'));
|
|
619
579
|
console.log(chalk_1.default.red(` ${errorMessage}`));
|
|
620
580
|
}
|
|
621
581
|
}
|
|
622
582
|
}, {
|
|
623
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
624
583
|
requireAuth: true,
|
|
625
584
|
}));
|
|
626
585
|
managedGatewayCommand
|
|
@@ -628,17 +587,13 @@ Examples:
|
|
|
628
587
|
.description('Connect to a managed gateway via SSH (interactive shell)')
|
|
629
588
|
.option('-i, --id <id>', 'Gateway ID to connect to')
|
|
630
589
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
631
|
-
|
|
632
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
633
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
634
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
635
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
590
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
636
591
|
requireAuth: true,
|
|
637
592
|
});
|
|
638
593
|
let gatewayId = options.id;
|
|
639
594
|
if (!gatewayId) {
|
|
640
595
|
// List gateways first to allow selection
|
|
641
|
-
const listResponse = await
|
|
596
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
642
597
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
643
598
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
644
599
|
return;
|
|
@@ -657,9 +612,9 @@ Examples:
|
|
|
657
612
|
]);
|
|
658
613
|
gatewayId = answer.gatewayId;
|
|
659
614
|
}
|
|
660
|
-
logger.info('Connecting to managed gateway via SSH', { gatewayId });
|
|
615
|
+
instances_1.logger.info('Connecting to managed gateway via SSH', { gatewayId });
|
|
661
616
|
// Get managed gateway details
|
|
662
|
-
const gatewayDetails = await
|
|
617
|
+
const gatewayDetails = await instances_1.managedGatewayService.getManagedGateway(gatewayId);
|
|
663
618
|
if (!gatewayDetails.success || !gatewayDetails.gateway) {
|
|
664
619
|
console.log(chalk_1.default.red('✗ Managed gateway not found'));
|
|
665
620
|
return;
|
|
@@ -672,7 +627,7 @@ Examples:
|
|
|
672
627
|
}
|
|
673
628
|
// Get SSH key from backend
|
|
674
629
|
console.log(chalk_1.default.gray('Fetching SSH key from backend...'));
|
|
675
|
-
const sshKeyResponse = await
|
|
630
|
+
const sshKeyResponse = await instances_1.managedGatewayService.getManagedGatewaySSHKey(gatewayId);
|
|
676
631
|
if (!sshKeyResponse.success || !sshKeyResponse.sshPrivateKey) {
|
|
677
632
|
console.log(chalk_1.default.red('✗ Failed to retrieve SSH key for managed gateway'));
|
|
678
633
|
return;
|
|
@@ -702,18 +657,18 @@ Examples:
|
|
|
702
657
|
shell: false,
|
|
703
658
|
});
|
|
704
659
|
sshProcess.on('error', (error) => {
|
|
705
|
-
logger.error('SSH connection error', error);
|
|
660
|
+
instances_1.logger.error('SSH connection error', error);
|
|
706
661
|
console.error(chalk_1.default.red('✗ SSH connection error:'), error.message);
|
|
707
662
|
console.log(chalk_1.default.yellow('\nMake sure SSH is installed and the key file has correct permissions'));
|
|
708
663
|
throw error;
|
|
709
664
|
});
|
|
710
665
|
sshProcess.on('exit', (code) => {
|
|
711
666
|
if (code === 0) {
|
|
712
|
-
logger.debug('SSH session ended normally');
|
|
667
|
+
instances_1.logger.debug('SSH session ended normally');
|
|
713
668
|
console.log(chalk_1.default.gray('\nSSH session ended'));
|
|
714
669
|
}
|
|
715
670
|
else {
|
|
716
|
-
logger.warn('SSH session ended with non-zero code', { code });
|
|
671
|
+
instances_1.logger.warn('SSH session ended with non-zero code', { code });
|
|
717
672
|
console.log(chalk_1.default.yellow(`\nSSH session ended with code: ${code}`));
|
|
718
673
|
}
|
|
719
674
|
});
|
|
@@ -731,7 +686,7 @@ Examples:
|
|
|
731
686
|
});
|
|
732
687
|
}
|
|
733
688
|
catch (error) {
|
|
734
|
-
logger.error('Error connecting to managed gateway via SSH', error);
|
|
689
|
+
instances_1.logger.error('Error connecting to managed gateway via SSH', error);
|
|
735
690
|
console.error(chalk_1.default.red('✗ Error connecting to managed gateway:'), error instanceof Error ? error.message : String(error));
|
|
736
691
|
throw error;
|
|
737
692
|
}
|
|
@@ -744,11 +699,10 @@ Examples:
|
|
|
744
699
|
}
|
|
745
700
|
catch (cleanupError) {
|
|
746
701
|
// Ignore cleanup errors
|
|
747
|
-
logger.debug('Failed to cleanup temp SSH key file', cleanupError);
|
|
702
|
+
instances_1.logger.debug('Failed to cleanup temp SSH key file', cleanupError);
|
|
748
703
|
}
|
|
749
704
|
}
|
|
750
705
|
}, {
|
|
751
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
752
706
|
requireAuth: true,
|
|
753
707
|
}));
|
|
754
708
|
managedGatewayCommand
|
|
@@ -756,17 +710,13 @@ Examples:
|
|
|
756
710
|
.description('Clear agent log file on a managed gateway')
|
|
757
711
|
.option('-i, --id <id>', 'Gateway ID to wipe logs for')
|
|
758
712
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
759
|
-
|
|
760
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
761
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
762
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
763
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
713
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
764
714
|
requireAuth: true,
|
|
765
715
|
});
|
|
766
716
|
let gatewayId = options.id;
|
|
767
717
|
if (!gatewayId) {
|
|
768
718
|
// List gateways first to allow selection
|
|
769
|
-
const listResponse = await
|
|
719
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
770
720
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
771
721
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
772
722
|
return;
|
|
@@ -785,7 +735,7 @@ Examples:
|
|
|
785
735
|
]);
|
|
786
736
|
gatewayId = answer.gatewayId;
|
|
787
737
|
}
|
|
788
|
-
logger.info('Wiping managed gateway logs', { gatewayId });
|
|
738
|
+
instances_1.logger.info('Wiping managed gateway logs', { gatewayId });
|
|
789
739
|
// Confirm action
|
|
790
740
|
const confirm = await inquirer_1.default.prompt([
|
|
791
741
|
{
|
|
@@ -796,12 +746,12 @@ Examples:
|
|
|
796
746
|
},
|
|
797
747
|
]);
|
|
798
748
|
if (!confirm.confirm) {
|
|
799
|
-
logger.info('Log wipe cancelled');
|
|
749
|
+
instances_1.logger.info('Log wipe cancelled');
|
|
800
750
|
console.log(chalk_1.default.gray('Log wipe cancelled'));
|
|
801
751
|
return;
|
|
802
752
|
}
|
|
803
753
|
// Get managed gateway logs and wipe them
|
|
804
|
-
const result = await
|
|
754
|
+
const result = await instances_1.diagnosticsService.wipeManagedGatewayLogs(gatewayId);
|
|
805
755
|
if (result.success) {
|
|
806
756
|
console.log(chalk_1.default.green('✓ Managed gateway logs cleared successfully!'));
|
|
807
757
|
console.log(chalk_1.default.gray(` Log file: ${result.logFile || 'agent.log'}`));
|
|
@@ -813,7 +763,6 @@ Examples:
|
|
|
813
763
|
}
|
|
814
764
|
}
|
|
815
765
|
}, {
|
|
816
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
817
766
|
requireAuth: true,
|
|
818
767
|
}));
|
|
819
768
|
managedGatewayCommand
|
|
@@ -824,17 +773,13 @@ Examples:
|
|
|
824
773
|
.option('-o, --output <file>', 'Output file path (default: haproxy-stats.html)')
|
|
825
774
|
.option('-p, --port <port>', 'HAProxy stats port (default: 8404)')
|
|
826
775
|
.action((0, command_wrapper_1.wrapCommand)(async (options) => {
|
|
827
|
-
|
|
828
|
-
const logger = container.get(types_1.TYPES.Logger);
|
|
829
|
-
const configRepository = container.get(types_1.TYPES.ConfigRepository);
|
|
830
|
-
const edgibleService = container.get(types_1.TYPES.EdgibleService);
|
|
831
|
-
(0, config_validator_1.validateConfig)(configRepository, {
|
|
776
|
+
(0, config_validator_1.validateConfig)(instances_1.configManager, {
|
|
832
777
|
requireAuth: true,
|
|
833
778
|
});
|
|
834
779
|
let gatewayId = options.id;
|
|
835
780
|
// If no gateway ID provided, let user select
|
|
836
781
|
if (!gatewayId) {
|
|
837
|
-
const listResponse = await
|
|
782
|
+
const listResponse = await instances_1.managedGatewayService.listManagedGateways();
|
|
838
783
|
if (!listResponse.success || !listResponse.gateways || listResponse.gateways.length === 0) {
|
|
839
784
|
console.log(chalk_1.default.yellow('⚠ No managed gateways found'));
|
|
840
785
|
return;
|
|
@@ -855,7 +800,7 @@ Examples:
|
|
|
855
800
|
}
|
|
856
801
|
const outputFile = options.output || 'haproxy-stats.html';
|
|
857
802
|
const statsPort = options.port || '8404';
|
|
858
|
-
logger.info('Downloading HAProxy stats', { gatewayId, outputFile, statsPort });
|
|
803
|
+
instances_1.logger.info('Downloading HAProxy stats', { gatewayId, outputFile, statsPort });
|
|
859
804
|
try {
|
|
860
805
|
if (!gatewayId) {
|
|
861
806
|
console.log(chalk_1.default.red('✗ Gateway ID is required'));
|
|
@@ -863,7 +808,7 @@ Examples:
|
|
|
863
808
|
}
|
|
864
809
|
// First check if HAProxy is running and stats are available
|
|
865
810
|
const checkCommand = `curl -s -o /dev/null -w "%{http_code}" http://localhost:${statsPort}/stats`;
|
|
866
|
-
const checkResult = await
|
|
811
|
+
const checkResult = await instances_1.diagnosticsService.executeManagedGatewayCommand(gatewayId, checkCommand);
|
|
867
812
|
if (!checkResult.success) {
|
|
868
813
|
console.log(chalk_1.default.red('✗ Failed to check HAProxy stats availability'));
|
|
869
814
|
if (checkResult.error) {
|
|
@@ -882,7 +827,7 @@ Examples:
|
|
|
882
827
|
console.log(chalk_1.default.blue('📊 Downloading HAProxy stats...'));
|
|
883
828
|
// Download the stats HTML
|
|
884
829
|
const downloadCommand = `curl -s http://localhost:${statsPort}/stats`;
|
|
885
|
-
const result = await
|
|
830
|
+
const result = await instances_1.diagnosticsService.executeManagedGatewayCommand(gatewayId, downloadCommand);
|
|
886
831
|
if (result.success) {
|
|
887
832
|
if (result.output.trim()) {
|
|
888
833
|
// Write to file
|
|
@@ -899,7 +844,7 @@ Examples:
|
|
|
899
844
|
}
|
|
900
845
|
}
|
|
901
846
|
else {
|
|
902
|
-
logger.error('Failed to download HAProxy stats', { error: result.error });
|
|
847
|
+
instances_1.logger.error('Failed to download HAProxy stats', { error: result.error });
|
|
903
848
|
console.log(chalk_1.default.red('✗ Failed to download HAProxy stats'));
|
|
904
849
|
if (result.error) {
|
|
905
850
|
console.log(chalk_1.default.red(` Error: ${result.error}`));
|
|
@@ -907,12 +852,11 @@ Examples:
|
|
|
907
852
|
}
|
|
908
853
|
}
|
|
909
854
|
catch (error) {
|
|
910
|
-
logger.error('Error downloading HAProxy stats', error);
|
|
855
|
+
instances_1.logger.error('Error downloading HAProxy stats', error);
|
|
911
856
|
console.log(chalk_1.default.red('✗ Error downloading HAProxy stats'));
|
|
912
857
|
throw error;
|
|
913
858
|
}
|
|
914
859
|
}, {
|
|
915
|
-
configRepository: (0, container_1.getContainer)().get(types_1.TYPES.ConfigRepository),
|
|
916
860
|
requireAuth: true,
|
|
917
861
|
}));
|
|
918
862
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Configuration validation utilities
|
|
3
3
|
* Centralizes config validation logic
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { ConfigManager } from '../../state/config';
|
|
6
6
|
export interface ValidationOptions {
|
|
7
7
|
requireAuth?: boolean;
|
|
8
8
|
requireOrganization?: boolean;
|
|
@@ -13,17 +13,17 @@ export interface ValidationOptions {
|
|
|
13
13
|
/**
|
|
14
14
|
* Validate configuration based on requirements
|
|
15
15
|
*/
|
|
16
|
-
export declare function validateConfig(
|
|
16
|
+
export declare function validateConfig(configManager: ConfigManager, options?: ValidationOptions): void;
|
|
17
17
|
/**
|
|
18
18
|
* Get organization ID or throw error
|
|
19
19
|
*/
|
|
20
|
-
export declare function requireOrganizationId(
|
|
20
|
+
export declare function requireOrganizationId(configManager: ConfigManager): string;
|
|
21
21
|
/**
|
|
22
22
|
* Get device ID or throw error
|
|
23
23
|
*/
|
|
24
|
-
export declare function requireDeviceId(
|
|
24
|
+
export declare function requireDeviceId(configManager: ConfigManager): string;
|
|
25
25
|
/**
|
|
26
26
|
* Get email or throw error
|
|
27
27
|
*/
|
|
28
|
-
export declare function requireEmail(
|
|
28
|
+
export declare function requireEmail(configManager: ConfigManager): string;
|
|
29
29
|
//# sourceMappingURL=config-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../../src/commands/utils/config-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config-validator.d.ts","sourceRoot":"","sources":["../../../src/commands/utils/config-validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,aAAa,EAC5B,OAAO,GAAE,iBAAsB,GAC9B,IAAI,CA2CN;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAM1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAMpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAMjE"}
|
|
@@ -12,9 +12,9 @@ const errors_1 = require("../../utils/errors");
|
|
|
12
12
|
/**
|
|
13
13
|
* Validate configuration based on requirements
|
|
14
14
|
*/
|
|
15
|
-
function validateConfig(
|
|
15
|
+
function validateConfig(configManager, options = {}) {
|
|
16
16
|
const { requireAuth = false, requireOrganization = false, requireDeviceId = false, requireEmail = false, requireAwsProfile = false, } = options;
|
|
17
|
-
const config =
|
|
17
|
+
const config = configManager.getConfig();
|
|
18
18
|
if (requireAuth) {
|
|
19
19
|
const hasTokens = !!(config.accessToken || config.idToken);
|
|
20
20
|
const hasDeviceCreds = !!(config.deviceId && config.devicePassword);
|
|
@@ -46,8 +46,8 @@ function validateConfig(configRepository, options = {}) {
|
|
|
46
46
|
/**
|
|
47
47
|
* Get organization ID or throw error
|
|
48
48
|
*/
|
|
49
|
-
function requireOrganizationId(
|
|
50
|
-
const config =
|
|
49
|
+
function requireOrganizationId(configManager) {
|
|
50
|
+
const config = configManager.getConfig();
|
|
51
51
|
if (!config.organizationId) {
|
|
52
52
|
throw new errors_1.ConfigError('No organization ID found. Please login first.');
|
|
53
53
|
}
|
|
@@ -56,8 +56,8 @@ function requireOrganizationId(configRepository) {
|
|
|
56
56
|
/**
|
|
57
57
|
* Get device ID or throw error
|
|
58
58
|
*/
|
|
59
|
-
function requireDeviceId(
|
|
60
|
-
const config =
|
|
59
|
+
function requireDeviceId(configManager) {
|
|
60
|
+
const config = configManager.getConfig();
|
|
61
61
|
if (!config.deviceId) {
|
|
62
62
|
throw new errors_1.ConfigError('No device ID found. Please login first.');
|
|
63
63
|
}
|
|
@@ -66,8 +66,8 @@ function requireDeviceId(configRepository) {
|
|
|
66
66
|
/**
|
|
67
67
|
* Get email or throw error
|
|
68
68
|
*/
|
|
69
|
-
function requireEmail(
|
|
70
|
-
const config =
|
|
69
|
+
function requireEmail(configManager) {
|
|
70
|
+
const config = configManager.getConfig();
|
|
71
71
|
if (!config.email) {
|
|
72
72
|
throw new errors_1.ConfigError('No email found in configuration.');
|
|
73
73
|
}
|