@payfit/nx-core 5.23.4 → 5.24.0-ephemeral-bugfix-lambda-us.1
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.
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { LambdaFunction } from '../common/types';
|
|
2
|
+
type Environment = 'dev' | 'staging' | 'shared' | 'prod';
|
|
2
3
|
/**
|
|
3
4
|
* Extracts environment and AWS account ID from Spacelift stack ID.
|
|
4
5
|
*
|
|
5
6
|
* @param stackId - Spacelift stack identifier
|
|
6
7
|
* @returns Tuple of [environment, accountId]
|
|
7
8
|
*/
|
|
8
|
-
export declare function retrieveAccoundId(stackId: string): [
|
|
9
|
+
export declare function retrieveAccoundId(stackId: string): [Environment, string];
|
|
9
10
|
/**
|
|
10
11
|
* Gets the latest version number of a Lambda function.
|
|
11
12
|
*
|
|
@@ -47,3 +48,4 @@ export declare function sanitizeAliasName(alias: string): string;
|
|
|
47
48
|
* @param lambdaRegion - AWS region for Lambda (default eu-west-3)
|
|
48
49
|
*/
|
|
49
50
|
export declare function createOrMoveAlias(stackId: string, lambdaFunctions: LambdaFunction[], alias: string, lambdaRegion?: string): Promise<void>;
|
|
51
|
+
export {};
|
|
@@ -12,7 +12,6 @@ const logger_1 = require("../common/logger");
|
|
|
12
12
|
const ACCOUNT_IDS = {
|
|
13
13
|
dev: '533547282673',
|
|
14
14
|
staging: '589883667243',
|
|
15
|
-
testing: '623580596988',
|
|
16
15
|
shared: '574592175410',
|
|
17
16
|
prod: '614948436281',
|
|
18
17
|
};
|
|
@@ -23,10 +22,27 @@ const ACCOUNT_IDS = {
|
|
|
23
22
|
* @returns Tuple of [environment, accountId]
|
|
24
23
|
*/
|
|
25
24
|
function retrieveAccoundId(stackId) {
|
|
26
|
-
const environmentMatch = stackId.match(/-(dev|
|
|
27
|
-
|
|
25
|
+
const environmentMatch = stackId.match(/-(dev|prod|staging|shared)-/);
|
|
26
|
+
if (!environmentMatch) {
|
|
27
|
+
throw new Error(`Unable to extract environment from stackId: ${stackId}`);
|
|
28
|
+
}
|
|
29
|
+
const environment = environmentMatch[1];
|
|
28
30
|
return [environment, ACCOUNT_IDS[environment]];
|
|
29
31
|
}
|
|
32
|
+
const LAMBDA_ARN_REGION = /^arn:aws:lambda:([a-z0-9-]+):\d+:function:.+$/i;
|
|
33
|
+
/**
|
|
34
|
+
* Parses the AWS region from a Lambda function ARN.
|
|
35
|
+
*
|
|
36
|
+
* @param lambdaARN - AWS Lambda function ARN
|
|
37
|
+
* @returns Region identifier (e.g. eu-west-3)
|
|
38
|
+
*/
|
|
39
|
+
function lambdaRegionFromArn(lambdaARN) {
|
|
40
|
+
const match = lambdaARN.match(LAMBDA_ARN_REGION);
|
|
41
|
+
if (!match) {
|
|
42
|
+
throw new Error(`Invalid Lambda ARN (expected region segment): ${lambdaARN}`);
|
|
43
|
+
}
|
|
44
|
+
return match[1];
|
|
45
|
+
}
|
|
30
46
|
/**
|
|
31
47
|
* Gets the latest version number of a Lambda function.
|
|
32
48
|
*
|
|
@@ -35,8 +51,9 @@ function retrieveAccoundId(stackId) {
|
|
|
35
51
|
* @returns Latest version number
|
|
36
52
|
*/
|
|
37
53
|
async function getLatestVersion(lambdaARN, envVars) {
|
|
54
|
+
const region = lambdaRegionFromArn(lambdaARN);
|
|
38
55
|
logger_1.consola.log(`Retrieving latest version for function ${lambdaARN}`);
|
|
39
|
-
const latestVersionResult = await (0, exec_1.exec)(`aws lambda list-versions-by-function --function-name ${lambdaARN} --query 'Versions[?Version!=\`$LATEST\`] | [-1].Version' --output text`, { throwOnError: true, nodeOptions: { env: envVars } });
|
|
56
|
+
const latestVersionResult = await (0, exec_1.exec)(`aws lambda list-versions-by-function --function-name ${lambdaARN} --region ${region} --query 'Versions[?Version!=\`$LATEST\`] | [-1].Version' --output text`, { throwOnError: true, nodeOptions: { env: envVars } });
|
|
40
57
|
if (latestVersionResult.exitCode !== 0) {
|
|
41
58
|
logger_1.consola.error(`AWS Lambda list-versions-by-function failed: ${latestVersionResult.stderr}`);
|
|
42
59
|
throw new Error(`AWS Lambda list-versions-by-function failed: ${latestVersionResult.stderr}`);
|
|
@@ -72,7 +89,7 @@ async function runSmokeTests(stackId, lambdaFunctions, lambdaRegion = 'eu-west-3
|
|
|
72
89
|
const responseFile = `/tmp/lambda-response-${environment}-${lambdaFunction.name}.json`;
|
|
73
90
|
try {
|
|
74
91
|
logger_1.consola.log(`Running smoke tests for ${lambdaFunction.name} in env ${environment}`);
|
|
75
|
-
const invokeResult = await (0, exec_1.exec)(`aws lambda invoke --function-name ${lambdaFullARN} --payload ${btoa(lambdaFunction.healthCheckPayload)} ${responseFile}`, { throwOnError: true, nodeOptions: { env: envVars } });
|
|
92
|
+
const invokeResult = await (0, exec_1.exec)(`aws lambda invoke --function-name ${lambdaFullARN} --region ${lambdaRegion} --payload ${btoa(lambdaFunction.healthCheckPayload)} ${responseFile}`, { throwOnError: true, nodeOptions: { env: envVars } });
|
|
76
93
|
if (JSON.parse(invokeResult.stdout)['FunctionError']) {
|
|
77
94
|
const errorFile = (0, devkit_1.readJsonFile)(responseFile);
|
|
78
95
|
const errorMessage = errorFile.errorMessage;
|
|
@@ -99,15 +116,16 @@ async function runSmokeTests(stackId, lambdaFunctions, lambdaRegion = 'eu-west-3
|
|
|
99
116
|
* @param envVars - AWS credentials environment variables
|
|
100
117
|
*/
|
|
101
118
|
async function createOrUpdateLambdaAlias(accountId, lambdaARN, alias, envVars) {
|
|
119
|
+
const region = lambdaRegionFromArn(lambdaARN);
|
|
102
120
|
const latestVersion = await getLatestVersion(lambdaARN, envVars);
|
|
103
121
|
// Check if alias already exists
|
|
104
122
|
logger_1.consola.log(`Checking if alias ${alias} exists for function ${lambdaARN}`);
|
|
105
|
-
const getAliasResult = await (0, exec_1.exec)(`aws lambda get-alias --function-name ${lambdaARN} --name ${alias}`, { throwOnError: false, nodeOptions: { stdio: 'ignore', env: envVars } });
|
|
123
|
+
const getAliasResult = await (0, exec_1.exec)(`aws lambda get-alias --function-name ${lambdaARN} --region ${region} --name ${alias}`, { throwOnError: false, nodeOptions: { stdio: 'ignore', env: envVars } });
|
|
106
124
|
const aliasExists = getAliasResult.exitCode === 0;
|
|
107
125
|
const aliasAction = aliasExists ? 'update-alias' : 'create-alias';
|
|
108
|
-
logger_1.consola.log(`${aliasExists ? 'Updating' : 'Creating'} alias ${alias} for function ${lambdaARN} with version ${latestVersion}`);
|
|
109
|
-
logger_1.consola.log(`Executing command aws lambda ${aliasAction} --function-name ${lambdaARN} --name ${alias} --function-version ${latestVersion}`);
|
|
110
|
-
const result = await (0, exec_1.exec)(`aws lambda ${aliasAction} --function-name ${lambdaARN} --name ${alias} --function-version ${latestVersion}`, {
|
|
126
|
+
logger_1.consola.log(`${aliasExists ? 'Updating' : 'Creating'} alias ${alias} for function ${lambdaARN} (region ${region}) with version ${latestVersion}`);
|
|
127
|
+
logger_1.consola.log(`Executing command aws lambda ${aliasAction} --function-name ${lambdaARN} --region ${region} --name ${alias} --function-version ${latestVersion}`);
|
|
128
|
+
const result = await (0, exec_1.exec)(`aws lambda ${aliasAction} --function-name ${lambdaARN} --region ${region} --name ${alias} --function-version ${latestVersion}`, {
|
|
111
129
|
throwOnError: true,
|
|
112
130
|
nodeOptions: { env: envVars },
|
|
113
131
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-lambda.js","sourceRoot":"","sources":["../../../../src/utils/lambda/aws-lambda.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"aws-lambda.js","sourceRoot":"","sources":["../../../../src/utils/lambda/aws-lambda.ts"],"names":[],"mappings":"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"}
|