@joltdesign/scripts 0.19.3 → 0.20.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.
- package/dist/AWSConsoleUrlGenerator.js +59 -0
- package/dist/AWSConsoleUrlGenerator.js.map +1 -0
- package/dist/Command/AWS.js +255 -12
- package/dist/Command/AWS.js.map +1 -1
- package/dist/Command/Cache.js +1 -1
- package/dist/Command/Cache.js.map +1 -1
- package/dist/Command/DB.js +31 -17
- package/dist/Command/DB.js.map +1 -1
- package/dist/Command/Docker.js +1 -1
- package/dist/Command/Docker.js.map +1 -1
- package/dist/Command/JoltCommand.js +43 -0
- package/dist/Command/JoltCommand.js.map +1 -1
- package/dist/Command/Nexcess.js +6 -0
- package/dist/Command/Nexcess.js.map +1 -1
- package/dist/Command/Prepare.js +12 -1
- package/dist/Command/Prepare.js.map +1 -1
- package/dist/Command/SSH.js +10 -10
- package/dist/Command/SSH.js.map +1 -1
- package/dist/Command/WP.js +2 -1
- package/dist/Command/WP.js.map +1 -1
- package/dist/Config.js +45 -16
- package/dist/Config.js.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/errors.js +13 -0
- package/dist/errors.js.map +1 -0
- package/dist/schemas.js +11 -0
- package/dist/schemas.js.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.js +145 -11
- package/dist/utils.js.map +1 -1
- package/package.json +13 -5
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Console URL Generator
|
|
3
|
+
*
|
|
4
|
+
* Utility for generating AWS console URLs for various services
|
|
5
|
+
*/
|
|
6
|
+
export const AWSConsoleUrlGenerator = {
|
|
7
|
+
/**
|
|
8
|
+
* Generate ECS service console URL
|
|
9
|
+
*/
|
|
10
|
+
ecsService(region, cluster, service) {
|
|
11
|
+
return `https://${region}.console.aws.amazon.com/ecs/v2/clusters/${cluster}/services/${service}`;
|
|
12
|
+
},
|
|
13
|
+
/**
|
|
14
|
+
* Generate ECS cluster console URL
|
|
15
|
+
*/
|
|
16
|
+
ecsCluster(region, cluster) {
|
|
17
|
+
return `https://${region}.console.aws.amazon.com/ecs/v2/clusters/${cluster}`;
|
|
18
|
+
},
|
|
19
|
+
/**
|
|
20
|
+
* Generate S3 bucket console URL
|
|
21
|
+
*/
|
|
22
|
+
s3Bucket(_region, bucket) {
|
|
23
|
+
return `https://s3.console.aws.amazon.com/s3/buckets/${bucket}`;
|
|
24
|
+
},
|
|
25
|
+
/**
|
|
26
|
+
* Generate CloudWatch log group console URL
|
|
27
|
+
*/
|
|
28
|
+
cloudWatchLogGroup(region, logGroup) {
|
|
29
|
+
const encodedLogGroup = encodeURIComponent(logGroup);
|
|
30
|
+
return `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#logsV2:log-groups/log-group/${encodedLogGroup}`;
|
|
31
|
+
},
|
|
32
|
+
/**
|
|
33
|
+
* Generate CodeBuild project console URL
|
|
34
|
+
*/
|
|
35
|
+
codeBuildProject(region, projectName) {
|
|
36
|
+
return `https://${region}.console.aws.amazon.com/codesuite/codebuild/projects/${projectName}`;
|
|
37
|
+
},
|
|
38
|
+
/**
|
|
39
|
+
* Generate CodeBuild build console URL
|
|
40
|
+
*/
|
|
41
|
+
codeBuildBuild(region, projectName, buildId) {
|
|
42
|
+
return `https://${region}.console.aws.amazon.com/codesuite/codebuild/projects/${projectName}/build/${buildId}`;
|
|
43
|
+
},
|
|
44
|
+
/**
|
|
45
|
+
* Generate CloudFront distribution console URL
|
|
46
|
+
*/
|
|
47
|
+
cloudFrontDistribution(_region, distributionId) {
|
|
48
|
+
// CloudFront console is always in us-east-1 region but we include region for consistency
|
|
49
|
+
return `https://console.aws.amazon.com/cloudfront/v3/home#/distributions/${distributionId}`;
|
|
50
|
+
},
|
|
51
|
+
/**
|
|
52
|
+
* Extract bucket name from S3 URI
|
|
53
|
+
*/
|
|
54
|
+
extractS3Bucket(s3Uri) {
|
|
55
|
+
const match = s3Uri.match(/^s3:\/\/([^/]+)/);
|
|
56
|
+
return match ? match[1] : null;
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=AWSConsoleUrlGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AWSConsoleUrlGenerator.js","sourceRoot":"","sources":["../src/AWSConsoleUrlGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC;;OAEG;IACH,UAAU,CAAC,MAAc,EAAE,OAAe,EAAE,OAAe;QACzD,OAAO,WAAW,MAAM,2CAA2C,OAAO,aAAa,OAAO,EAAE,CAAA;IAClG,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAc,EAAE,OAAe;QACxC,OAAO,WAAW,MAAM,2CAA2C,OAAO,EAAE,CAAA;IAC9E,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,OAAe,EAAE,MAAc;QACtC,OAAO,gDAAgD,MAAM,EAAE,CAAA;IACjE,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAAc,EAAE,QAAgB;QACjD,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;QACpD,OAAO,WAAW,MAAM,kDAAkD,MAAM,gCAAgC,eAAe,EAAE,CAAA;IACnI,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAc,EAAE,WAAmB;QAClD,OAAO,WAAW,MAAM,wDAAwD,WAAW,EAAE,CAAA;IAC/F,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAc,EAAE,WAAmB,EAAE,OAAe;QACjE,OAAO,WAAW,MAAM,wDAAwD,WAAW,UAAU,OAAO,EAAE,CAAA;IAChH,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,OAAe,EAAE,cAAsB;QAC5D,yFAAyF;QACzF,OAAO,oEAAoE,cAAc,EAAE,CAAA;IAC7F,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,KAAa;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC5C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAChC,CAAC;CACF,CAAA"}
|
package/dist/Command/AWS.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import ansis from 'ansis';
|
|
2
2
|
import { Option } from 'clipanion';
|
|
3
3
|
import * as t from 'typanion';
|
|
4
|
-
import {
|
|
4
|
+
import { AWSConsoleUrlGenerator } from '../AWSConsoleUrlGenerator.js';
|
|
5
|
+
import { delay, execC } from '../utils.js';
|
|
5
6
|
import JoltCommand from './JoltCommand.js';
|
|
6
7
|
class AWSCommand extends JoltCommand {
|
|
7
8
|
constructor() {
|
|
@@ -9,13 +10,46 @@ class AWSCommand extends JoltCommand {
|
|
|
9
10
|
this.requiredCommands = ['aws'];
|
|
10
11
|
this.region = Option.String('--region', { required: false });
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Get the AWS region to use for operations
|
|
15
|
+
*/
|
|
16
|
+
async getRegion() {
|
|
13
17
|
const { config, region } = this;
|
|
14
18
|
if (region) {
|
|
15
|
-
return
|
|
19
|
+
return await config.parseArg(region);
|
|
16
20
|
}
|
|
17
21
|
const configRegion = await config.get('awsRegion');
|
|
18
|
-
return configRegion
|
|
22
|
+
return configRegion || 'eu-west-1';
|
|
23
|
+
}
|
|
24
|
+
async getRegionArg() {
|
|
25
|
+
const region = await this.getRegion();
|
|
26
|
+
return region ? `--region=${region}` : '';
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Monitor a CodeBuild build until it completes
|
|
30
|
+
* @param buildId The build ID to monitor
|
|
31
|
+
* @returns The final build status
|
|
32
|
+
*/
|
|
33
|
+
async waitForBuildCompletion(buildId) {
|
|
34
|
+
var _a;
|
|
35
|
+
const { config } = this;
|
|
36
|
+
const regionArg = await this.getRegionArg();
|
|
37
|
+
// Terminal states that indicate build completion
|
|
38
|
+
const terminalStates = ['SUCCEEDED', 'FAILED', 'FAULT', 'STOPPED', 'TIMED_OUT'];
|
|
39
|
+
while (true) {
|
|
40
|
+
const result = await execC(await config.command('aws'), [regionArg, 'codebuild', 'batch-get-builds', `--ids=${buildId}`], {
|
|
41
|
+
env: { AWS_PAGER: '' },
|
|
42
|
+
});
|
|
43
|
+
if (result.stdout) {
|
|
44
|
+
const output = JSON.parse(result.stdout.toString());
|
|
45
|
+
const build = (_a = output.builds) === null || _a === void 0 ? void 0 : _a[0];
|
|
46
|
+
if ((build === null || build === void 0 ? void 0 : build.buildStatus) && terminalStates.includes(build.buildStatus)) {
|
|
47
|
+
return build.buildStatus;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Wait 5 seconds before checking again
|
|
51
|
+
await delay(5000);
|
|
52
|
+
}
|
|
19
53
|
}
|
|
20
54
|
}
|
|
21
55
|
export class ECSDeployCommand extends AWSCommand {
|
|
@@ -52,10 +86,6 @@ export class ECSDeployCommand extends AWSCommand {
|
|
|
52
86
|
stderr.write(ansis.red('⛅ ECS service must be configured!\n'));
|
|
53
87
|
return 1;
|
|
54
88
|
}
|
|
55
|
-
if (!(await which(awsCommand))) {
|
|
56
|
-
stderr.write(ansis.red(`⛅ Could not find command ${awsCommand}!\n`));
|
|
57
|
-
return 2;
|
|
58
|
-
}
|
|
59
89
|
stdout.write(ansis.blue(`⛅ Deploying service ${service} on cluster ${cluster}...\n`));
|
|
60
90
|
const result = await execC(awsCommand, args, {
|
|
61
91
|
stderr: this.context.stderr,
|
|
@@ -68,10 +98,15 @@ export class ECSDeployCommand extends AWSCommand {
|
|
|
68
98
|
if (!result.exitCode && output) {
|
|
69
99
|
const resultJson = JSON.parse(output);
|
|
70
100
|
const { service } = resultJson;
|
|
101
|
+
const region = await this.getRegion();
|
|
71
102
|
stdout.write(ansis.blue.bold('⛅ Started deploy:\n'));
|
|
72
103
|
stdout.write(`${ansis.white('Cluster ARN:')} ${service.clusterArn}\n`);
|
|
73
104
|
stdout.write(`${ansis.white('Service Name:')} ${service.serviceName}\n`);
|
|
74
105
|
stdout.write(`${ansis.white('Service ARN:')} ${service.serviceArn}\n`);
|
|
106
|
+
// Add console URLs
|
|
107
|
+
stdout.write(`\n${ansis.blue.bold('🔗 AWS Console Links:')}\n`);
|
|
108
|
+
stdout.write(`${ansis.white('ECS Service:')} ${AWSConsoleUrlGenerator.ecsService(region, cluster, service.serviceName)}\n`);
|
|
109
|
+
stdout.write(`${ansis.white('ECS Cluster:')} ${AWSConsoleUrlGenerator.ecsCluster(region, cluster)}\n`);
|
|
75
110
|
return 0;
|
|
76
111
|
}
|
|
77
112
|
stderr.write(ansis.red('Failed to deploy!\n'));
|
|
@@ -93,6 +128,19 @@ export class S3SyncCommand extends AWSCommand {
|
|
|
93
128
|
stdout.write(ansis.blue(`⛅ Syncing ${parsedFrom} to ${parsedTo}...\n`));
|
|
94
129
|
const result = await execC(await config.command('aws'), [await this.getRegionArg(), 's3', 'sync', deleteOpt && '--delete', parsedFrom, parsedTo], { context });
|
|
95
130
|
stdout.write(ansis.blue('⛅ Syncing complete.\n'));
|
|
131
|
+
// Add console URLs for S3 buckets
|
|
132
|
+
const region = await this.getRegion();
|
|
133
|
+
const fromBucket = AWSConsoleUrlGenerator.extractS3Bucket(parsedFrom);
|
|
134
|
+
const toBucket = AWSConsoleUrlGenerator.extractS3Bucket(parsedTo);
|
|
135
|
+
if (fromBucket || toBucket) {
|
|
136
|
+
stdout.write(`\n${ansis.blue.bold('🔗 AWS Console Links:')}\n`);
|
|
137
|
+
if (fromBucket) {
|
|
138
|
+
stdout.write(`${ansis.white('Source Bucket:')} ${AWSConsoleUrlGenerator.s3Bucket(region, fromBucket)}\n`);
|
|
139
|
+
}
|
|
140
|
+
if (toBucket) {
|
|
141
|
+
stdout.write(`${ansis.white('Target Bucket:')} ${AWSConsoleUrlGenerator.s3Bucket(region, toBucket)}\n`);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
96
144
|
return result.exitCode;
|
|
97
145
|
}
|
|
98
146
|
}
|
|
@@ -107,6 +155,10 @@ export class LogsTailCommand extends AWSCommand {
|
|
|
107
155
|
const { args, config, context, context: { stdout }, } = this;
|
|
108
156
|
const group = await config.parseArg(this.group);
|
|
109
157
|
stdout.write(ansis.blue(`⛅ Tailing logs from ${group}...\n`));
|
|
158
|
+
// Add console URL for CloudWatch log group
|
|
159
|
+
const region = await this.getRegion();
|
|
160
|
+
stdout.write(`${ansis.blue.bold('🔗 AWS Console Link:')}\n`);
|
|
161
|
+
stdout.write(`${ansis.white('CloudWatch Logs:')} ${AWSConsoleUrlGenerator.cloudWatchLogGroup(region, group)}\n\n`);
|
|
110
162
|
const result = await execC(await config.command('aws'), [await this.getRegionArg(), 'logs', 'tail', group, '--follow', ...args], {
|
|
111
163
|
context,
|
|
112
164
|
});
|
|
@@ -122,7 +174,7 @@ export class CodeBuildStartCommand extends AWSCommand {
|
|
|
122
174
|
this.project = Option.String({ required: false });
|
|
123
175
|
}
|
|
124
176
|
async command() {
|
|
125
|
-
const { batch,
|
|
177
|
+
const { batch, config, context: { stdout, stderr }, dev, project, } = this;
|
|
126
178
|
let target;
|
|
127
179
|
if (project) {
|
|
128
180
|
target = await config.parseArg(project);
|
|
@@ -148,12 +200,62 @@ export class CodeBuildStartCommand extends AWSCommand {
|
|
|
148
200
|
}
|
|
149
201
|
const output = JSON.parse(result.stdout.toString());
|
|
150
202
|
const { build } = output;
|
|
203
|
+
const region = await this.getRegion();
|
|
151
204
|
stdout.write(ansis.blue.bold('⛅ Started project build:\n'));
|
|
152
205
|
stdout.write(`${ansis.white('ID:')} ${build.id}\n`);
|
|
153
206
|
stdout.write(`${ansis.white('Project:')} ${build.projectName}\n`);
|
|
154
|
-
stdout.write(`${ansis.white('Build Number:')} ${build.buildNumber}\n
|
|
155
|
-
|
|
156
|
-
|
|
207
|
+
stdout.write(`${ansis.white('Build Number:')} ${build.buildNumber}\n`);
|
|
208
|
+
// Add console URLs
|
|
209
|
+
stdout.write(`\n${ansis.blue.bold('🔗 AWS Console Links:')}\n`);
|
|
210
|
+
stdout.write(`${ansis.white('CodeBuild Project:')} ${AWSConsoleUrlGenerator.codeBuildProject(region, target)}\n`);
|
|
211
|
+
stdout.write(`${ansis.white('This Build:')} ${AWSConsoleUrlGenerator.codeBuildBuild(region, target, build.id)}\n\n`);
|
|
212
|
+
stdout.write(ansis.blue.bold('⛅ Tailing build logs (automatically stops when build completes). Nothing will show until source download completes...\n'));
|
|
213
|
+
const abortController = new AbortController();
|
|
214
|
+
let logTailPromise = null;
|
|
215
|
+
// Set up signal handlers to abort the controller when user presses Ctrl-C
|
|
216
|
+
const signalHandler = () => {
|
|
217
|
+
abortController.abort();
|
|
218
|
+
};
|
|
219
|
+
process.on('SIGINT', signalHandler);
|
|
220
|
+
process.on('SIGTERM', signalHandler);
|
|
221
|
+
try {
|
|
222
|
+
const buildStatusPromise = this.waitForBuildCompletion(build.id);
|
|
223
|
+
try {
|
|
224
|
+
logTailPromise = execC(await config.command('aws'), ['logs', 'tail', regionArg, `/aws/codebuild/${target}`, '--follow', '--since=0s'].filter((x) => !!x), {
|
|
225
|
+
context: this.context,
|
|
226
|
+
env: { ...process.env, AWS_PAGER: '' },
|
|
227
|
+
cancelSignal: abortController.signal,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
catch (_logError) {
|
|
231
|
+
stdout.write(ansis.yellow('⛅ Log tailing unavailable (logs may not be ready yet)\n'));
|
|
232
|
+
}
|
|
233
|
+
const finalStatus = await buildStatusPromise;
|
|
234
|
+
abortController.abort();
|
|
235
|
+
stdout.write(`\n${ansis.blue.bold('⛅ Build completed with status:')} ${ansis.white(finalStatus)}\n`);
|
|
236
|
+
return finalStatus === 'SUCCEEDED' ? 0 : 1;
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
stderr.write(ansis.red(`⛅ Error during build monitoring: ${error.message}\n`));
|
|
240
|
+
return 1;
|
|
241
|
+
}
|
|
242
|
+
finally {
|
|
243
|
+
// Clean up signal handlers
|
|
244
|
+
process.off('SIGINT', signalHandler);
|
|
245
|
+
process.off('SIGTERM', signalHandler);
|
|
246
|
+
abortController.abort();
|
|
247
|
+
if (logTailPromise) {
|
|
248
|
+
try {
|
|
249
|
+
await Promise.race([
|
|
250
|
+
logTailPromise,
|
|
251
|
+
delay(1000), // 1 second timeout
|
|
252
|
+
]);
|
|
253
|
+
}
|
|
254
|
+
catch (_a) {
|
|
255
|
+
// Ignore errors from cancelled log tailing process
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
157
259
|
}
|
|
158
260
|
}
|
|
159
261
|
CodeBuildStartCommand.paths = [['aws', 'codebuild', 'start']];
|
|
@@ -204,8 +306,12 @@ export class CloudFrontInvalidateCommand extends AWSCommand {
|
|
|
204
306
|
if (!result.exitCode && output) {
|
|
205
307
|
const resultJson = JSON.parse(output);
|
|
206
308
|
const { Invalidation: invalidation } = resultJson;
|
|
309
|
+
const region = await this.getRegion();
|
|
207
310
|
stdout.write(ansis.blue.bold('⛅ Started cache invalidation:\n'));
|
|
208
311
|
stdout.write(`${ansis.white('Invalidation ID:')} ${invalidation.Id}\n`);
|
|
312
|
+
// Add console URL
|
|
313
|
+
stdout.write(`\n${ansis.blue.bold('🔗 AWS Console Link:')}\n`);
|
|
314
|
+
stdout.write(`${ansis.white('CloudFront Distribution:')} ${AWSConsoleUrlGenerator.cloudFrontDistribution(region, target)}\n`);
|
|
209
315
|
return 0;
|
|
210
316
|
}
|
|
211
317
|
stderr.write(ansis.red('⛅ Failed to invalidate!\n'));
|
|
@@ -214,6 +320,138 @@ export class CloudFrontInvalidateCommand extends AWSCommand {
|
|
|
214
320
|
}
|
|
215
321
|
CloudFrontInvalidateCommand.paths = [['aws', 'cf', 'invalidate']];
|
|
216
322
|
CloudFrontInvalidateCommand.schema = [t.hasMutuallyExclusiveKeys(['invalidationPaths', 'invalidationBatch'], { missingIf: 'falsy' })];
|
|
323
|
+
export class ECSStatusCommand extends AWSCommand {
|
|
324
|
+
constructor() {
|
|
325
|
+
super(...arguments);
|
|
326
|
+
this.dev = Option.Boolean('--dev', false);
|
|
327
|
+
}
|
|
328
|
+
async command() {
|
|
329
|
+
var _a, _b, _c, _d, _e;
|
|
330
|
+
const { config, dev, context: { stdout, stderr }, } = this;
|
|
331
|
+
const awsCommand = await config.command('aws');
|
|
332
|
+
const regionArg = await this.getRegionArg();
|
|
333
|
+
// Try to get ECS configuration
|
|
334
|
+
let cluster = await config.get(dev ? 'devEcsCluster' : 'ecsCluster');
|
|
335
|
+
if (!cluster) {
|
|
336
|
+
cluster = await config.tfVar(dev ? 'dev_ecs_cluster' : 'ecs_cluster');
|
|
337
|
+
}
|
|
338
|
+
let service = await config.get(dev ? 'devEcsService' : 'ecsService');
|
|
339
|
+
if (!service) {
|
|
340
|
+
service = await config.tfVar(dev ? 'dev_ecs_service' : 'ecs_service');
|
|
341
|
+
}
|
|
342
|
+
// Check if ECS is configured
|
|
343
|
+
if (!cluster && !service) {
|
|
344
|
+
stdout.write(ansis.yellow('⛅ No ECS configuration detected\n'));
|
|
345
|
+
stdout.write(ansis.dim(' Configure ecsCluster/ecsService or use Terraform variables\n'));
|
|
346
|
+
return 0;
|
|
347
|
+
}
|
|
348
|
+
stdout.write(ansis.blue.bold('⛅ AWS ECS Status\n'));
|
|
349
|
+
stdout.write(ansis.blue(`${'─'.repeat(50)}\n`));
|
|
350
|
+
// Add console URLs if we have configuration
|
|
351
|
+
const region = await this.getRegion();
|
|
352
|
+
if (cluster || service) {
|
|
353
|
+
stdout.write(`${ansis.blue.bold('🔗 AWS Console Links:')}\n`);
|
|
354
|
+
if (cluster) {
|
|
355
|
+
stdout.write(`${ansis.white('ECS Cluster:')} ${AWSConsoleUrlGenerator.ecsCluster(region, cluster)}\n`);
|
|
356
|
+
}
|
|
357
|
+
if (cluster && service) {
|
|
358
|
+
stdout.write(`${ansis.white('ECS Service:')} ${AWSConsoleUrlGenerator.ecsService(region, cluster, service)}\n`);
|
|
359
|
+
}
|
|
360
|
+
stdout.write('\n');
|
|
361
|
+
}
|
|
362
|
+
if (cluster) {
|
|
363
|
+
stdout.write(`${ansis.white('Cluster:')} ${cluster}\n`);
|
|
364
|
+
// Get cluster information
|
|
365
|
+
try {
|
|
366
|
+
const clusterResult = await execC(awsCommand, [regionArg, 'ecs', 'describe-clusters', '--clusters', cluster, '--include', 'STATISTICS'], {
|
|
367
|
+
env: { AWS_PAGER: '' },
|
|
368
|
+
extendEnv: true,
|
|
369
|
+
});
|
|
370
|
+
if (clusterResult.exitCode === 0 && clusterResult.stdout) {
|
|
371
|
+
const clusterData = JSON.parse(clusterResult.stdout.toString());
|
|
372
|
+
const clusterInfo = (_a = clusterData.clusters) === null || _a === void 0 ? void 0 : _a[0];
|
|
373
|
+
if (clusterInfo) {
|
|
374
|
+
stdout.write(`${ansis.white('Status:')} ${clusterInfo.status}\n`);
|
|
375
|
+
stdout.write(`${ansis.white('Active Services:')} ${clusterInfo.activeServicesCount}\n`);
|
|
376
|
+
stdout.write(`${ansis.white('Running Tasks:')} ${clusterInfo.runningTasksCount}\n`);
|
|
377
|
+
stdout.write(`${ansis.white('Pending Tasks:')} ${clusterInfo.pendingTasksCount}\n`);
|
|
378
|
+
stdout.write(`${ansis.white('Registered Container Instances:')} ${clusterInfo.registeredContainerInstancesCount}\n`);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
catch (error) {
|
|
383
|
+
stderr.write(ansis.yellow(`⛅ Warning: Could not retrieve cluster information: ${error}\n`));
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
if (service) {
|
|
387
|
+
stdout.write(`\n${ansis.white('Service:')} ${service}\n`);
|
|
388
|
+
if (cluster) {
|
|
389
|
+
try {
|
|
390
|
+
// Get service information
|
|
391
|
+
const serviceResult = await execC(awsCommand, [regionArg, 'ecs', 'describe-services', '--cluster', cluster, '--services', service], {
|
|
392
|
+
env: { AWS_PAGER: '' },
|
|
393
|
+
extendEnv: true,
|
|
394
|
+
});
|
|
395
|
+
if (serviceResult.exitCode === 0 && serviceResult.stdout) {
|
|
396
|
+
const serviceData = JSON.parse(serviceResult.stdout.toString());
|
|
397
|
+
const serviceInfo = (_b = serviceData.services) === null || _b === void 0 ? void 0 : _b[0];
|
|
398
|
+
if (serviceInfo) {
|
|
399
|
+
stdout.write(`${ansis.white('Status:')} ${serviceInfo.status}\n`);
|
|
400
|
+
stdout.write(`${ansis.white('Running Count:')} ${serviceInfo.runningCount}\n`);
|
|
401
|
+
stdout.write(`${ansis.white('Pending Count:')} ${serviceInfo.pendingCount}\n`);
|
|
402
|
+
stdout.write(`${ansis.white('Desired Count:')} ${serviceInfo.desiredCount}\n`);
|
|
403
|
+
stdout.write(`${ansis.white('Task Definition:')} ${serviceInfo.taskDefinition}\n`);
|
|
404
|
+
if (((_c = serviceInfo.deployments) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
|
405
|
+
stdout.write(`\n${ansis.white.bold('Deployments:')}\n`);
|
|
406
|
+
serviceInfo.deployments.forEach((deployment, index) => {
|
|
407
|
+
const status = deployment.status === 'PRIMARY' ? ansis.green(deployment.status) : ansis.yellow(deployment.status);
|
|
408
|
+
stdout.write(` ${index + 1}. ${status} - ${deployment.taskDefinition}\n`);
|
|
409
|
+
stdout.write(` Running: ${deployment.runningCount}, Pending: ${deployment.pendingCount}, Desired: ${deployment.desiredCount}\n`);
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
// Get running tasks
|
|
413
|
+
const tasksResult = await execC(awsCommand, [regionArg, 'ecs', 'list-tasks', '--cluster', cluster, '--service-name', service], {
|
|
414
|
+
env: { AWS_PAGER: '' },
|
|
415
|
+
extendEnv: true,
|
|
416
|
+
});
|
|
417
|
+
if (tasksResult.exitCode === 0 && tasksResult.stdout) {
|
|
418
|
+
const tasksData = JSON.parse(tasksResult.stdout.toString());
|
|
419
|
+
if (((_d = tasksData.taskArns) === null || _d === void 0 ? void 0 : _d.length) > 0) {
|
|
420
|
+
stdout.write(`\n${ansis.white.bold('Active Tasks:')}\n`);
|
|
421
|
+
// Get detailed task information
|
|
422
|
+
const taskDetailsResult = await execC(awsCommand, [regionArg, 'ecs', 'describe-tasks', '--cluster', cluster, '--tasks', ...tasksData.taskArns], {
|
|
423
|
+
env: { AWS_PAGER: '' },
|
|
424
|
+
extendEnv: true,
|
|
425
|
+
});
|
|
426
|
+
if (taskDetailsResult.exitCode === 0 && taskDetailsResult.stdout) {
|
|
427
|
+
const taskDetails = JSON.parse(taskDetailsResult.stdout.toString());
|
|
428
|
+
(_e = taskDetails.tasks) === null || _e === void 0 ? void 0 : _e.forEach((task, index) => {
|
|
429
|
+
const taskId = task.taskArn.split('/').pop();
|
|
430
|
+
const status = task.lastStatus === 'RUNNING' ? ansis.green(task.lastStatus) : ansis.yellow(task.lastStatus);
|
|
431
|
+
stdout.write(` ${index + 1}. ${taskId} - ${status}\n`);
|
|
432
|
+
stdout.write(` CPU/Memory: ${task.cpu}/${task.memory}\n`);
|
|
433
|
+
if (task.createdAt) {
|
|
434
|
+
stdout.write(` Created: ${new Date(task.createdAt).toLocaleString()}\n`);
|
|
435
|
+
}
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
catch (error) {
|
|
444
|
+
stderr.write(ansis.yellow(`⛅ Warning: Could not retrieve service information: ${error}\n`));
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
else {
|
|
448
|
+
stdout.write(ansis.yellow(' Service configured but no cluster found\n'));
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
return 0;
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
ECSStatusCommand.paths = [['aws', 'status']];
|
|
217
455
|
export class ECSDeploySpecificCommand extends AWSCommand {
|
|
218
456
|
constructor() {
|
|
219
457
|
super(...arguments);
|
|
@@ -291,6 +529,11 @@ export class ECSDeploySpecificCommand extends AWSCommand {
|
|
|
291
529
|
'--cli-input-json',
|
|
292
530
|
JSON.stringify(taskDefinition),
|
|
293
531
|
], { shell: false });
|
|
532
|
+
// Add console URLs before deploying
|
|
533
|
+
const region = await this.getRegion();
|
|
534
|
+
stdout.write(`\n${ansis.blue.bold('🔗 AWS Console Links:')}\n`);
|
|
535
|
+
stdout.write(`${ansis.white('ECS Cluster:')} ${AWSConsoleUrlGenerator.ecsCluster(region, cluster)}\n`);
|
|
536
|
+
stdout.write(`${ansis.white('ECS Service:')} ${AWSConsoleUrlGenerator.ecsService(region, cluster, service)}\n\n`);
|
|
294
537
|
return await cli.run(['aws', 'ecs', 'deploy']);
|
|
295
538
|
}
|
|
296
539
|
}
|
package/dist/Command/AWS.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AWS.js","sourceRoot":"","sources":["../../src/Command/AWS.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AWS.js","sourceRoot":"","sources":["../../src/Command/AWS.ts"],"names":[],"mappings":"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"}
|
package/dist/Command/Cache.js
CHANGED
|
@@ -4,7 +4,7 @@ import JoltCommand from './JoltCommand.js';
|
|
|
4
4
|
export class CacheFlushCommand extends JoltCommand {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
7
|
-
this.requiredCommands = ['docker'];
|
|
7
|
+
this.requiredCommands = ['docker', 'compose'];
|
|
8
8
|
}
|
|
9
9
|
async command() {
|
|
10
10
|
const { config, context, context: { stdout, stderr }, } = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Command/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAE1C,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAAlD;;QAOE,qBAAgB,GAAG,CAAC,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Command/Cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAE1C,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAAlD;;QAOE,qBAAgB,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IAwB1C,CAAC;IAtBC,KAAK,CAAC,OAAO;QACX,MAAM,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAC5B,GAAG,IAAI,CAAA;QAER,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,iBAAiB,EAAE,CAAA;QAC/D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAA;QAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAA;YAC5E,OAAO,CAAC,CAAA;QACV,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,SAAS,CAAA;QACjD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oCAAoC,SAAS,eAAe,UAAU,aAAa,CAAC,CAAC,CAAA;QAC7G,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAC7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAA;QAChD,OAAO,MAAM,CAAC,QAAQ,CAAA;IACxB,CAAC;;AA7BM,uBAAK,GAAG;IACb,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,OAAO,EAAE,OAAO,CAAC;CACnB,AAJW,CAIX"}
|
package/dist/Command/DB.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
import { createReadStream, createWriteStream } from 'node:fs';
|
|
2
|
+
import { unlink } from 'node:fs/promises';
|
|
1
3
|
import path from 'node:path';
|
|
4
|
+
import { pipeline } from 'node:stream/promises';
|
|
5
|
+
import { createGzip } from 'node:zlib';
|
|
2
6
|
import ansis from 'ansis';
|
|
3
7
|
import { Option } from 'clipanion';
|
|
4
8
|
import { execa } from 'execa';
|
|
@@ -8,19 +12,17 @@ import JoltCommand from './JoltCommand.js';
|
|
|
8
12
|
export class DBDumpCommand extends JoltCommand {
|
|
9
13
|
constructor() {
|
|
10
14
|
super(...arguments);
|
|
11
|
-
this.requiredCommands = ['docker'];
|
|
15
|
+
this.requiredCommands = ['docker', 'compose'];
|
|
12
16
|
this.backup = Option.Boolean('--backup', false);
|
|
13
17
|
}
|
|
18
|
+
getRequiredConfig() {
|
|
19
|
+
return this.backup ? ['dbBackupPath'] : ['dbSeed'];
|
|
20
|
+
}
|
|
14
21
|
async command() {
|
|
15
22
|
const { backup, config, context: { stdout, stderr }, } = this;
|
|
16
|
-
const backupPath = await config.get('dbBackupPath');
|
|
17
23
|
let filename;
|
|
18
24
|
let shouldGzip = backup;
|
|
19
25
|
if (backup) {
|
|
20
|
-
if (!backupPath) {
|
|
21
|
-
stderr.write(ansis.red('🛢️ The DB backup location must be configured as dbBackupPath.\n'));
|
|
22
|
-
return 1;
|
|
23
|
-
}
|
|
24
26
|
const now = new Date();
|
|
25
27
|
const date = now
|
|
26
28
|
.toISOString()
|
|
@@ -31,10 +33,6 @@ export class DBDumpCommand extends JoltCommand {
|
|
|
31
33
|
}
|
|
32
34
|
else {
|
|
33
35
|
const configSeed = await config.get('dbSeed');
|
|
34
|
-
if (!configSeed) {
|
|
35
|
-
stderr.write(ansis.red('🛢️ The DB seed location must be configured.\n'));
|
|
36
|
-
return 1;
|
|
37
|
-
}
|
|
38
36
|
filename = configSeed;
|
|
39
37
|
}
|
|
40
38
|
const [composeCommand, args] = await config.getComposeCommand();
|
|
@@ -44,6 +42,7 @@ export class DBDumpCommand extends JoltCommand {
|
|
|
44
42
|
return 2;
|
|
45
43
|
}
|
|
46
44
|
const { name: container, dumpCommand, credentials } = containerInfo;
|
|
45
|
+
const backupPath = backup ? await config.get('dbBackupPath') : undefined;
|
|
47
46
|
let filePath = backup ? path.resolve(backupPath, filename) : path.resolve(filename);
|
|
48
47
|
if (filePath.endsWith('.gz')) {
|
|
49
48
|
shouldGzip = true;
|
|
@@ -63,12 +62,27 @@ export class DBDumpCommand extends JoltCommand {
|
|
|
63
62
|
filePath = `${filePath}.gz`;
|
|
64
63
|
}
|
|
65
64
|
else {
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
stderr.write(ansis.blue('🛢️ Gzipping file using Node zlib...\n'));
|
|
66
|
+
stderr.write(ansis.yellow('⚠️ Note: Using Node.js compression may be slower than external gzip for large files.\n'));
|
|
67
|
+
stderr.write(ansis.yellow('⚠️ Install the gzip command for improved performance.\n'));
|
|
68
|
+
try {
|
|
69
|
+
const gzipPath = `${filePath}.gz`;
|
|
70
|
+
const readStream = createReadStream(filePath);
|
|
71
|
+
const writeStream = createWriteStream(gzipPath);
|
|
72
|
+
const gzipStream = createGzip();
|
|
73
|
+
await pipeline(readStream, gzipStream, writeStream);
|
|
74
|
+
// Remove the original uncompressed file after successful compression
|
|
75
|
+
await unlink(filePath);
|
|
76
|
+
filePath = gzipPath;
|
|
68
77
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
catch (error) {
|
|
79
|
+
if (backup) {
|
|
80
|
+
stderr.write(ansis.yellow(`🛢️ Wrote backup to ${filePath} but failed to compress: ${error instanceof Error ? error.message : String(error)}\n`));
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
stderr.write(ansis.red(`🛢️ Wrote seed to ${filePath} but failed to compress: ${error instanceof Error ? error.message : String(error)}\n`));
|
|
84
|
+
return 2;
|
|
85
|
+
}
|
|
72
86
|
}
|
|
73
87
|
}
|
|
74
88
|
}
|
|
@@ -80,7 +94,7 @@ DBDumpCommand.paths = [['db', 'dump']];
|
|
|
80
94
|
export class DBResetCommand extends JoltCommand {
|
|
81
95
|
constructor() {
|
|
82
96
|
super(...arguments);
|
|
83
|
-
this.requiredCommands = ['docker'];
|
|
97
|
+
this.requiredCommands = ['docker', 'compose'];
|
|
84
98
|
}
|
|
85
99
|
async command() {
|
|
86
100
|
const { config, cli, context, context: { stdout, stderr }, } = this;
|
|
@@ -152,7 +166,7 @@ DBResetCommand.paths = [['db', 'reset']];
|
|
|
152
166
|
export class DBAwaitCommand extends JoltCommand {
|
|
153
167
|
constructor() {
|
|
154
168
|
super(...arguments);
|
|
155
|
-
this.requiredCommands = ['docker'];
|
|
169
|
+
this.requiredCommands = ['docker', 'compose'];
|
|
156
170
|
this.quiet = Option.Boolean('--quiet, -q', false);
|
|
157
171
|
this.timeout = Option.String('--timeout, -t', '300', {
|
|
158
172
|
tolerateBoolean: false,
|