Skip to content

Commit ab755a2

Browse files
committed
Clean up AWS code
1 parent 214d7be commit ab755a2

13 files changed

Lines changed: 133 additions & 367 deletions

File tree

src/lib/server/aws/codebuild.ts

Lines changed: 25 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
} from '@aws-sdk/client-codebuild';
1212
import { SpanStatusCode, trace } from '@opentelemetry/api';
1313
import type { Prisma } from '@prisma/client';
14-
import { AWSCommon } from './common';
14+
import { AWSVars } from './vars';
1515
import { S3 } from './s3';
1616
import {
1717
type BuildForPrefix,
@@ -48,19 +48,10 @@ export type BuildForCodeBuild = Prisma.buildGetPayload<{
4848

4949
const tracer = trace.getTracer('CodeBuild');
5050

51-
export class CodeBuild extends AWSCommon {
51+
export class CodeBuild {
5252
public codeBuildClient;
5353
public constructor() {
54-
super();
55-
this.codeBuildClient = CodeBuild.getCodeBuildClient();
56-
}
57-
58-
/**
59-
* Configure and get the CodeBuild Client
60-
* @return \Aws\CodeBuild\CodeBuildClient
61-
*/
62-
public static getCodeBuildClient() {
63-
return new CodeBuildClient({ region: AWSCommon.getArtifactsBucketRegion() });
54+
this.codeBuildClient = new CodeBuildClient({ region: AWSVars.artifactsRegion() });
6455
}
6556

6657
/**
@@ -93,9 +84,9 @@ export class CodeBuild extends AWSCommon {
9384
'code-build.build-id': build.id,
9485
'code-build.version-code': versionCode
9586
});
96-
const artifacts_bucket = CodeBuild.getArtifactsBucket();
97-
const secretsBucket = CodeBuild.getSecretsBucket();
98-
const buildApp = CodeBuild.getCodeBuildProjectName('build_app');
87+
const artifacts_bucket = AWSVars.artifacts();
88+
const secretsBucket = AWSVars.secrets();
89+
const buildApp = AWSVars.projectName('build_app');
9990
const buildPath = this.getBuildPath(job);
10091
const artifactPath = getArtifactPath(job, 'codebuild-output');
10192
span.setAttribute('code-build.artifact-path', artifactPath);
@@ -182,7 +173,7 @@ export class CodeBuild extends AWSCommon {
182173
},
183174
{
184175
name: 'SCRIPT_S3',
185-
value: S3.getBuildScriptPath()
176+
value: AWSVars.scriptsPath()
186177
}
187178
];
188179
const adjustedEnvironmentArray = this.addEnvironmentToArray(
@@ -206,7 +197,7 @@ export class CodeBuild extends AWSCommon {
206197
environmentVariablesOverride: adjustedEnvironmentArray,
207198
sourceTypeOverride: 'NO_SOURCE',
208199
computeTypeOverride: computeType,
209-
imageOverride: CodeBuild.getCodeBuildImageRepo() + ':' + imageTag
200+
imageOverride: AWSVars.imageRepo() + ':' + imageTag
210201
})
211202
);
212203
const buildId = result.build?.id;
@@ -340,11 +331,11 @@ export class CodeBuild extends AWSCommon {
340331
const build = release.build;
341332
const job = build.job;
342333
const buildPath = this.getBuildPath(job);
343-
const artifacts_bucket = CodeBuild.getArtifactsBucket();
334+
const artifacts_bucket = AWSVars.artifacts();
344335
const artifactPath = getArtifactPath(job, 'codebuild-output', true);
345-
const secretsBucket = CodeBuild.getSecretsBucket();
346-
const scriptureEarthKey = CodeBuild.getScriptureEarthKey();
347-
const publishApp = CodeBuild.getCodeBuildProjectName('publish_app');
336+
const secretsBucket = AWSVars.secrets();
337+
const scriptureEarthKey = AWSVars.scriptureEarthKey();
338+
const publishApp = AWSVars.projectName('publish_app');
348339
const promoteFrom = release.promote_from ?? '';
349340

350341
const sourceLocation = this.getSourceLocation(build);
@@ -404,7 +395,7 @@ export class CodeBuild extends AWSCommon {
404395
},
405396
{
406397
name: 'SCRIPT_S3',
407-
value: S3.getBuildScriptPath()
398+
value: AWSVars.scriptsPath()
408399
},
409400
{
410401
name: 'SCRIPTURE_EARTH_KEY',
@@ -462,7 +453,7 @@ export class CodeBuild extends AWSCommon {
462453
select: { id: true; artifact_files: true; job: { select: { id: true; app_id: true } } };
463454
}>
464455
) {
465-
const appEnv = S3.getAppEnv();
456+
const appEnv = AWSVars.appEnv();
466457
const apkFilename = getArtifactFilename(/\.apk$/, build.artifact_files);
467458
const sourceLocation = S3.getS3Arn(build, appEnv, apkFilename);
468459
return sourceLocation;
@@ -474,8 +465,8 @@ export class CodeBuild extends AWSCommon {
474465
* @return string - s3:// url format for s3 artifacts folder
475466
*/
476467
private getArtifactsLocation(build: BuildForPrefix) {
477-
const artifactsBucket = CodeBuild.getArtifactsBucket();
478-
const artifactFolder = getBasePrefixUrl(build, CodeBuild.getAppEnv());
468+
const artifactsBucket = AWSVars.artifacts();
469+
const artifactFolder = getBasePrefixUrl(build, AWSVars.appEnv());
479470
return `s3://${artifactsBucket}/${artifactFolder}`;
480471
}
481472

@@ -494,8 +485,8 @@ export class CodeBuild extends AWSCommon {
494485
cache: ProjectCache,
495486
source: ProjectSource
496487
) {
497-
const project_name = CodeBuild.getCodeBuildProjectName(base_name);
498-
const artifacts_bucket = CodeBuild.getArtifactsBucket();
488+
const project_name = AWSVars.projectName(base_name);
489+
const artifacts_bucket = AWSVars.artifacts();
499490
return await this.codeBuildClient.send(
500491
new CreateProjectCommand({
501492
artifacts: {
@@ -511,7 +502,7 @@ export class CodeBuild extends AWSCommon {
511502
environment: {
512503
// REQUIRED
513504
computeType: 'BUILD_GENERAL1_SMALL', // REQUIRED
514-
image: CodeBuild.getCodeBuildImageRepo() + ':' + CodeBuild.getCodeBuildImageTag(), // REQUIRED
505+
image: AWSVars.imageRepo() + ':' + AWSVars.imageTag(), // REQUIRED
515506
privilegedMode: false,
516507
type: 'LINUX_CONTAINER' // REQUIRED
517508
},
@@ -523,15 +514,15 @@ export class CodeBuild extends AWSCommon {
523514
}
524515

525516
public static getConsoleTextUrl(baseName: string, guid: string) {
526-
const projectName = CodeBuild.getCodeBuildProjectName(baseName);
527-
const region = AWSCommon.getArtifactsBucketRegion() ?? 'us-east-1';
517+
const projectName = AWSVars.projectName(baseName);
518+
const region = AWSVars.artifactsRegion() ?? 'us-east-1';
528519
const regionUrl = `https://console.aws.amazon.com/cloudwatch/home?region=${region}`;
529520
const taskExtension = `#logEvent:group=/aws/codebuild/${projectName};stream=${guid}`;
530521
return `${regionUrl}${taskExtension}`;
531522
}
532523
public static getCodeBuildUrl(baseName: string, guid: string) {
533-
const projectName = CodeBuild.getCodeBuildProjectName(baseName);
534-
const region = AWSCommon.getArtifactsBucketRegion() ?? 'us-east-1';
524+
const projectName = AWSVars.projectName(baseName);
525+
const region = AWSVars.artifactsRegion() ?? 'us-east-1';
535526
const regionUrl = `https://console.aws.amazon.com/codebuild/home?region=${region}`;
536527
const taskExtension = `#/builds/${projectName}:${guid}/view/new`;
537528
return `${regionUrl}${taskExtension}`;
@@ -545,7 +536,7 @@ export class CodeBuild extends AWSCommon {
545536
public async projectExists(baseName: string) {
546537
let exists = false;
547538
try {
548-
const projectName = CodeBuild.getCodeBuildProjectName(baseName);
539+
const projectName = AWSVars.projectName(baseName);
549540
trace?.getActiveSpan()?.setAttribute('code-build.project-name', projectName);
550541
const result = await this.codeBuildClient.send(
551542
new BatchGetProjectsCommand({
@@ -590,7 +581,7 @@ export class CodeBuild extends AWSCommon {
590581
private getImageTag(environmentVariables: { name: string; value: string }[]) {
591582
return (
592583
environmentVariables.find(({ name }) => name === 'BUILD_IMAGE_TAG')?.value ??
593-
CodeBuild.getCodeBuildImageTag()
584+
AWSVars.imageTag()
594585
);
595586
}
596587

src/lib/server/aws/codecommit.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@ import {
44
GetRepositoryCommand
55
} from '@aws-sdk/client-codecommit';
66
import { SpanStatusCode, trace } from '@opentelemetry/api';
7-
import { AWSCommon } from './common';
7+
import { AWSVars } from './vars';
88

9-
export class CodeCommit extends AWSCommon {
9+
export class CodeCommit {
1010
public codeCommitClient;
1111

1212
public constructor() {
13-
super();
1413
this.codeCommitClient = CodeCommit.getCodeCommitClient();
1514
}
1615
/**
@@ -22,7 +21,7 @@ export class CodeCommit extends AWSCommon {
2221
let client: CodeCommitClient | null = null;
2322
try {
2423
client = new CodeCommitClient({
25-
region: AWSCommon.getArtifactsBucketRegion()
24+
region: AWSVars.artifactsRegion()
2625
});
2726
} catch (e) {
2827
span?.recordException(e as Error);

src/lib/server/aws/common.ts

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)