@datadog/datadog-ci 2.43.0 → 2.44.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/commands/deployment/correlate.d.ts +1 -0
- package/dist/commands/deployment/correlate.js +30 -19
- package/dist/commands/deployment/correlate.js.map +1 -1
- package/dist/commands/sbom/constants.d.ts +3 -0
- package/dist/commands/sbom/constants.js +4 -1
- package/dist/commands/sbom/constants.js.map +1 -1
- package/dist/commands/sbom/payload.js +90 -37
- package/dist/commands/sbom/payload.js.map +1 -1
- package/dist/commands/sbom/types.d.ts +16 -0
- package/dist/commands/stepfunctions/helpers.d.ts +0 -2
- package/dist/commands/stepfunctions/helpers.js +58 -60
- package/dist/commands/stepfunctions/helpers.js.map +1 -1
- package/dist/commands/synthetics/api.d.ts +1 -0
- package/dist/commands/synthetics/api.js +6 -5
- package/dist/commands/synthetics/api.js.map +1 -1
- package/dist/commands/synthetics/batch.js +46 -16
- package/dist/commands/synthetics/batch.js.map +1 -1
- package/dist/commands/synthetics/interfaces.d.ts +13 -11
- package/dist/commands/synthetics/interfaces.js.map +1 -1
- package/dist/commands/synthetics/reporters/default.js +9 -10
- package/dist/commands/synthetics/reporters/default.js.map +1 -1
- package/dist/commands/synthetics/reporters/junit.d.ts +2 -2
- package/dist/commands/synthetics/reporters/junit.js +22 -17
- package/dist/commands/synthetics/reporters/junit.js.map +1 -1
- package/dist/commands/synthetics/run-tests-command.js +37 -19
- package/dist/commands/synthetics/run-tests-command.js.map +1 -1
- package/dist/commands/synthetics/utils/internal.d.ts +17 -4
- package/dist/commands/synthetics/utils/internal.js +27 -10
- package/dist/commands/synthetics/utils/internal.js.map +1 -1
- package/dist/commands/synthetics/utils/public.d.ts +4 -1
- package/dist/commands/synthetics/utils/public.js +8 -4
- package/dist/commands/synthetics/utils/public.js.map +1 -1
- package/dist/helpers/ci.d.ts +2 -0
- package/dist/helpers/ci.js +10 -5
- package/dist/helpers/ci.js.map +1 -1
- package/dist/helpers/interfaces.d.ts +2 -2
- package/dist/helpers/tags.d.ts +3 -1
- package/dist/helpers/tags.js +5 -2
- package/dist/helpers/tags.js.map +1 -1
- package/dist/helpers/utils.d.ts +11 -1
- package/dist/helpers/utils.js +5 -11
- package/dist/helpers/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -33,6 +33,7 @@ class DeploymentCorrelateCommand extends clipanion_1.Command {
|
|
|
33
33
|
super(...arguments);
|
|
34
34
|
this.cdProviderParam = clipanion_1.Option.String('--provider');
|
|
35
35
|
this.configurationRepo = clipanion_1.Option.String('--config-repo');
|
|
36
|
+
this.configurationShas = clipanion_1.Option.Array('--config-shas');
|
|
36
37
|
this.dryRun = clipanion_1.Option.Boolean('--dry-run', false);
|
|
37
38
|
this.config = {
|
|
38
39
|
apiKey: process.env.DATADOG_API_KEY || process.env.DD_API_KEY,
|
|
@@ -65,30 +66,30 @@ class DeploymentCorrelateCommand extends clipanion_1.Command {
|
|
|
65
66
|
binary: 'git',
|
|
66
67
|
maxConcurrentProcesses: 2, // max 2 git commands at the same time
|
|
67
68
|
});
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
this.logger.error('Could not get current branch');
|
|
71
|
-
return 1;
|
|
72
|
-
}
|
|
73
|
-
let localCommitShas;
|
|
74
|
-
if (this.configurationRepo) {
|
|
75
|
-
localCommitShas = yield (0, get_git_data_1.gitLocalCommitShas)(git, currentBranch);
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
;
|
|
79
|
-
[this.configurationRepo, localCommitShas] = yield Promise.all([
|
|
80
|
-
(0, get_git_data_1.gitRepositoryURL)(git),
|
|
81
|
-
(0, get_git_data_1.gitLocalCommitShas)(git, currentBranch),
|
|
82
|
-
]);
|
|
69
|
+
if (!this.configurationRepo) {
|
|
70
|
+
this.configurationRepo = yield (0, get_git_data_1.gitRepositoryURL)(git);
|
|
83
71
|
}
|
|
84
72
|
if (this.configurationRepo === undefined || this.configurationRepo === '') {
|
|
85
73
|
this.logger.error('Could not retrieve repository URL, check out a repository or provide it with --config-repo');
|
|
86
74
|
return 1;
|
|
87
75
|
}
|
|
88
|
-
|
|
76
|
+
if (!this.configurationShas) {
|
|
77
|
+
this.logger.info('Retrieving local git commits');
|
|
78
|
+
const currentBranch = yield (0, get_git_data_1.gitCurrentBranch)(git);
|
|
79
|
+
if (!currentBranch) {
|
|
80
|
+
this.logger.error('Could not get current branch');
|
|
81
|
+
return 1;
|
|
82
|
+
}
|
|
83
|
+
this.configurationShas = yield (0, get_git_data_1.gitLocalCommitShas)(git, currentBranch);
|
|
84
|
+
}
|
|
85
|
+
if (this.configurationShas.length === 0) {
|
|
86
|
+
this.logger.error('Could not retrieve commit SHAs, commit changes and then call this command or provide them with --config-shas');
|
|
87
|
+
return 1;
|
|
88
|
+
}
|
|
89
|
+
yield this.sendCorrelationData(ciEnv[tags_1.CI_PROVIDER_NAME], ciEnv, this.config.apiKey);
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
|
-
sendCorrelationData(ciProvider,
|
|
92
|
+
sendCorrelationData(ciProvider, ciEnv, apiKey) {
|
|
92
93
|
return __awaiter(this, void 0, void 0, function* () {
|
|
93
94
|
const correlateEvent = {
|
|
94
95
|
type: 'ci_app_deployment_correlate',
|
|
@@ -96,7 +97,7 @@ class DeploymentCorrelateCommand extends clipanion_1.Command {
|
|
|
96
97
|
ci_provider: ciProvider,
|
|
97
98
|
cd_provider: this.cdProviderParam,
|
|
98
99
|
config_repo_url: this.configurationRepo,
|
|
99
|
-
config_commit_shas:
|
|
100
|
+
config_commit_shas: this.configurationShas,
|
|
100
101
|
ci_env: ciEnv,
|
|
101
102
|
},
|
|
102
103
|
};
|
|
@@ -160,6 +161,16 @@ DeploymentCorrelateCommand.usage = clipanion_1.Command.Usage({
|
|
|
160
161
|
This command will correlate the pipeline with a GitOps CD deployment.\n
|
|
161
162
|
See README for additional details.
|
|
162
163
|
`,
|
|
163
|
-
examples: [
|
|
164
|
+
examples: [
|
|
165
|
+
['Correlate an Argo CD deployment', 'datadog-ci deployment correlate --provider argocd'],
|
|
166
|
+
[
|
|
167
|
+
'Correlate ArgoCD deployment manually',
|
|
168
|
+
'datadog-ci deployment correlate --provider argocd --config-repo https://github.com/my-manifests-repo --config-shas 92eb0db6926aaf51b9fb223895b6d8d1c0ff1ff4',
|
|
169
|
+
],
|
|
170
|
+
[
|
|
171
|
+
'Correlate ArgoCD deployment manually to several commits',
|
|
172
|
+
'datadog-ci deployment correlate --provider argocd --config-repo https://github.com/my-manifests-repo --config-shas 92eb0db6926aaf51b9fb223895b6d8d1c0ff1ff4 --config-shas e996e5c30ba1cb4dc7f634ab4a0a59473741c4de',
|
|
173
|
+
],
|
|
174
|
+
],
|
|
164
175
|
});
|
|
165
176
|
//# sourceMappingURL=correlate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"correlate.js","sourceRoot":"","sources":["../../../src/commands/deployment/correlate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAAkC;AAClC,kDAAyB;AACzB,yCAAyC;AACzC,4DAAkC;AAElC,yCAA8C;AAC9C,iEAAqG;AACrG,iDAAqD;AACrD,+CAAgD;AAChD,6CAA6F;AAC7F,+CAAwE;AAExE;;;;GAIG;AACH,MAAa,0BAA2B,SAAQ,mBAAO;IAAvD;;
|
|
1
|
+
{"version":3,"file":"correlate.js","sourceRoot":"","sources":["../../../src/commands/deployment/correlate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,4 @@
|
|
|
1
1
|
export declare const API_ENDPOINT = "api/v2/static-analysis-sca/dependencies";
|
|
2
|
+
export declare const PACKAGE_MANAGER_PROPERTY_KEY = "osv-scanner:package-manager";
|
|
3
|
+
export declare const IS_DEPENDENCY_DIRECT_PROPERTY_KEY = "osv-scanner:is-direct";
|
|
4
|
+
export declare const FILE_PACKAGE_PROPERTY_KEY = "osv-scanner:package";
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.API_ENDPOINT = void 0;
|
|
3
|
+
exports.FILE_PACKAGE_PROPERTY_KEY = exports.IS_DEPENDENCY_DIRECT_PROPERTY_KEY = exports.PACKAGE_MANAGER_PROPERTY_KEY = exports.API_ENDPOINT = void 0;
|
|
4
4
|
exports.API_ENDPOINT = 'api/v2/static-analysis-sca/dependencies';
|
|
5
|
+
exports.PACKAGE_MANAGER_PROPERTY_KEY = 'osv-scanner:package-manager';
|
|
6
|
+
exports.IS_DEPENDENCY_DIRECT_PROPERTY_KEY = 'osv-scanner:is-direct';
|
|
7
|
+
exports.FILE_PACKAGE_PROPERTY_KEY = 'osv-scanner:package';
|
|
5
8
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/commands/sbom/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,yCAAyC,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/commands/sbom/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,yCAAyC,CAAA;AAExD,QAAA,4BAA4B,GAAG,6BAA6B,CAAA;AAC5D,QAAA,iCAAiC,GAAG,uBAAuB,CAAA;AAC3D,QAAA,yBAAyB,GAAG,qBAAqB,CAAA"}
|
|
@@ -30,6 +30,7 @@ exports.generatePayload = void 0;
|
|
|
30
30
|
const console = __importStar(require("console"));
|
|
31
31
|
const crypto_1 = __importDefault(require("crypto"));
|
|
32
32
|
const tags_1 = require("../../helpers/tags");
|
|
33
|
+
const constants_1 = require("./constants");
|
|
33
34
|
const language_1 = require("./language");
|
|
34
35
|
// Parse a location from the file generated by osv-scanner into a location that can be
|
|
35
36
|
// sent to our API.
|
|
@@ -101,53 +102,31 @@ const generatePayload = (jsonContent, tags, service, env) => {
|
|
|
101
102
|
return undefined;
|
|
102
103
|
}
|
|
103
104
|
const dependencies = [];
|
|
105
|
+
const files = [];
|
|
106
|
+
const relations = [];
|
|
104
107
|
if (jsonContent) {
|
|
105
108
|
if (jsonContent['components']) {
|
|
106
109
|
for (const component of jsonContent['components']) {
|
|
107
110
|
if (!component['type'] || !component['name']) {
|
|
108
111
|
continue;
|
|
109
112
|
}
|
|
110
|
-
if (component['type']
|
|
111
|
-
|
|
113
|
+
if (component['type'] === 'library') {
|
|
114
|
+
const dependency = extractingDependency(component);
|
|
115
|
+
if (dependency !== undefined) {
|
|
116
|
+
dependencies.push(dependency);
|
|
117
|
+
}
|
|
112
118
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
continue;
|
|
119
|
+
else if (component['type'] === 'file') {
|
|
120
|
+
files.push(extractingFile(component));
|
|
116
121
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (jsonContent['dependencies']) {
|
|
125
|
+
for (const dependency of jsonContent['dependencies']) {
|
|
126
|
+
if (!dependency['ref'] || !dependency['dependsOn']) {
|
|
120
127
|
continue;
|
|
121
128
|
}
|
|
122
|
-
|
|
123
|
-
// Extract the unique location strings from the file.
|
|
124
|
-
const locationsStrings = new Set();
|
|
125
|
-
if (component['evidence'] && component['evidence']['occurrences']) {
|
|
126
|
-
for (const occ of component['evidence']['occurrences']) {
|
|
127
|
-
if (occ['location']) {
|
|
128
|
-
const loc = occ['location'];
|
|
129
|
-
if (!locationsStrings.has(loc)) {
|
|
130
|
-
locationsStrings.add(loc);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
for (const l of locationsStrings) {
|
|
136
|
-
const loc = parseLocationsString(l);
|
|
137
|
-
if (loc) {
|
|
138
|
-
locations.push(loc);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
const dependency = {
|
|
142
|
-
name: component['name'],
|
|
143
|
-
group: component['group'] || undefined,
|
|
144
|
-
version: component['version'] || undefined,
|
|
145
|
-
language: lang,
|
|
146
|
-
licenses: [],
|
|
147
|
-
purl,
|
|
148
|
-
locations,
|
|
149
|
-
};
|
|
150
|
-
dependencies.push(dependency);
|
|
129
|
+
relations.push(extractingRelations(dependency));
|
|
151
130
|
}
|
|
152
131
|
}
|
|
153
132
|
}
|
|
@@ -166,9 +145,83 @@ const generatePayload = (jsonContent, tags, service, env) => {
|
|
|
166
145
|
},
|
|
167
146
|
tags,
|
|
168
147
|
dependencies,
|
|
148
|
+
files,
|
|
149
|
+
relations,
|
|
169
150
|
service,
|
|
170
151
|
env,
|
|
171
152
|
};
|
|
172
153
|
};
|
|
173
154
|
exports.generatePayload = generatePayload;
|
|
155
|
+
const extractingDependency = (component) => {
|
|
156
|
+
var _a;
|
|
157
|
+
const lang = (0, language_1.getLanguageFromComponent)(component);
|
|
158
|
+
if (!lang) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
const purl = component['purl'];
|
|
162
|
+
if (!purl) {
|
|
163
|
+
console.error(`cannot find purl for component ${component['name']}`);
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const locations = [];
|
|
167
|
+
// Extract the unique location strings from the file.
|
|
168
|
+
const locationsStrings = new Set();
|
|
169
|
+
if (component['evidence'] && component['evidence']['occurrences']) {
|
|
170
|
+
for (const occ of component['evidence']['occurrences']) {
|
|
171
|
+
if (occ['location']) {
|
|
172
|
+
const loc = occ['location'];
|
|
173
|
+
if (!locationsStrings.has(loc)) {
|
|
174
|
+
locationsStrings.add(loc);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
for (const l of locationsStrings) {
|
|
180
|
+
const loc = parseLocationsString(l);
|
|
181
|
+
if (loc) {
|
|
182
|
+
locations.push(loc);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
let packageManager = '';
|
|
186
|
+
let isDirect;
|
|
187
|
+
for (const property of (_a = component['properties']) !== null && _a !== void 0 ? _a : []) {
|
|
188
|
+
if (property['name'] === constants_1.PACKAGE_MANAGER_PROPERTY_KEY) {
|
|
189
|
+
packageManager = property['value'];
|
|
190
|
+
}
|
|
191
|
+
else if (property['name'] === constants_1.IS_DEPENDENCY_DIRECT_PROPERTY_KEY) {
|
|
192
|
+
isDirect = property['value'].toLowerCase() === 'true' ? true : undefined;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
const dependency = {
|
|
196
|
+
name: component['name'],
|
|
197
|
+
group: component['group'] || undefined,
|
|
198
|
+
version: component['version'] || undefined,
|
|
199
|
+
language: lang,
|
|
200
|
+
licenses: [],
|
|
201
|
+
purl,
|
|
202
|
+
locations,
|
|
203
|
+
is_direct: isDirect,
|
|
204
|
+
package_manager: packageManager,
|
|
205
|
+
};
|
|
206
|
+
return dependency;
|
|
207
|
+
};
|
|
208
|
+
const extractingFile = (component) => {
|
|
209
|
+
var _a;
|
|
210
|
+
let purl;
|
|
211
|
+
for (const property of (_a = component['properties']) !== null && _a !== void 0 ? _a : []) {
|
|
212
|
+
if (property['name'] === constants_1.FILE_PACKAGE_PROPERTY_KEY) {
|
|
213
|
+
purl = property['value'];
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
name: component['name'],
|
|
218
|
+
purl,
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
const extractingRelations = (dependency) => {
|
|
222
|
+
return {
|
|
223
|
+
component_ref: dependency['ref'],
|
|
224
|
+
depends_on: dependency['dependsOn'],
|
|
225
|
+
};
|
|
226
|
+
};
|
|
174
227
|
//# sourceMappingURL=payload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/commands/sbom/payload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,oDAA2B;AAG3B,6CAQ2B;AAE3B,yCAAmD;AAGnD,sFAAsF;AACtF,mBAAmB;AACnB,MAAM,aAAa,GAAG,CAAC,QAA0B,EAAwB,EAAE;IACzE,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAA;KACjB;IACD,IACE,CAAC,QAAQ,CAAC,SAAS;QACnB,CAAC,QAAQ,CAAC,UAAU;QACpB,CAAC,QAAQ,CAAC,QAAQ;QAClB,CAAC,QAAQ,CAAC,YAAY;QACtB,CAAC,QAAQ,CAAC,UAAU,EACpB;QACA,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,EAAE;QAC3C,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE;QAC7F,OAAO,SAAS,CAAA;KACjB;IAED,wBAAwB;IACxB,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,IAAI,QAAQ,CAAC,YAAY,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,EAAE;QAChH,OAAO,SAAS,CAAA;KACjB;IAED,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ,CAAC,UAAU;YACzB,GAAG,EAAE,QAAQ,CAAC,YAAY;SAC3B;QACD,GAAG,EAAE;YACH,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,GAAG,EAAE,QAAQ,CAAC,UAAU;SACzB;KACF,CAAA;AACH,CAAC,CAAA;AAED,4FAA4F;AAC5F,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAyB,EAAE;IACxE,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAEpC,MAAM,GAAG,GAAc;YACrB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC7C,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAC1C,CAAA;QAED,iFAAiF;QACjF,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACd,OAAO,SAAS,CAAA;SACjB;QAED,OAAO,GAAG,CAAA;KACX;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAA;KACpD;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,0CAA0C;AAC1C,sDAAsD;AACtD,yCAAyC;AAClC,MAAM,eAAe,GAAG,CAC7B,WAAgB,EAChB,IAAc,EACd,OAAe,EACf,GAAW,EACa,EAAE;IAC1B,IACE,CAAC,IAAI,CAAC,8BAAuB,CAAC;QAC9B,CAAC,IAAI,CAAC,6BAAsB,CAAC;QAC7B,CAAC,IAAI,CAAC,iCAA0B,CAAC;QACjC,CAAC,IAAI,CAAC,gCAAyB,CAAC;QAChC,CAAC,IAAI,CAAC,cAAO,CAAC;QACd,CAAC,IAAI,CAAC,iBAAU,CAAC;QACjB,CAAC,IAAI,CAAC,yBAAkB,CAAC,EACzB;QACA,OAAO,SAAS,CAAA;KACjB;IAED,MAAM,YAAY,GAAiB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/commands/sbom/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,10 @@ export interface Locations {
|
|
|
68
68
|
name: undefined | Location;
|
|
69
69
|
version: undefined | Location;
|
|
70
70
|
}
|
|
71
|
+
export interface Property {
|
|
72
|
+
name: string;
|
|
73
|
+
value: string;
|
|
74
|
+
}
|
|
71
75
|
export interface Dependency {
|
|
72
76
|
name: string;
|
|
73
77
|
version: undefined | string;
|
|
@@ -76,6 +80,8 @@ export interface Dependency {
|
|
|
76
80
|
licenses: DependencyLicense[];
|
|
77
81
|
purl: string;
|
|
78
82
|
locations: undefined | Locations[];
|
|
83
|
+
is_direct: undefined | boolean;
|
|
84
|
+
package_manager: string;
|
|
79
85
|
}
|
|
80
86
|
export interface CommitInformation {
|
|
81
87
|
author_name: string;
|
|
@@ -88,11 +94,21 @@ export interface CommitInformation {
|
|
|
88
94
|
export interface RepositoryInformation {
|
|
89
95
|
url: string;
|
|
90
96
|
}
|
|
97
|
+
export interface File {
|
|
98
|
+
name: string;
|
|
99
|
+
purl: string | undefined;
|
|
100
|
+
}
|
|
101
|
+
export interface Relations {
|
|
102
|
+
component_ref: string;
|
|
103
|
+
depends_on: string[];
|
|
104
|
+
}
|
|
91
105
|
export interface ScaRequest {
|
|
92
106
|
id: string;
|
|
93
107
|
commit: CommitInformation;
|
|
94
108
|
repository: RepositoryInformation;
|
|
95
109
|
dependencies: Dependency[];
|
|
110
|
+
files: File[];
|
|
111
|
+
relations: Relations[];
|
|
96
112
|
service: string;
|
|
97
113
|
env: string;
|
|
98
114
|
tags: Record<string, string>;
|
|
@@ -15,8 +15,6 @@ export declare const parseArn: (arn: string) => {
|
|
|
15
15
|
};
|
|
16
16
|
export declare const buildLogAccessPolicyName: (stepFunction: DescribeStateMachineCommandOutput) => string;
|
|
17
17
|
export declare const injectContextIntoTasks: (describeStateMachineCommandOutput: DescribeStateMachineCommandOutput, stepFunctionsClient: SFNClient, context: BaseContext, dryRun: boolean) => Promise<void>;
|
|
18
|
-
export declare const addTraceContextToStepFunctionParameters: ({ Parameters }: StepType) => void;
|
|
19
|
-
export declare const shouldUpdateStepForStepFunctionContextInjection: (step: StepType, context: BaseContext, stepName: string) => boolean;
|
|
20
18
|
export type StateMachineDefinitionType = {
|
|
21
19
|
Comment?: string;
|
|
22
20
|
StartAt?: string;
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.injectContextForStepFunctions = exports.injectContextForLambdaFunctions = exports.
|
|
12
|
+
exports.injectContextForStepFunctions = exports.injectContextForLambdaFunctions = exports.injectContextIntoTasks = exports.buildLogAccessPolicyName = exports.parseArn = exports.getStepFunctionLogGroupArn = exports.isValidArn = exports.buildSubscriptionFilterName = exports.buildLogGroupName = exports.buildArn = exports.displayChanges = void 0;
|
|
13
13
|
const deep_object_diff_1 = require("deep-object-diff");
|
|
14
14
|
const awsCommands_1 = require("./awsCommands");
|
|
15
15
|
const constants_1 = require("./constants");
|
|
@@ -79,61 +79,6 @@ const injectContextIntoTasks = (describeStateMachineCommandOutput, stepFunctions
|
|
|
79
79
|
}
|
|
80
80
|
});
|
|
81
81
|
exports.injectContextIntoTasks = injectContextIntoTasks;
|
|
82
|
-
const addTraceContextToStepFunctionParameters = ({ Parameters }) => {
|
|
83
|
-
if (Parameters) {
|
|
84
|
-
if (!Parameters.Input) {
|
|
85
|
-
Parameters.Input = {};
|
|
86
|
-
}
|
|
87
|
-
Parameters.Input['CONTEXT.$'] = 'States.JsonMerge($$, $, false)';
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
exports.addTraceContextToStepFunctionParameters = addTraceContextToStepFunctionParameters;
|
|
91
|
-
// Truth table
|
|
92
|
-
// Input | Expected
|
|
93
|
-
// -------------------------|---------
|
|
94
|
-
// Empty object | true
|
|
95
|
-
// undefined | true
|
|
96
|
-
// not object | false
|
|
97
|
-
// object without CONTEXT.$ | true
|
|
98
|
-
// object with CONTEXT.$ | false
|
|
99
|
-
const shouldUpdateStepForStepFunctionContextInjection = (step, context, stepName) => {
|
|
100
|
-
var _a;
|
|
101
|
-
// not default lambda api
|
|
102
|
-
if (!((_a = step.Resource) === null || _a === void 0 ? void 0 : _a.startsWith('arn:aws:states:::states:startExecution'))) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
if (!step.Parameters) {
|
|
106
|
-
context.stdout
|
|
107
|
-
.write(`[Warn] Step ${stepName} does not have a Parameters field. Step Functions Context Object injection \
|
|
108
|
-
skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually merge these \
|
|
109
|
-
traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
if (!step.Parameters.Input) {
|
|
113
|
-
return true;
|
|
114
|
-
}
|
|
115
|
-
if (typeof step.Parameters.Input !== 'object') {
|
|
116
|
-
context.stdout
|
|
117
|
-
.write(`[Warn] Step ${stepName}'s Parameters.Input field is not a JSON object. Step Functions Context Object \
|
|
118
|
-
injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually \
|
|
119
|
-
merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
if (!step.Parameters.Input['CONTEXT.$'] && !step.Parameters.Input['CONTEXT']) {
|
|
123
|
-
return true;
|
|
124
|
-
}
|
|
125
|
-
// context injection is already set up
|
|
126
|
-
if (step.Parameters.Input['CONTEXT.$'] === 'States.JsonMerge($$, $, false)') {
|
|
127
|
-
context.stdout.write(` Step ${stepName}: Context injection is already set up. Skipping context injection.\n`);
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
context.stdout
|
|
131
|
-
.write(`[Warn] Step ${stepName}'s Parameters.Input field has a custom CONTEXT field. Step Functions Context \
|
|
132
|
-
Object injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To \
|
|
133
|
-
manually merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
134
|
-
return false;
|
|
135
|
-
};
|
|
136
|
-
exports.shouldUpdateStepForStepFunctionContextInjection = shouldUpdateStepForStepFunctionContextInjection;
|
|
137
82
|
// Truth table
|
|
138
83
|
// Case | Input | Expected
|
|
139
84
|
// -----|----------------------------------------------------------|---------
|
|
@@ -143,7 +88,8 @@ exports.shouldUpdateStepForStepFunctionContextInjection = shouldUpdateStepForSte
|
|
|
143
88
|
// 2.3 | "Payload" object has no Execution, State or StateMachine | true
|
|
144
89
|
// 3 | "Payload" is not object | false
|
|
145
90
|
// 4.1 | "Payload.$": "$" (default payload) | true
|
|
146
|
-
// 4.2 | "Payload.$": "States.JsonMerge($$, $, false)"
|
|
91
|
+
// 4.2 | "Payload.$": "States.JsonMerge($$, $, false)" or | false
|
|
92
|
+
// | "Payload.$": "$$['Execution', 'State', 'StateMachine']" |
|
|
147
93
|
// 4.3 | Custom "Payload.$" | false
|
|
148
94
|
const injectContextForLambdaFunctions = (step, context, stepName) => {
|
|
149
95
|
var _a;
|
|
@@ -216,7 +162,8 @@ merge these traces, check out https://docs.datadoghq.com/serverless/step_functio
|
|
|
216
162
|
return true;
|
|
217
163
|
}
|
|
218
164
|
// Case 4.2: context injection is already set up using "Payload.$"
|
|
219
|
-
if (step.Parameters['Payload.$'] === 'States.JsonMerge($$, $, false)'
|
|
165
|
+
if (step.Parameters['Payload.$'] === 'States.JsonMerge($$, $, false)' ||
|
|
166
|
+
step.Parameters['Payload.$'] === `$$['Execution', 'State', 'StateMachine']`) {
|
|
220
167
|
context.stdout.write(` Step ${stepName}: Context injection is already set up. Skipping context injection.\n`);
|
|
221
168
|
return false;
|
|
222
169
|
}
|
|
@@ -228,11 +175,62 @@ check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\
|
|
|
228
175
|
return false;
|
|
229
176
|
};
|
|
230
177
|
exports.injectContextForLambdaFunctions = injectContextForLambdaFunctions;
|
|
178
|
+
// Truth table
|
|
179
|
+
// Case | Input | Expected
|
|
180
|
+
// -----|----------------------------------------------------------|---------
|
|
181
|
+
// 1 | No "CONTEXT" or "CONTEXT.$" | true
|
|
182
|
+
// 2 | Has "CONTEXT" | false
|
|
183
|
+
// 3.1 | "CONTEXT.$": "States.JsonMerge($$, $, false)" or | false
|
|
184
|
+
// | "CONTEXT.$": "$$['Execution', 'State', 'StateMachine']" |
|
|
185
|
+
// 3.2 | Custom "CONTEXT.$" | false
|
|
231
186
|
const injectContextForStepFunctions = (step, context, stepName) => {
|
|
232
|
-
|
|
233
|
-
|
|
187
|
+
var _a;
|
|
188
|
+
// not default lambda api
|
|
189
|
+
if (!((_a = step.Resource) === null || _a === void 0 ? void 0 : _a.startsWith('arn:aws:states:::states:startExecution'))) {
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
if (!step.Parameters) {
|
|
193
|
+
context.stdout
|
|
194
|
+
.write(`[Warn] Step ${stepName} does not have a Parameters field. Step Functions Context Object injection \
|
|
195
|
+
skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually merge these \
|
|
196
|
+
traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
if (!step.Parameters.Input) {
|
|
200
|
+
step.Parameters.Input = { 'CONTEXT.$': `$$['Execution', 'State', 'StateMachine']` };
|
|
201
|
+
return true;
|
|
202
|
+
}
|
|
203
|
+
if (typeof step.Parameters.Input !== 'object') {
|
|
204
|
+
context.stdout
|
|
205
|
+
.write(`[Warn] Step ${stepName}'s Parameters.Input field is not a JSON object. Step Functions Context Object \
|
|
206
|
+
injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually \
|
|
207
|
+
merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
// Case 1: 'CONTEXT.$' and 'CONTEXT' fields are not set
|
|
211
|
+
if (!step.Parameters.Input['CONTEXT.$'] && !step.Parameters.Input['CONTEXT']) {
|
|
212
|
+
step.Parameters.Input['CONTEXT.$'] = `$$['Execution', 'State', 'StateMachine']`;
|
|
234
213
|
return true;
|
|
235
214
|
}
|
|
215
|
+
// Case 2: Has 'CONTEXT' field.
|
|
216
|
+
// This case should be rare so we don't support context injection for this case for now
|
|
217
|
+
if (step.Parameters.Input.hasOwnProperty('CONTEXT')) {
|
|
218
|
+
context.stdout.write(`[Warn] Step ${stepName}'s has custom CONTEXT field. Step Functions Context Object \
|
|
219
|
+
injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To manually \
|
|
220
|
+
merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
// Case 3.1 context injection is already set up
|
|
224
|
+
if (step.Parameters.Input['CONTEXT.$'] === 'States.JsonMerge($$, $, false)' ||
|
|
225
|
+
step.Parameters.Input['CONTEXT.$'] === `$$['Execution', 'State', 'StateMachine']`) {
|
|
226
|
+
context.stdout.write(` Step ${stepName}: Context injection is already set up. Skipping context injection.\n`);
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
// Case 3.2 custom CONTEXT.$ field
|
|
230
|
+
context.stdout
|
|
231
|
+
.write(`[Warn] Step ${stepName}'s Parameters.Input field has a custom CONTEXT.$ field. Step Functions Context \
|
|
232
|
+
Object injection skipped. Your Step Functions trace will not be merged with downstream Step Function traces. To \
|
|
233
|
+
manually merge these traces, check out https://docs.datadoghq.com/serverless/step_functions/troubleshooting/\n`);
|
|
236
234
|
return false;
|
|
237
235
|
};
|
|
238
236
|
exports.injectContextForStepFunctions = injectContextForStepFunctions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/stepfunctions/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/stepfunctions/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export type RetryPolicy = {
|
|
|
19
19
|
retryOn429?: boolean | undefined;
|
|
20
20
|
};
|
|
21
21
|
export declare const determineRetryDelay: (retries: number, error: Error, retryPolicy?: RetryPolicy) => number | undefined;
|
|
22
|
+
export declare const getErrorHttpStatus: (error: Error) => number | undefined;
|
|
22
23
|
export declare const isForbiddenError: (error: Error) => boolean;
|
|
23
24
|
export declare const isNotFoundError: (error: Error) => boolean;
|
|
24
25
|
export declare const isTooManyRequestsError: (error: Error) => boolean;
|
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getApiHelper = exports.apiConstructor = exports.is5xxError = exports.isNodeError = exports.isTooManyRequestsError = exports.isNotFoundError = exports.isForbiddenError = exports.determineRetryDelay = exports.pollMobileApplicationUploadResponse = exports.completeMultipartMobileApplicationUpload = exports.formatBackendErrors = exports.EndpointError = void 0;
|
|
12
|
+
exports.getApiHelper = exports.apiConstructor = exports.is5xxError = exports.isNodeError = exports.isTooManyRequestsError = exports.isNotFoundError = exports.isForbiddenError = exports.getErrorHttpStatus = exports.determineRetryDelay = exports.pollMobileApplicationUploadResponse = exports.completeMultipartMobileApplicationUpload = exports.formatBackendErrors = exports.EndpointError = void 0;
|
|
13
13
|
const querystring_1 = require("querystring");
|
|
14
14
|
const axios_1 = require("axios");
|
|
15
15
|
const utils_1 = require("../../helpers/utils");
|
|
@@ -202,16 +202,17 @@ const determineRetryDelay = (retries, error, retryPolicy = { retryOn404: false,
|
|
|
202
202
|
exports.determineRetryDelay = determineRetryDelay;
|
|
203
203
|
const isEndpointError = (error) => error instanceof EndpointError;
|
|
204
204
|
const getErrorHttpStatus = (error) => { var _a; return isEndpointError(error) ? error.status : (0, axios_1.isAxiosError)(error) ? (_a = error.response) === null || _a === void 0 ? void 0 : _a.status : undefined; };
|
|
205
|
-
|
|
205
|
+
exports.getErrorHttpStatus = getErrorHttpStatus;
|
|
206
|
+
const isForbiddenError = (error) => (0, exports.getErrorHttpStatus)(error) === 403;
|
|
206
207
|
exports.isForbiddenError = isForbiddenError;
|
|
207
|
-
const isNotFoundError = (error) => getErrorHttpStatus(error) === 404;
|
|
208
|
+
const isNotFoundError = (error) => (0, exports.getErrorHttpStatus)(error) === 404;
|
|
208
209
|
exports.isNotFoundError = isNotFoundError;
|
|
209
|
-
const isTooManyRequestsError = (error) => getErrorHttpStatus(error) === 429;
|
|
210
|
+
const isTooManyRequestsError = (error) => (0, exports.getErrorHttpStatus)(error) === 429;
|
|
210
211
|
exports.isTooManyRequestsError = isTooManyRequestsError;
|
|
211
212
|
const isNodeError = (error) => !!error && 'code' in error;
|
|
212
213
|
exports.isNodeError = isNodeError;
|
|
213
214
|
const is5xxError = (error) => {
|
|
214
|
-
const statusCode = getErrorHttpStatus(error);
|
|
215
|
+
const statusCode = (0, exports.getErrorHttpStatus)(error);
|
|
215
216
|
return statusCode && statusCode >= 500 && statusCode <= 599 ? true : false;
|
|
216
217
|
};
|
|
217
218
|
exports.is5xxError = is5xxError;
|