@datadog/datadog-ci-plugin-lambda 3.21.0 → 3.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/cli.d.ts +1 -0
  2. package/dist/cli.js +7 -0
  3. package/dist/cli.js.map +1 -0
  4. package/dist/commands/flare.d.ts +82 -0
  5. package/dist/commands/flare.js +636 -0
  6. package/dist/commands/flare.js.map +1 -0
  7. package/dist/commands/instrument.d.ts +10 -0
  8. package/dist/commands/instrument.js +405 -0
  9. package/dist/commands/instrument.js.map +1 -0
  10. package/dist/commands/uninstrument.d.ts +8 -0
  11. package/dist/commands/uninstrument.js +264 -0
  12. package/dist/commands/uninstrument.js.map +1 -0
  13. package/dist/constants.d.ts +87 -0
  14. package/dist/constants.js +159 -0
  15. package/dist/constants.js.map +1 -0
  16. package/dist/functions/commons.d.ts +131 -0
  17. package/dist/functions/commons.js +473 -0
  18. package/dist/functions/commons.js.map +1 -0
  19. package/dist/functions/instrument.d.ts +7 -0
  20. package/dist/functions/instrument.js +271 -0
  21. package/dist/functions/instrument.js.map +1 -0
  22. package/dist/functions/uninstrument.d.ts +7 -0
  23. package/dist/functions/uninstrument.js +156 -0
  24. package/dist/functions/uninstrument.js.map +1 -0
  25. package/dist/functions/versionChecker.d.ts +3 -0
  26. package/dist/functions/versionChecker.js +38 -0
  27. package/dist/functions/versionChecker.js.map +1 -0
  28. package/dist/interfaces.d.ts +91 -0
  29. package/dist/interfaces.js +3 -0
  30. package/dist/interfaces.js.map +1 -0
  31. package/dist/loggroup.d.ts +17 -0
  32. package/dist/loggroup.js +140 -0
  33. package/dist/loggroup.js.map +1 -0
  34. package/dist/prompt.d.ts +12 -0
  35. package/dist/prompt.js +265 -0
  36. package/dist/prompt.js.map +1 -0
  37. package/dist/renderers/__mocks__/instrument-uninstrument-renderer.d.ts +2 -0
  38. package/dist/renderers/__mocks__/instrument-uninstrument-renderer.js +11 -0
  39. package/dist/renderers/__mocks__/instrument-uninstrument-renderer.js.map +1 -0
  40. package/dist/renderers/common-renderer.d.ts +16 -0
  41. package/dist/renderers/common-renderer.js +23 -0
  42. package/dist/renderers/common-renderer.js.map +1 -0
  43. package/dist/renderers/instrument-uninstrument-renderer.d.ts +397 -0
  44. package/dist/renderers/instrument-uninstrument-renderer.js +506 -0
  45. package/dist/renderers/instrument-uninstrument-renderer.js.map +1 -0
  46. package/dist/tags.d.ts +8 -0
  47. package/dist/tags.js +74 -0
  48. package/dist/tags.js.map +1 -0
  49. package/package.json +9 -3
@@ -0,0 +1,264 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.PluginCommand = void 0;
39
+ const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
40
+ const client_lambda_1 = require("@aws-sdk/client-lambda");
41
+ const uninstrument_1 = require("@datadog/datadog-ci-base/commands/lambda/uninstrument");
42
+ const constants_1 = require("@datadog/datadog-ci-base/constants");
43
+ const env_1 = require("@datadog/datadog-ci-base/helpers/env");
44
+ const fips_1 = require("@datadog/datadog-ci-base/helpers/fips");
45
+ const prompt_1 = require("@datadog/datadog-ci-base/helpers/prompt");
46
+ const helperRenderer = __importStar(require("@datadog/datadog-ci-base/helpers/renderer"));
47
+ const utils_1 = require("@datadog/datadog-ci-base/helpers/utils");
48
+ const chalk_1 = __importDefault(require("chalk"));
49
+ const constants_2 = require("../constants");
50
+ const commons_1 = require("../functions/commons");
51
+ const uninstrument_2 = require("../functions/uninstrument");
52
+ const prompt_2 = require("../prompt");
53
+ const commonRenderer = __importStar(require("../renderers/common-renderer"));
54
+ const instrumentRenderer = __importStar(require("../renderers/instrument-uninstrument-renderer"));
55
+ class PluginCommand extends uninstrument_1.UninstrumentCommand {
56
+ constructor() {
57
+ var _a, _b;
58
+ super(...arguments);
59
+ this.config = {
60
+ functions: [],
61
+ region: process.env[constants_2.AWS_DEFAULT_REGION_ENV_VAR],
62
+ };
63
+ this.fipsConfig = {
64
+ fips: (_a = (0, env_1.toBoolean)(process.env[constants_1.FIPS_ENV_VAR])) !== null && _a !== void 0 ? _a : false,
65
+ fipsIgnoreError: (_b = (0, env_1.toBoolean)(process.env[constants_1.FIPS_IGNORE_ERROR_ENV_VAR])) !== null && _b !== void 0 ? _b : false,
66
+ };
67
+ }
68
+ execute() {
69
+ var _a, _b, _c, _d;
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ (0, fips_1.enableFips)(this.fips || this.fipsConfig.fips, this.fipsIgnoreError || this.fipsConfig.fipsIgnoreError);
72
+ this.context.stdout.write(instrumentRenderer.renderLambdaHeader(Object.getPrototypeOf(this), this.dryRun));
73
+ const lambdaConfig = { lambda: this.config };
74
+ this.config = (yield (0, utils_1.resolveConfigFromFile)(lambdaConfig, { configPath: this.configPath, defaultConfigPaths: utils_1.DEFAULT_CONFIG_PATHS })).lambda;
75
+ const profile = (_a = this.profile) !== null && _a !== void 0 ? _a : this.config.profile;
76
+ if (profile) {
77
+ try {
78
+ this.credentials = yield (0, commons_1.getAWSProfileCredentials)(profile);
79
+ }
80
+ catch (err) {
81
+ this.context.stdout.write(helperRenderer.renderError(err));
82
+ return 1;
83
+ }
84
+ }
85
+ let hasSpecifiedFunctions = this.functions.length !== 0 || this.config.functions.length !== 0;
86
+ if (this.interactive) {
87
+ try {
88
+ const credentials = yield (0, commons_1.getAWSCredentials)();
89
+ if (credentials === undefined) {
90
+ this.context.stdout.write(commonRenderer.renderNoAWSCredentialsFound());
91
+ yield (0, prompt_2.requestAWSCredentials)();
92
+ }
93
+ else {
94
+ this.credentials = credentials;
95
+ }
96
+ }
97
+ catch (err) {
98
+ this.context.stdout.write(helperRenderer.renderError(err));
99
+ return 1;
100
+ }
101
+ const region = (_c = (_b = this.region) !== null && _b !== void 0 ? _b : this.config.region) !== null && _c !== void 0 ? _c : process.env[constants_2.AWS_DEFAULT_REGION_ENV_VAR];
102
+ this.region = region;
103
+ if (!hasSpecifiedFunctions) {
104
+ const spinner = instrumentRenderer.fetchingFunctionsSpinner();
105
+ try {
106
+ const lambdaClientConfig = {
107
+ region,
108
+ credentials: this.credentials,
109
+ retryStrategy: constants_2.EXPONENTIAL_BACKOFF_RETRY_STRATEGY,
110
+ };
111
+ const lambdaClient = new client_lambda_1.LambdaClient(lambdaClientConfig);
112
+ spinner.start();
113
+ const functionNames = (_d = (yield (0, commons_1.getAllLambdaFunctionConfigs)(lambdaClient)).map((config) => config.FunctionName).sort()) !== null && _d !== void 0 ? _d : [];
114
+ if (functionNames.length === 0) {
115
+ this.context.stdout.write(instrumentRenderer.renderCouldntFindLambdaFunctionsInRegionError());
116
+ return 1;
117
+ }
118
+ spinner.succeed(instrumentRenderer.renderFetchedLambdaFunctions(functionNames.length));
119
+ const functions = yield (0, prompt_2.requestFunctionSelection)(functionNames);
120
+ this.functions = functions;
121
+ }
122
+ catch (err) {
123
+ spinner.fail(instrumentRenderer.renderFailedFetchingLambdaFunctions());
124
+ this.context.stdout.write(instrumentRenderer.renderCouldntFetchLambdaFunctionsError(err));
125
+ return 1;
126
+ }
127
+ }
128
+ }
129
+ hasSpecifiedFunctions = this.functions.length !== 0 || this.config.functions.length !== 0;
130
+ const hasSpecifiedRegExPattern = this.regExPattern !== undefined && this.regExPattern !== '';
131
+ if (!hasSpecifiedFunctions && !hasSpecifiedRegExPattern) {
132
+ this.context.stdout.write(instrumentRenderer.renderNoFunctionsSpecifiedError(Object.getPrototypeOf(this)));
133
+ return 1;
134
+ }
135
+ const configGroups = [];
136
+ // Fetch lambda function configurations that are
137
+ // available to be un-instrumented.
138
+ if (hasSpecifiedRegExPattern) {
139
+ if (hasSpecifiedFunctions) {
140
+ this.context.stdout.write(instrumentRenderer.renderFunctionsAndFunctionsRegexOptionsBothSetError(this.functions.length !== 0));
141
+ return 1;
142
+ }
143
+ if (this.regExPattern.match(':')) {
144
+ this.context.stdout.write(instrumentRenderer.renderRegexSetWithARNError());
145
+ return 1;
146
+ }
147
+ const region = this.region || this.config.region;
148
+ if (!region) {
149
+ this.context.stdout.write(commonRenderer.renderNoDefaultRegionSpecifiedError());
150
+ return 1;
151
+ }
152
+ const spinner = instrumentRenderer.fetchingFunctionsSpinner();
153
+ try {
154
+ const cloudWatchLogsClient = new client_cloudwatch_logs_1.CloudWatchLogsClient({
155
+ region,
156
+ retryStrategy: constants_2.EXPONENTIAL_BACKOFF_RETRY_STRATEGY,
157
+ });
158
+ const lambdaClientConfig = {
159
+ region,
160
+ credentials: this.credentials,
161
+ retryStrategy: constants_2.EXPONENTIAL_BACKOFF_RETRY_STRATEGY,
162
+ };
163
+ const lambdaClient = new client_lambda_1.LambdaClient(lambdaClientConfig);
164
+ spinner.start();
165
+ const configs = yield (0, uninstrument_2.getUninstrumentedFunctionConfigsFromRegEx)(lambdaClient, cloudWatchLogsClient, this.regExPattern, this.forwarder);
166
+ spinner.succeed(instrumentRenderer.renderFetchedLambdaFunctions(configs.length));
167
+ configGroups.push({ configs, lambdaClient, cloudWatchLogsClient, region });
168
+ }
169
+ catch (err) {
170
+ spinner.fail(instrumentRenderer.renderFailedFetchingLambdaFunctions());
171
+ this.context.stdout.write(instrumentRenderer.renderCouldntFetchLambdaFunctionsError(err));
172
+ return 1;
173
+ }
174
+ }
175
+ else {
176
+ let functionGroups;
177
+ try {
178
+ functionGroups = (0, commons_1.collectFunctionsByRegion)(this.functions.length !== 0 ? this.functions : this.config.functions, this.region || this.config.region);
179
+ }
180
+ catch (err) {
181
+ this.context.stdout.write(instrumentRenderer.renderCouldntGroupFunctionsError(err));
182
+ return 1;
183
+ }
184
+ for (const [region, functionARNs] of Object.entries(functionGroups)) {
185
+ const spinner = instrumentRenderer.fetchingFunctionsConfigSpinner(region);
186
+ spinner.start();
187
+ const lambdaClientConfig = {
188
+ region,
189
+ credentials: this.credentials,
190
+ retryStrategy: constants_2.EXPONENTIAL_BACKOFF_RETRY_STRATEGY,
191
+ };
192
+ const lambdaClient = new client_lambda_1.LambdaClient(lambdaClientConfig);
193
+ const cloudWatchLogsClient = new client_cloudwatch_logs_1.CloudWatchLogsClient({
194
+ region,
195
+ retryStrategy: constants_2.EXPONENTIAL_BACKOFF_RETRY_STRATEGY,
196
+ });
197
+ try {
198
+ const configs = yield (0, uninstrument_2.getUninstrumentedFunctionConfigs)(lambdaClient, cloudWatchLogsClient, functionARNs, this.forwarder);
199
+ configGroups.push({ configs, lambdaClient, cloudWatchLogsClient, region });
200
+ spinner.succeed(instrumentRenderer.renderFetchedLambdaConfigurationsFromRegion(region, configs.length));
201
+ }
202
+ catch (err) {
203
+ spinner.fail(instrumentRenderer.renderFailedFetchingLambdaConfigurationsFromRegion(region));
204
+ this.context.stdout.write(instrumentRenderer.renderCouldntFetchLambdaFunctionsError(err));
205
+ return 1;
206
+ }
207
+ }
208
+ }
209
+ const configList = configGroups.map((group) => group.configs).reduce((a, b) => a.concat(b));
210
+ this.printPlannedActions(configList);
211
+ if (this.dryRun || configList.length === 0) {
212
+ return 0;
213
+ }
214
+ const willUpdate = (0, commons_1.willUpdateFunctionConfigs)(configList);
215
+ if (this.interactive && willUpdate) {
216
+ this.context.stdout.write(instrumentRenderer.renderConfirmationNeededSoftWarning());
217
+ const isConfirmed = yield (0, prompt_1.requestConfirmation)('Do you want to apply the changes?');
218
+ if (!isConfirmed) {
219
+ return 0;
220
+ }
221
+ this.context.stdout.write(instrumentRenderer.renderUninstrumentingFunctionsSoftWarning());
222
+ }
223
+ // Un-instrument functions.
224
+ if (willUpdate) {
225
+ if (willUpdate) {
226
+ try {
227
+ yield (0, commons_1.handleLambdaFunctionUpdates)(configGroups, this.context.stdout);
228
+ }
229
+ catch (_e) {
230
+ return 1;
231
+ }
232
+ }
233
+ }
234
+ return 0;
235
+ });
236
+ }
237
+ printPlannedActions(configs) {
238
+ const willUpdate = (0, commons_1.willUpdateFunctionConfigs)(configs);
239
+ if (!willUpdate) {
240
+ this.context.stdout.write(instrumentRenderer.renderNoUpdatesApplied(this.dryRun));
241
+ return;
242
+ }
243
+ this.context.stdout.write(instrumentRenderer.renderFunctionsToBeUpdated());
244
+ for (const config of configs) {
245
+ this.context.stdout.write(`\t- ${chalk_1.default.bold(config.functionARN)}\n`);
246
+ }
247
+ this.context.stdout.write(instrumentRenderer.renderWillApplyUpdates(this.dryRun));
248
+ for (const config of configs) {
249
+ if (config.updateFunctionConfigurationCommandInput) {
250
+ const maskedConfig = (0, commons_1.maskConfig)(config.updateFunctionConfigurationCommandInput);
251
+ this.context.stdout.write(`UpdateFunctionConfiguration -> ${config.functionARN}\n${JSON.stringify(maskedConfig, undefined, 2)}\n`);
252
+ }
253
+ const { logGroupConfiguration, tagConfiguration } = config;
254
+ if (tagConfiguration === null || tagConfiguration === void 0 ? void 0 : tagConfiguration.untagResourceCommandInput) {
255
+ this.context.stdout.write(`UntagResource -> ${tagConfiguration.untagResourceCommandInput.Resource}\n${JSON.stringify(tagConfiguration.untagResourceCommandInput.TagKeys, undefined, 2)}\n`);
256
+ }
257
+ if (logGroupConfiguration === null || logGroupConfiguration === void 0 ? void 0 : logGroupConfiguration.deleteSubscriptionFilterCommandInput) {
258
+ this.context.stdout.write(`DeleteSubscriptionFilter -> ${logGroupConfiguration.logGroupName}\n${JSON.stringify(logGroupConfiguration.deleteSubscriptionFilterCommandInput, undefined, 2)}\n`);
259
+ }
260
+ }
261
+ }
262
+ }
263
+ exports.PluginCommand = PluginCommand;
264
+ //# sourceMappingURL=uninstrument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstrument.js","sourceRoot":"","sources":["../../src/commands/uninstrument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import type { Runtime } from '@aws-sdk/client-lambda';
2
+ import { ConfiguredRetryStrategy } from '@smithy/util-retry';
3
+ export declare const LAMBDA_FIPS_ENV_VAR = "DATADOG_LAMBDA_FIPS";
4
+ export declare const DD_LAMBDA_EXTENSION_LAYER_NAME = "Datadog-Extension";
5
+ export declare const EXTENSION_LAYER_KEY = "extension";
6
+ export declare const LAYER_LOOKUP: {
7
+ readonly extension: "Datadog-Extension";
8
+ readonly dotnet6: "dd-trace-dotnet";
9
+ readonly dotnet8: "dd-trace-dotnet";
10
+ readonly java11: "dd-trace-java";
11
+ readonly java17: "dd-trace-java";
12
+ readonly java21: "dd-trace-java";
13
+ readonly 'java8.al2': "dd-trace-java";
14
+ readonly 'nodejs16.x': "Datadog-Node16-x";
15
+ readonly 'nodejs18.x': "Datadog-Node18-x";
16
+ readonly 'nodejs20.x': "Datadog-Node20-x";
17
+ readonly 'nodejs22.x': "Datadog-Node22-x";
18
+ readonly 'python3.8': "Datadog-Python38";
19
+ readonly 'python3.9': "Datadog-Python39";
20
+ readonly 'python3.10': "Datadog-Python310";
21
+ readonly 'python3.11': "Datadog-Python311";
22
+ readonly 'python3.12': "Datadog-Python312";
23
+ readonly 'python3.13': "Datadog-Python313";
24
+ readonly 'ruby3.2': "Datadog-Ruby3-2";
25
+ readonly 'ruby3.3': "Datadog-Ruby3-3";
26
+ };
27
+ export declare enum RuntimeType {
28
+ DOTNET = 0,
29
+ CUSTOM = 1,
30
+ JAVA = 2,
31
+ NODE = 3,
32
+ PYTHON = 4,
33
+ RUBY = 5
34
+ }
35
+ export declare const RUNTIME_LOOKUP: Partial<Record<Runtime, RuntimeType>>;
36
+ export type LayerKey = keyof typeof LAYER_LOOKUP;
37
+ export declare const ARM_LAYERS: string[];
38
+ export declare const ARM64_ARCHITECTURE = "arm64";
39
+ export declare const ARM_LAYER_SUFFIX = "-ARM";
40
+ export declare const PYTHON_HANDLER_LOCATION = "datadog_lambda.handler.handler";
41
+ export declare const NODE_HANDLER_LOCATION = "/opt/nodejs/node_modules/datadog-lambda-js/handler.handler";
42
+ export declare const DEFAULT_LAYER_AWS_ACCOUNT = "464622532012";
43
+ export declare const GOVCLOUD_LAYER_AWS_ACCOUNT = "002406178527";
44
+ export declare const SUBSCRIPTION_FILTER_NAME = "datadog-ci-filter";
45
+ export declare const TAG_VERSION_NAME = "dd_sls_ci";
46
+ export declare const AWS_LAMBDA_EXEC_WRAPPER_VAR = "AWS_LAMBDA_EXEC_WRAPPER";
47
+ export declare const AWS_LAMBDA_EXEC_WRAPPER = "/opt/datadog_wrapper";
48
+ export declare const CORECLR_ENABLE_PROFILING = "1";
49
+ export declare const CORECLR_PROFILER = "{846F5F1C-F9AE-4B07-969E-05C26BC060D8}";
50
+ export declare const CORECLR_PROFILER_PATH = "/opt/datadog/Datadog.Trace.ClrProfiler.Native.so";
51
+ export declare const DD_DOTNET_TRACER_HOME = "/opt/datadog";
52
+ export declare const API_KEY_SECRET_ARN_ENV_VAR = "DD_API_KEY_SECRET_ARN";
53
+ export declare const KMS_API_KEY_ENV_VAR = "DD_KMS_API_KEY";
54
+ export declare const MERGE_XRAY_TRACES_ENV_VAR = "DD_MERGE_XRAY_TRACES";
55
+ export declare const FLUSH_TO_LOG_ENV_VAR = "DD_FLUSH_TO_LOG";
56
+ export declare const LOG_ENABLED_ENV_VAR = "DD_SERVERLESS_LOGS_ENABLED";
57
+ export declare const LAMBDA_HANDLER_ENV_VAR = "DD_LAMBDA_HANDLER";
58
+ export declare const CAPTURE_LAMBDA_PAYLOAD_ENV_VAR = "DD_CAPTURE_LAMBDA_PAYLOAD";
59
+ export declare const APM_FLUSH_DEADLINE_MILLISECONDS_ENV_VAR = "DD_APM_FLUSH_DEADLINE_MILLISECONDS";
60
+ export declare const APPSEC_ENABLED_ENV_VAR = "DD_SERVERLESS_APPSEC_ENABLED";
61
+ export declare const ENABLE_PROFILING_ENV_VAR = "CORECLR_ENABLE_PROFILING";
62
+ export declare const PROFILER_ENV_VAR = "CORECLR_PROFILER";
63
+ export declare const PROFILER_PATH_ENV_VAR = "CORECLR_PROFILER_PATH";
64
+ export declare const DOTNET_TRACER_HOME_ENV_VAR = "DD_DOTNET_TRACER_HOME";
65
+ export declare const DD_LAMBDA_FIPS_MODE_ENV_VAR = "DD_LAMBDA_FIPS_MODE";
66
+ export declare const CI_API_KEY_SECRET_ARN_ENV_VAR = "DATADOG_API_KEY_SECRET_ARN";
67
+ export declare const CI_KMS_API_KEY_ENV_VAR = "DATADOG_KMS_API_KEY";
68
+ export declare const AWS_ACCESS_KEY_ID_ENV_VAR = "AWS_ACCESS_KEY_ID";
69
+ export declare const AWS_SECRET_ACCESS_KEY_ENV_VAR = "AWS_SECRET_ACCESS_KEY";
70
+ export declare const AWS_DEFAULT_REGION_ENV_VAR = "AWS_DEFAULT_REGION";
71
+ export declare const AWS_SESSION_TOKEN_ENV_VAR = "AWS_SESSION_TOKEN";
72
+ export declare const AWS_SHARED_CREDENTIALS_FILE_ENV_VAR = "AWS_SHARED_CREDENTIALS_FILE";
73
+ export declare const AWS_ACCESS_KEY_ID_REG_EXP: RegExp;
74
+ export declare const AWS_SECRET_ACCESS_KEY_REG_EXP: RegExp;
75
+ export declare const AWS_SECRET_ARN_REG_EXP: RegExp;
76
+ export declare const DATADOG_API_KEY_REG_EXP: RegExp;
77
+ export declare const DATADOG_APP_KEY_REG_EXP: RegExp;
78
+ export declare const SKIP_MASKING_LAMBDA_ENV_VARS: Set<string>;
79
+ export declare enum DeploymentFrameworks {
80
+ ServerlessFramework = "Serverless Framework",
81
+ AwsCdk = "AWS CDK",
82
+ AwsCloudFormation = "AWS CloudFormation",
83
+ Unknown = "Unknown"
84
+ }
85
+ export declare const FRAMEWORK_FILES_MAPPING: Map<string, DeploymentFrameworks>;
86
+ export declare const LAMBDA_PROJECT_FILES: string[];
87
+ export declare const EXPONENTIAL_BACKOFF_RETRY_STRATEGY: ConfiguredRetryStrategy;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FRAMEWORK_FILES_MAPPING = exports.DeploymentFrameworks = exports.SKIP_MASKING_LAMBDA_ENV_VARS = exports.DATADOG_APP_KEY_REG_EXP = exports.DATADOG_API_KEY_REG_EXP = exports.AWS_SECRET_ARN_REG_EXP = exports.AWS_SECRET_ACCESS_KEY_REG_EXP = exports.AWS_ACCESS_KEY_ID_REG_EXP = exports.AWS_SHARED_CREDENTIALS_FILE_ENV_VAR = exports.AWS_SESSION_TOKEN_ENV_VAR = exports.AWS_DEFAULT_REGION_ENV_VAR = exports.AWS_SECRET_ACCESS_KEY_ENV_VAR = exports.AWS_ACCESS_KEY_ID_ENV_VAR = exports.CI_KMS_API_KEY_ENV_VAR = exports.CI_API_KEY_SECRET_ARN_ENV_VAR = exports.DD_LAMBDA_FIPS_MODE_ENV_VAR = exports.DOTNET_TRACER_HOME_ENV_VAR = exports.PROFILER_PATH_ENV_VAR = exports.PROFILER_ENV_VAR = exports.ENABLE_PROFILING_ENV_VAR = exports.APPSEC_ENABLED_ENV_VAR = exports.APM_FLUSH_DEADLINE_MILLISECONDS_ENV_VAR = exports.CAPTURE_LAMBDA_PAYLOAD_ENV_VAR = exports.LAMBDA_HANDLER_ENV_VAR = exports.LOG_ENABLED_ENV_VAR = exports.FLUSH_TO_LOG_ENV_VAR = exports.MERGE_XRAY_TRACES_ENV_VAR = exports.KMS_API_KEY_ENV_VAR = exports.API_KEY_SECRET_ARN_ENV_VAR = exports.DD_DOTNET_TRACER_HOME = exports.CORECLR_PROFILER_PATH = exports.CORECLR_PROFILER = exports.CORECLR_ENABLE_PROFILING = exports.AWS_LAMBDA_EXEC_WRAPPER = exports.AWS_LAMBDA_EXEC_WRAPPER_VAR = exports.TAG_VERSION_NAME = exports.SUBSCRIPTION_FILTER_NAME = exports.GOVCLOUD_LAYER_AWS_ACCOUNT = exports.DEFAULT_LAYER_AWS_ACCOUNT = exports.NODE_HANDLER_LOCATION = exports.PYTHON_HANDLER_LOCATION = exports.ARM_LAYER_SUFFIX = exports.ARM64_ARCHITECTURE = exports.ARM_LAYERS = exports.RUNTIME_LOOKUP = exports.RuntimeType = exports.LAYER_LOOKUP = exports.EXTENSION_LAYER_KEY = exports.DD_LAMBDA_EXTENSION_LAYER_NAME = exports.LAMBDA_FIPS_ENV_VAR = void 0;
4
+ exports.EXPONENTIAL_BACKOFF_RETRY_STRATEGY = exports.LAMBDA_PROJECT_FILES = void 0;
5
+ const constants_1 = require("@datadog/datadog-ci-base/constants");
6
+ const util_retry_1 = require("@smithy/util-retry");
7
+ exports.LAMBDA_FIPS_ENV_VAR = 'DATADOG_LAMBDA_FIPS';
8
+ exports.DD_LAMBDA_EXTENSION_LAYER_NAME = 'Datadog-Extension';
9
+ exports.EXTENSION_LAYER_KEY = 'extension';
10
+ exports.LAYER_LOOKUP = {
11
+ [exports.EXTENSION_LAYER_KEY]: exports.DD_LAMBDA_EXTENSION_LAYER_NAME,
12
+ dotnet6: 'dd-trace-dotnet',
13
+ dotnet8: 'dd-trace-dotnet',
14
+ java11: 'dd-trace-java',
15
+ java17: 'dd-trace-java',
16
+ java21: 'dd-trace-java',
17
+ 'java8.al2': 'dd-trace-java',
18
+ 'nodejs16.x': 'Datadog-Node16-x',
19
+ 'nodejs18.x': 'Datadog-Node18-x',
20
+ 'nodejs20.x': 'Datadog-Node20-x',
21
+ 'nodejs22.x': 'Datadog-Node22-x',
22
+ 'python3.8': 'Datadog-Python38',
23
+ 'python3.9': 'Datadog-Python39',
24
+ 'python3.10': 'Datadog-Python310',
25
+ 'python3.11': 'Datadog-Python311',
26
+ 'python3.12': 'Datadog-Python312',
27
+ 'python3.13': 'Datadog-Python313',
28
+ 'ruby3.2': 'Datadog-Ruby3-2',
29
+ 'ruby3.3': 'Datadog-Ruby3-3',
30
+ };
31
+ var RuntimeType;
32
+ (function (RuntimeType) {
33
+ RuntimeType[RuntimeType["DOTNET"] = 0] = "DOTNET";
34
+ RuntimeType[RuntimeType["CUSTOM"] = 1] = "CUSTOM";
35
+ RuntimeType[RuntimeType["JAVA"] = 2] = "JAVA";
36
+ RuntimeType[RuntimeType["NODE"] = 3] = "NODE";
37
+ RuntimeType[RuntimeType["PYTHON"] = 4] = "PYTHON";
38
+ RuntimeType[RuntimeType["RUBY"] = 5] = "RUBY";
39
+ })(RuntimeType || (exports.RuntimeType = RuntimeType = {}));
40
+ // Lookup table for runtimes that are currently supported by the CLI
41
+ exports.RUNTIME_LOOKUP = {
42
+ dotnet6: RuntimeType.DOTNET,
43
+ dotnet8: RuntimeType.DOTNET,
44
+ java11: RuntimeType.JAVA,
45
+ java17: RuntimeType.JAVA,
46
+ java21: RuntimeType.JAVA,
47
+ 'java8.al2': RuntimeType.JAVA,
48
+ 'nodejs16.x': RuntimeType.NODE,
49
+ 'nodejs18.x': RuntimeType.NODE,
50
+ 'nodejs20.x': RuntimeType.NODE,
51
+ 'nodejs22.x': RuntimeType.NODE,
52
+ 'provided.al2': RuntimeType.CUSTOM,
53
+ 'provided.al2023': RuntimeType.CUSTOM,
54
+ 'python3.8': RuntimeType.PYTHON,
55
+ 'python3.9': RuntimeType.PYTHON,
56
+ 'python3.10': RuntimeType.PYTHON,
57
+ 'python3.11': RuntimeType.PYTHON,
58
+ 'python3.12': RuntimeType.PYTHON,
59
+ 'python3.13': RuntimeType.PYTHON,
60
+ 'ruby3.2': RuntimeType.RUBY,
61
+ 'ruby3.3': RuntimeType.RUBY,
62
+ };
63
+ exports.ARM_LAYERS = [
64
+ exports.EXTENSION_LAYER_KEY,
65
+ 'dotnet6',
66
+ 'dotnet8',
67
+ 'python3.8',
68
+ 'python3.9',
69
+ 'python3.10',
70
+ 'python3.11',
71
+ 'python3.12',
72
+ 'python3.13',
73
+ 'ruby3.2',
74
+ 'ruby3.3',
75
+ ];
76
+ exports.ARM64_ARCHITECTURE = 'arm64';
77
+ exports.ARM_LAYER_SUFFIX = '-ARM';
78
+ exports.PYTHON_HANDLER_LOCATION = 'datadog_lambda.handler.handler';
79
+ exports.NODE_HANDLER_LOCATION = '/opt/nodejs/node_modules/datadog-lambda-js/handler.handler';
80
+ exports.DEFAULT_LAYER_AWS_ACCOUNT = '464622532012';
81
+ exports.GOVCLOUD_LAYER_AWS_ACCOUNT = '002406178527';
82
+ exports.SUBSCRIPTION_FILTER_NAME = 'datadog-ci-filter';
83
+ exports.TAG_VERSION_NAME = 'dd_sls_ci';
84
+ // Env variables for Univeral instrument lambda exec wrapper
85
+ exports.AWS_LAMBDA_EXEC_WRAPPER_VAR = 'AWS_LAMBDA_EXEC_WRAPPER';
86
+ exports.AWS_LAMBDA_EXEC_WRAPPER = '/opt/datadog_wrapper';
87
+ // Export const values for .NET tracer
88
+ exports.CORECLR_ENABLE_PROFILING = '1';
89
+ exports.CORECLR_PROFILER = '{846F5F1C-F9AE-4B07-969E-05C26BC060D8}';
90
+ exports.CORECLR_PROFILER_PATH = '/opt/datadog/Datadog.Trace.ClrProfiler.Native.so';
91
+ exports.DD_DOTNET_TRACER_HOME = '/opt/datadog';
92
+ // Environment variables used in the Lambda environment
93
+ exports.API_KEY_SECRET_ARN_ENV_VAR = 'DD_API_KEY_SECRET_ARN';
94
+ exports.KMS_API_KEY_ENV_VAR = 'DD_KMS_API_KEY';
95
+ exports.MERGE_XRAY_TRACES_ENV_VAR = 'DD_MERGE_XRAY_TRACES';
96
+ exports.FLUSH_TO_LOG_ENV_VAR = 'DD_FLUSH_TO_LOG';
97
+ exports.LOG_ENABLED_ENV_VAR = 'DD_SERVERLESS_LOGS_ENABLED';
98
+ exports.LAMBDA_HANDLER_ENV_VAR = 'DD_LAMBDA_HANDLER';
99
+ exports.CAPTURE_LAMBDA_PAYLOAD_ENV_VAR = 'DD_CAPTURE_LAMBDA_PAYLOAD';
100
+ exports.APM_FLUSH_DEADLINE_MILLISECONDS_ENV_VAR = 'DD_APM_FLUSH_DEADLINE_MILLISECONDS';
101
+ exports.APPSEC_ENABLED_ENV_VAR = 'DD_SERVERLESS_APPSEC_ENABLED';
102
+ exports.ENABLE_PROFILING_ENV_VAR = 'CORECLR_ENABLE_PROFILING';
103
+ exports.PROFILER_ENV_VAR = 'CORECLR_PROFILER';
104
+ exports.PROFILER_PATH_ENV_VAR = 'CORECLR_PROFILER_PATH';
105
+ exports.DOTNET_TRACER_HOME_ENV_VAR = 'DD_DOTNET_TRACER_HOME';
106
+ exports.DD_LAMBDA_FIPS_MODE_ENV_VAR = 'DD_LAMBDA_FIPS_MODE';
107
+ // Environment variables used by Datadog CI
108
+ exports.CI_API_KEY_SECRET_ARN_ENV_VAR = 'DATADOG_API_KEY_SECRET_ARN';
109
+ exports.CI_KMS_API_KEY_ENV_VAR = 'DATADOG_KMS_API_KEY';
110
+ exports.AWS_ACCESS_KEY_ID_ENV_VAR = 'AWS_ACCESS_KEY_ID';
111
+ exports.AWS_SECRET_ACCESS_KEY_ENV_VAR = 'AWS_SECRET_ACCESS_KEY';
112
+ exports.AWS_DEFAULT_REGION_ENV_VAR = 'AWS_DEFAULT_REGION';
113
+ exports.AWS_SESSION_TOKEN_ENV_VAR = 'AWS_SESSION_TOKEN';
114
+ exports.AWS_SHARED_CREDENTIALS_FILE_ENV_VAR = 'AWS_SHARED_CREDENTIALS_FILE';
115
+ exports.AWS_ACCESS_KEY_ID_REG_EXP = /(?<![A-Z0-9])[A-Z0-9]{20}(?![A-Z0-9])/g;
116
+ exports.AWS_SECRET_ACCESS_KEY_REG_EXP = /(?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=])/g;
117
+ exports.AWS_SECRET_ARN_REG_EXP = /arn:aws:secretsmanager:[\w-]+:\d{12}:secret:.+/;
118
+ exports.DATADOG_API_KEY_REG_EXP = /(?<![a-f0-9])[a-f0-9]{32}(?![a-f0-9])/g;
119
+ exports.DATADOG_APP_KEY_REG_EXP = /(?<![a-f0-9])[a-f0-9]{40}(?![a-f0-9])/g;
120
+ // Environment Variables whose values don't need to be masked
121
+ exports.SKIP_MASKING_LAMBDA_ENV_VARS = new Set([
122
+ exports.AWS_LAMBDA_EXEC_WRAPPER_VAR,
123
+ exports.API_KEY_SECRET_ARN_ENV_VAR,
124
+ exports.DOTNET_TRACER_HOME_ENV_VAR,
125
+ constants_1.ENVIRONMENT_ENV_VAR,
126
+ constants_1.DD_TAGS_ENV_VAR,
127
+ exports.LAMBDA_HANDLER_ENV_VAR,
128
+ constants_1.DD_LOG_LEVEL_ENV_VAR,
129
+ exports.KMS_API_KEY_ENV_VAR,
130
+ exports.PROFILER_ENV_VAR,
131
+ exports.PROFILER_PATH_ENV_VAR,
132
+ constants_1.SERVICE_ENV_VAR,
133
+ constants_1.SITE_ENV_VAR,
134
+ constants_1.VERSION_ENV_VAR,
135
+ ]);
136
+ var DeploymentFrameworks;
137
+ (function (DeploymentFrameworks) {
138
+ DeploymentFrameworks["ServerlessFramework"] = "Serverless Framework";
139
+ DeploymentFrameworks["AwsCdk"] = "AWS CDK";
140
+ DeploymentFrameworks["AwsCloudFormation"] = "AWS CloudFormation";
141
+ DeploymentFrameworks["Unknown"] = "Unknown";
142
+ })(DeploymentFrameworks || (exports.DeploymentFrameworks = DeploymentFrameworks = {}));
143
+ // Mappings of files to frameworks.
144
+ // For example, if `serverless.yml` exists, we know it's the Serverless Framework
145
+ exports.FRAMEWORK_FILES_MAPPING = new Map([
146
+ ['serverless.yaml', DeploymentFrameworks.ServerlessFramework],
147
+ ['serverless.yml', DeploymentFrameworks.ServerlessFramework],
148
+ ['serverless.js', DeploymentFrameworks.ServerlessFramework],
149
+ ['cdk.json', DeploymentFrameworks.AwsCdk],
150
+ ['.cdk.json', DeploymentFrameworks.AwsCdk],
151
+ ['template.yaml', DeploymentFrameworks.AwsCloudFormation],
152
+ ['template.yml', DeploymentFrameworks.AwsCloudFormation],
153
+ ['template.json', DeploymentFrameworks.AwsCloudFormation],
154
+ ]);
155
+ exports.LAMBDA_PROJECT_FILES = [...constants_1.FLARE_PROJECT_FILES, ...exports.FRAMEWORK_FILES_MAPPING.keys()];
156
+ // Configures max number of attempts and exponential backoff function for AWS requests
157
+ // First retry is attempt 1
158
+ exports.EXPONENTIAL_BACKOFF_RETRY_STRATEGY = new util_retry_1.ConfiguredRetryStrategy(4, (attempt) => 1000 * Math.pow(2, (attempt - 1)));
159
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}