@pipeline-builder/pipeline-core 4.4.3 → 4.4.4
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/lib/config/app-config.d.ts +1 -0
- package/lib/config/app-config.js +7 -1
- package/lib/config/config-types.d.ts +9 -0
- package/lib/config/config-types.js +1 -1
- package/lib/config/handler-constants.d.ts +7 -0
- package/lib/config/handler-constants.js +8 -1
- package/lib/config/infrastructure-config.js +2 -1
- package/lib/core/audit-correlation.d.ts +34 -0
- package/lib/core/audit-correlation.js +50 -0
- package/lib/core/pipeline-helpers.js +50 -6
- package/lib/core/pipeline-registration.d.ts +25 -0
- package/lib/core/pipeline-registration.js +28 -0
- package/lib/core/platform-tls.d.ts +43 -0
- package/lib/core/platform-tls.js +70 -0
- package/lib/core/plugin-contract.d.ts +8 -0
- package/lib/core/plugin-contract.js +15 -3
- package/lib/core/plugin-lookup-envelope.d.ts +30 -2
- package/lib/core/plugin-lookup-envelope.js +58 -7
- package/lib/core/quota-exceeded.d.ts +11 -0
- package/lib/core/quota-exceeded.js +44 -0
- package/lib/core/runtime-check.d.ts +53 -0
- package/lib/core/runtime-check.js +56 -0
- package/lib/core/security-reports.d.ts +26 -0
- package/lib/core/security-reports.js +28 -0
- package/lib/core/step-manifest.d.ts +7 -0
- package/lib/core/step-manifest.js +1 -1
- package/lib/core/synth-failure.d.ts +38 -0
- package/lib/core/synth-failure.js +63 -0
- package/lib/handlers/plugin-lookup-handler.d.ts +19 -2
- package/lib/handlers/plugin-lookup-handler.js +107 -17
- package/lib/index.d.ts +9 -2
- package/lib/index.js +10 -3
- package/lib/pipeline/pipeline-builder.js +55 -8
- package/lib/pipeline/plugin-lookup.d.ts +18 -1
- package/lib/pipeline/plugin-lookup.js +28 -7
- package/lib/pipeline/runtime-vuln-check-step.d.ts +29 -0
- package/lib/pipeline/runtime-vuln-check-step.js +36 -0
- package/lib/pipeline/stage-builder.d.ts +9 -0
- package/lib/pipeline/stage-builder.js +28 -7
- package/lib/pipeline/step-manifest-recorder.d.ts +2 -2
- package/lib/pipeline/step-manifest-recorder.js +8 -6
- package/lib/testing/exports.json +35 -0
- package/package.json +5 -4
|
@@ -21,11 +21,11 @@ function cdkActionKey(stepId) {
|
|
|
21
21
|
*/
|
|
22
22
|
export class StepManifestRecorder {
|
|
23
23
|
byActionKey = new Map();
|
|
24
|
-
/** Remember that `step` runs `plugin
|
|
25
|
-
record(step, plugin) {
|
|
24
|
+
/** Remember that `step` runs `plugin` under step label `stepKey` (`pluginStepLabel`). Call once per plugin-backed step. */
|
|
25
|
+
record(step, plugin, stepKey) {
|
|
26
26
|
if (plugin.id === PLACEHOLDER_PLUGIN_ID)
|
|
27
27
|
return;
|
|
28
|
-
this.byActionKey.set(cdkActionKey(step.id), plugin);
|
|
28
|
+
this.byActionKey.set(cdkActionKey(step.id), { plugin, stepKey });
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
31
|
* The manifest for the built pipeline. Call after `buildPipeline()`: stage
|
|
@@ -38,9 +38,10 @@ export class StepManifestRecorder {
|
|
|
38
38
|
for (const stage of pipeline.stages) {
|
|
39
39
|
for (const action of stage.actions) {
|
|
40
40
|
const actionName = action.actionProperties.actionName;
|
|
41
|
-
const
|
|
42
|
-
if (!
|
|
41
|
+
const recorded = this.byActionKey.get(actionName);
|
|
42
|
+
if (!recorded)
|
|
43
43
|
continue;
|
|
44
|
+
const { plugin, stepKey } = recorded;
|
|
44
45
|
out.push({
|
|
45
46
|
stageName: stage.stageName,
|
|
46
47
|
actionName,
|
|
@@ -48,10 +49,11 @@ export class StepManifestRecorder {
|
|
|
48
49
|
pluginName: plugin.name,
|
|
49
50
|
pluginVersion: plugin.version,
|
|
50
51
|
imageDigest: plugin.imageDigest ?? null,
|
|
52
|
+
stepKey,
|
|
51
53
|
});
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
return out;
|
|
55
57
|
}
|
|
56
58
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1tYW5pZmVzdC1yZWNvcmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9waXBlbGluZS9zdGVwLW1hbmlmZXN0LXJlY29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFLdEMsT0FBTyxFQUFFLHFCQUFxQixFQUEwQixNQUFNLDBCQUEwQixDQUFDO0FBRXpGOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxZQUFZLENBQUMsTUFBYztJQUNsQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQUNkLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBK0MsQ0FBQztJQUV0RiwySEFBMkg7SUFDM0gsTUFBTSxDQUFDLElBQVUsRUFBRSxNQUFjLEVBQUUsT0FBZTtRQUNoRCxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUsscUJBQXFCO1lBQUUsT0FBTztRQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTyxDQUFDLFFBQWtCO1FBQ3hCLE1BQU0sR0FBRyxHQUF3QixFQUFFLENBQUM7UUFDcEMsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsS0FBSyxNQUFNLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7Z0JBQ3RELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsUUFBUTtvQkFBRSxTQUFTO2dCQUN4QixNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLFFBQVEsQ0FBQztnQkFDckMsR0FBRyxDQUFDLElBQUksQ0FBQztvQkFDUCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7b0JBQzFCLFVBQVU7b0JBQ1YsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO29CQUNuQixVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUk7b0JBQ3ZCLGFBQWEsRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDN0IsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSTtvQkFDdkMsT0FBTztpQkFDUixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtZGF0YSc7XG5pbXBvcnQgdHlwZSB7IFBpcGVsaW5lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVwaXBlbGluZSc7XG5pbXBvcnQgdHlwZSB7IFN0ZXAgfSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHsgUExBQ0VIT0xERVJfUExVR0lOX0lELCB0eXBlIFN0ZXBNYW5pZmVzdEVudHJ5IH0gZnJvbSAnLi4vY29yZS9zdGVwLW1hbmlmZXN0LmpzJztcblxuLyoqXG4gKiBDREsgUGlwZWxpbmVzJyBhY3Rpb24tbmFtZSBzYW5pdGl6ZXIgKGBwaXBlbGluZXMvbGliL3ByaXZhdGUvaWRlbnRpZmllcnNgLFxuICogbm90IGV4cG9ydGVkIGJ5IGF3cy1jZGstbGliKS4gVXNlZCBPTkxZIGFzIHRoZSBrZXkgdGhhdCBtYXRjaGVzIGEgcmVjb3JkZWRcbiAqIHN0ZXAgdG8gYW4gYWN0aW9uIG9mIHRoZSBidWlsdCBwaXBlbGluZSDigJQgdGhlIG5hbWVzIHRoYXQgbGFuZCBpbiB0aGVcbiAqIG1hbmlmZXN0IGFyZSByZWFkIG9mZiB0aGF0IHBpcGVsaW5lLiBJZiBDREsgZXZlciBuYW1lcyBhbiBhY3Rpb24gZGlmZmVyZW50bHlcbiAqIChlLmcuIGl0cyA+MTAwLWNoYXIgdHJ1bmNhdGlvbiksIHRoZSBzdGVwIHNpbXBseSBnb2VzIHVubWF0Y2hlZCBhbmQgaXMgbGVmdFxuICogb3V0OiBhIG1pc3NpbmcgbWFuaWZlc3Qgcm93LCBuZXZlciBhIHdyb25nIG9uZS4gdGVzdC9zdGVwLW1hbmlmZXN0LnRlc3QudHNcbiAqIHBpbnMgdGhlIG1hdGNoIGFnYWluc3QgYSByZWFsIHN5bnRoLlxuICovXG5mdW5jdGlvbiBjZGtBY3Rpb25LZXkoc3RlcElkOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gc3RlcElkLnJlcGxhY2UoL1teQS1aYS16MC05LkBcXC1fXSsvZywgJ18nKTtcbn1cblxuLyoqXG4gKiBDb2xsZWN0cyAoc3RlcCDihpIgcmVzb2x2ZWQgcGx1Z2luKSBwYWlycyB3aGlsZSB0aGUgc3RhZ2VzIGFyZSBidWlsdCwgdGhlblxuICogcmVhZHMgdGhlIGZpbmlzaGVkIENvZGVQaXBlbGluZSB0byBlbWl0IHRoZSBzdGVwIG1hbmlmZXN0LiBPbmx5XG4gKiBwbHVnaW5zIHRoYXQgd2VyZSByZWFsbHkgcmVzb2x2ZWQgYXJlIHJlY29yZGVkIOKAlCB0aGUgc3ludGgtdGltZVxuICogYGZhbGxiYWNrKClgIC8gYGJvb3RzdHJhcCgpYCBwbGFjZWhvbGRlcnMgbmFtZSBubyBgcGx1Z2luc2Agcm93LlxuICovXG5leHBvcnQgY2xhc3MgU3RlcE1hbmlmZXN0UmVjb3JkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGJ5QWN0aW9uS2V5ID0gbmV3IE1hcDxzdHJpbmcsIHsgcGx1Z2luOiBQbHVnaW47IHN0ZXBLZXk6IHN0cmluZyB9PigpO1xuXG4gIC8qKiBSZW1lbWJlciB0aGF0IGBzdGVwYCBydW5zIGBwbHVnaW5gIHVuZGVyIHN0ZXAgbGFiZWwgYHN0ZXBLZXlgIChgcGx1Z2luU3RlcExhYmVsYCkuIENhbGwgb25jZSBwZXIgcGx1Z2luLWJhY2tlZCBzdGVwLiAqL1xuICByZWNvcmQoc3RlcDogU3RlcCwgcGx1Z2luOiBQbHVnaW4sIHN0ZXBLZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChwbHVnaW4uaWQgPT09IFBMQUNFSE9MREVSX1BMVUdJTl9JRCkgcmV0dXJuO1xuICAgIHRoaXMuYnlBY3Rpb25LZXkuc2V0KGNka0FjdGlvbktleShzdGVwLmlkKSwgeyBwbHVnaW4sIHN0ZXBLZXkgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG1hbmlmZXN0IGZvciB0aGUgYnVpbHQgcGlwZWxpbmUuIENhbGwgYWZ0ZXIgYGJ1aWxkUGlwZWxpbmUoKWA6IHN0YWdlXG4gICAqIGFuZCBhY3Rpb24gbmFtZXMgY29tZSBmcm9tIGBwaXBlbGluZS5zdGFnZXNgLCBzbyBhIHN0YWdlIENESyBzcGxpdCBmb3JcbiAgICogZXhjZWVkaW5nIDUwIGFjdGlvbnMgKGA8c3RhZ2U+LjFgLCBgPHN0YWdlPi4yYCkgaXMgcmVwb3J0ZWQgYXMgQ29kZVBpcGVsaW5lXG4gICAqIHJlcG9ydHMgaXQuXG4gICAqL1xuICBlbnRyaWVzKHBpcGVsaW5lOiBQaXBlbGluZSk6IFN0ZXBNYW5pZmVzdEVudHJ5W10ge1xuICAgIGNvbnN0IG91dDogU3RlcE1hbmlmZXN0RW50cnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qgc3RhZ2Ugb2YgcGlwZWxpbmUuc3RhZ2VzKSB7XG4gICAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBzdGFnZS5hY3Rpb25zKSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbk5hbWUgPSBhY3Rpb24uYWN0aW9uUHJvcGVydGllcy5hY3Rpb25OYW1lO1xuICAgICAgICBjb25zdCByZWNvcmRlZCA9IHRoaXMuYnlBY3Rpb25LZXkuZ2V0KGFjdGlvbk5hbWUpO1xuICAgICAgICBpZiAoIXJlY29yZGVkKSBjb250aW51ZTtcbiAgICAgICAgY29uc3QgeyBwbHVnaW4sIHN0ZXBLZXkgfSA9IHJlY29yZGVkO1xuICAgICAgICBvdXQucHVzaCh7XG4gICAgICAgICAgc3RhZ2VOYW1lOiBzdGFnZS5zdGFnZU5hbWUsXG4gICAgICAgICAgYWN0aW9uTmFtZSxcbiAgICAgICAgICBwbHVnaW5JZDogcGx1Z2luLmlkLFxuICAgICAgICAgIHBsdWdpbk5hbWU6IHBsdWdpbi5uYW1lLFxuICAgICAgICAgIHBsdWdpblZlcnNpb246IHBsdWdpbi52ZXJzaW9uLFxuICAgICAgICAgIGltYWdlRGlnZXN0OiBwbHVnaW4uaW1hZ2VEaWdlc3QgPz8gbnVsbCxcbiAgICAgICAgICBzdGVwS2V5LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG91dDtcbiAgfVxufVxuIl19
|
package/lib/testing/exports.json
CHANGED
|
@@ -4,46 +4,81 @@
|
|
|
4
4
|
".": {
|
|
5
5
|
"allowedScopeRoots": "function",
|
|
6
6
|
"checkPluginContract": "function",
|
|
7
|
+
"CODEBUILD_BUILD_ID_HEADER": "value",
|
|
7
8
|
"codePipelineStageName": "function",
|
|
8
9
|
"collectPluginSteps": "function",
|
|
9
10
|
"ComputeType": "value",
|
|
10
11
|
"Config": "class",
|
|
11
12
|
"contractScopeFromTemplateScope": "function",
|
|
12
13
|
"CoreConstants": "class",
|
|
14
|
+
"correlationHeaders": "function",
|
|
13
15
|
"createServiceClient": "function",
|
|
14
16
|
"dependencies": "function",
|
|
15
17
|
"describeDeployAttribution": "function",
|
|
18
|
+
"describeQuotaExceeded": "function",
|
|
16
19
|
"detectCycles": "function",
|
|
17
20
|
"diffStructure": "function",
|
|
21
|
+
"exactPinNotFoundMessage": "function",
|
|
18
22
|
"extractMetadataEnv": "function",
|
|
23
|
+
"formatSynthFailure": "function",
|
|
19
24
|
"formatTemplateDraftProblems": "function",
|
|
20
25
|
"hasTemplate": "function",
|
|
21
26
|
"isContractValueOfType": "function",
|
|
27
|
+
"isQuotaExceededBody": "function",
|
|
22
28
|
"isReservedTagKey": "function",
|
|
29
|
+
"isRuntimeVulnCheckEnabled": "function",
|
|
30
|
+
"LOOKUP_WARNING_SEVERITIES": "value",
|
|
31
|
+
"lookupNotFoundState": "function",
|
|
32
|
+
"MAX_CORRELATION_VALUE": "value",
|
|
23
33
|
"MAX_FIELD_SIZE_BYTES": "value",
|
|
24
34
|
"MAX_PATH_DEPTH": "value",
|
|
25
35
|
"MAX_TAG_VALUE_LENGTH": "value",
|
|
26
36
|
"MetadataKeys": "value",
|
|
27
37
|
"parsePlatformBaseUrl": "function",
|
|
38
|
+
"parseRuntimeCheckSteps": "function",
|
|
39
|
+
"parseSynthFailure": "function",
|
|
40
|
+
"PIPELINE_EXECUTION_ID_HEADER": "value",
|
|
41
|
+
"PIPELINE_REGISTRATION_CAPABILITY": "value",
|
|
42
|
+
"PIPELINE_REGISTRATION_SECRET_ENV": "value",
|
|
43
|
+
"PIPELINE_REGISTRATION_SECRET_LEAF": "value",
|
|
28
44
|
"pipelineContractScope": "function",
|
|
29
45
|
"pipelineScopeMetadata": "function",
|
|
30
46
|
"PLACEHOLDER_PLUGIN_ID": "value",
|
|
47
|
+
"PLATFORM_CA_BUNDLE_ENV": "value",
|
|
48
|
+
"PLATFORM_TLS_VERIFY_ENV": "value",
|
|
49
|
+
"platformCaBundle": "function",
|
|
50
|
+
"platformCaList": "function",
|
|
51
|
+
"platformTlsVerify": "function",
|
|
31
52
|
"PLUGIN_IMAGE_REPOSITORY_RE": "value",
|
|
32
53
|
"pluginArtifactAlias": "function",
|
|
33
54
|
"pluginImageRepository": "function",
|
|
34
55
|
"pluginLookupFilter": "function",
|
|
56
|
+
"pluginStepLabel": "function",
|
|
35
57
|
"PluginType": "value",
|
|
36
58
|
"previewStructure": "function",
|
|
59
|
+
"QUOTA_EXCEEDED_CODE": "value",
|
|
37
60
|
"replaceNonAlphanumeric": "function",
|
|
61
|
+
"REQUEST_ID_HEADER": "value",
|
|
38
62
|
"RESERVED_TAG_KEYS": "value",
|
|
39
63
|
"RESERVED_TAG_PREFIXES": "value",
|
|
40
64
|
"resolve": "function",
|
|
41
65
|
"resolveFailureBehavior": "function",
|
|
42
66
|
"resolvePluginTemplates": "function",
|
|
43
67
|
"resolveSelfReferencing": "function",
|
|
68
|
+
"RUNTIME_CHECK_STEPS_ENV": "value",
|
|
69
|
+
"RUNTIME_CHECK_VERDICTS": "value",
|
|
70
|
+
"RUNTIME_VULN_CHECK_KEY": "value",
|
|
71
|
+
"sanitizeCorrelationValue": "function",
|
|
44
72
|
"sanitizePublisher": "function",
|
|
73
|
+
"SECURITY_REPORT_FORMATS": "value",
|
|
74
|
+
"SECURITY_REPORT_KEY_ENV": "value",
|
|
75
|
+
"SECURITY_REPORT_SECRET_LEAF": "value",
|
|
76
|
+
"SECURITY_REPORT_UPLOAD_ENV": "value",
|
|
45
77
|
"STEP_BOOTSTRAP_CMD": "value",
|
|
46
78
|
"STEP_MANIFEST_FILE": "value",
|
|
79
|
+
"summarizeLookupWarnings": "function",
|
|
80
|
+
"SYNTH_FAILURE_MARKER": "value",
|
|
81
|
+
"synthFailure": "function",
|
|
47
82
|
"tokenize": "function",
|
|
48
83
|
"TriggerType": "value",
|
|
49
84
|
"unwrapLookup": "function",
|
package/package.json
CHANGED
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"constructs": "^10.5.0"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@pipeline-builder/api-core": "5.2.
|
|
35
|
-
"@pipeline-builder/pipeline-data": "4.3.
|
|
34
|
+
"@pipeline-builder/api-core": "5.2.4",
|
|
35
|
+
"@pipeline-builder/pipeline-data": "4.3.4",
|
|
36
36
|
"axios": "1.21.0"
|
|
37
37
|
},
|
|
38
38
|
"keywords": [
|
|
@@ -90,7 +90,8 @@
|
|
|
90
90
|
"homepage": "https://mwashburn160.github.io/pipeline-builder/",
|
|
91
91
|
"publishConfig": {
|
|
92
92
|
"access": "public",
|
|
93
|
-
"registry": "https://registry.npmjs.org/"
|
|
93
|
+
"registry": "https://registry.npmjs.org/",
|
|
94
|
+
"provenance": true
|
|
94
95
|
},
|
|
95
96
|
"typesVersions": {
|
|
96
97
|
"*": {
|
|
@@ -99,7 +100,7 @@
|
|
|
99
100
|
]
|
|
100
101
|
}
|
|
101
102
|
},
|
|
102
|
-
"version": "4.4.
|
|
103
|
+
"version": "4.4.4",
|
|
103
104
|
"bugs": {
|
|
104
105
|
"url": "https://github.com/mwashburn160/pipeline-builder/issues"
|
|
105
106
|
},
|