image-scanner-with-trivy 0.0.5
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/.gitattributes +26 -0
- package/.jsii +3950 -0
- package/.prettierignore +1 -0
- package/.prettierrc.json +8 -0
- package/.projenrc.ts +80 -0
- package/API.md +521 -0
- package/LICENSE +202 -0
- package/README.md +49 -0
- package/assets/lambda/Dockerfile +32 -0
- package/assets/lambda/dist/index.js +7 -0
- package/assets/lambda/index.ts +73 -0
- package/lib/index.d.ts +186 -0
- package/lib/index.js +92 -0
- package/lib/integ.d.ts +1 -0
- package/lib/integ.js +25 -0
- package/package.json +103 -0
package/lib/index.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ImageScannerWithTrivy = exports.ImageConfigScanners = exports.Scanners = exports.Severity = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
|
+
const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
|
9
|
+
const custom_resources_1 = require("aws-cdk-lib/custom-resources");
|
|
10
|
+
const constructs_1 = require("constructs");
|
|
11
|
+
/**
|
|
12
|
+
* Enum for Severity Selection
|
|
13
|
+
*
|
|
14
|
+
* @see https://aquasecurity.github.io/trivy/latest/docs/scanner/vulnerability/#severity-selection
|
|
15
|
+
*/
|
|
16
|
+
var Severity;
|
|
17
|
+
(function (Severity) {
|
|
18
|
+
Severity["UNKNOWN"] = "UNKNOWN";
|
|
19
|
+
Severity["LOW"] = "LOW";
|
|
20
|
+
Severity["MEDIUM"] = "MEDIUM";
|
|
21
|
+
Severity["HIGH"] = "HIGH";
|
|
22
|
+
Severity["CRITICAL"] = "CRITICAL";
|
|
23
|
+
})(Severity = exports.Severity || (exports.Severity = {}));
|
|
24
|
+
/**
|
|
25
|
+
* Enum for Scanners
|
|
26
|
+
*
|
|
27
|
+
* @see https://aquasecurity.github.io/trivy/latest/docs/configuration/others/#enabledisable-scanners
|
|
28
|
+
*/
|
|
29
|
+
var Scanners;
|
|
30
|
+
(function (Scanners) {
|
|
31
|
+
Scanners["VULN"] = "vuln";
|
|
32
|
+
Scanners["CONFIG"] = "config";
|
|
33
|
+
Scanners["SECRET"] = "secret";
|
|
34
|
+
Scanners["LICENSE"] = "license";
|
|
35
|
+
})(Scanners = exports.Scanners || (exports.Scanners = {}));
|
|
36
|
+
/**
|
|
37
|
+
* Enum for ImageConfigScanners
|
|
38
|
+
*
|
|
39
|
+
* @see https://aquasecurity.github.io/trivy/latest/docs/target/container_image/#container-image-metadata
|
|
40
|
+
*/
|
|
41
|
+
var ImageConfigScanners;
|
|
42
|
+
(function (ImageConfigScanners) {
|
|
43
|
+
ImageConfigScanners["CONFIG"] = "config";
|
|
44
|
+
ImageConfigScanners["SECRET"] = "secret";
|
|
45
|
+
})(ImageConfigScanners = exports.ImageConfigScanners || (exports.ImageConfigScanners = {}));
|
|
46
|
+
// Maximum memory size for default AWS account without quota limit increase
|
|
47
|
+
const DEFAULT_MEMORY_SIZE = 3008;
|
|
48
|
+
class ImageScannerWithTrivy extends constructs_1.Construct {
|
|
49
|
+
constructor(scope, id, props) {
|
|
50
|
+
super(scope, id);
|
|
51
|
+
if (props.memorySize) {
|
|
52
|
+
if (props.memorySize < 3008 || props.memorySize > 10240) {
|
|
53
|
+
throw new Error('You can specify between `3008` and `10240` for `memorySize`.');
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const customResourceLambda = new aws_lambda_1.SingletonFunction(this, 'CustomResourceLambda', {
|
|
57
|
+
uuid: '470b6343-d267-f753-226c-1e99f09f319a',
|
|
58
|
+
lambdaPurpose: 'Custom::ImageScannerWithTrivyCustomResourceLambda',
|
|
59
|
+
runtime: aws_lambda_1.Runtime.FROM_IMAGE,
|
|
60
|
+
handler: aws_lambda_1.Handler.FROM_IMAGE,
|
|
61
|
+
code: aws_lambda_1.AssetCode.fromAssetImage((0, path_1.join)(__dirname, '../assets/lambda')),
|
|
62
|
+
architecture: aws_lambda_1.Architecture.ARM_64,
|
|
63
|
+
timeout: aws_cdk_lib_1.Duration.seconds(900),
|
|
64
|
+
retryAttempts: 0,
|
|
65
|
+
memorySize: props.memorySize ?? DEFAULT_MEMORY_SIZE,
|
|
66
|
+
});
|
|
67
|
+
props.repository.grantPull(customResourceLambda);
|
|
68
|
+
const imageScannerProvider = new custom_resources_1.Provider(this, 'Provider', {
|
|
69
|
+
onEventHandler: customResourceLambda,
|
|
70
|
+
});
|
|
71
|
+
const imageScannerProperties = {};
|
|
72
|
+
imageScannerProperties.addr = this.node.addr;
|
|
73
|
+
imageScannerProperties.imageUri = props.imageUri;
|
|
74
|
+
imageScannerProperties.ignoreUnfixed = props.ignoreUnfixed ?? false;
|
|
75
|
+
imageScannerProperties.severity = props.severity ?? [Severity.CRITICAL];
|
|
76
|
+
imageScannerProperties.scanners = props.scanners ?? [];
|
|
77
|
+
imageScannerProperties.imageConfigScanners = props.imageConfigScanners ?? [];
|
|
78
|
+
imageScannerProperties.exitCode = props.exitCode ?? 1;
|
|
79
|
+
imageScannerProperties.exitOnEol = props.exitOnEol ?? 1;
|
|
80
|
+
imageScannerProperties.trivyIgnore = props.trivyIgnore ?? [];
|
|
81
|
+
imageScannerProperties.platform = props.platform ?? '';
|
|
82
|
+
new aws_cdk_lib_1.CustomResource(this, 'Default', {
|
|
83
|
+
resourceType: 'Custom::ImageScannerWithTrivy',
|
|
84
|
+
properties: imageScannerProperties,
|
|
85
|
+
serviceToken: imageScannerProvider.serviceToken,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
90
|
+
ImageScannerWithTrivy[_a] = { fqn: "image-scanner-with-trivy.ImageScannerWithTrivy", version: "0.0.5" };
|
|
91
|
+
exports.ImageScannerWithTrivy = ImageScannerWithTrivy;
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBNEI7QUFDNUIsNkNBQXVEO0FBRXZELHVEQU1nQztBQUNoQyxtRUFBd0Q7QUFDeEQsMkNBQXVDO0FBRXZDOzs7O0dBSUc7QUFDSCxJQUFZLFFBTVg7QUFORCxXQUFZLFFBQVE7SUFDbEIsK0JBQW1CLENBQUE7SUFDbkIsdUJBQVcsQ0FBQTtJQUNYLDZCQUFpQixDQUFBO0lBQ2pCLHlCQUFhLENBQUE7SUFDYixpQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTlcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFNbkI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxRQUtYO0FBTEQsV0FBWSxRQUFRO0lBQ2xCLHlCQUFhLENBQUE7SUFDYiw2QkFBaUIsQ0FBQTtJQUNqQiw2QkFBaUIsQ0FBQTtJQUNqQiwrQkFBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFLbkI7QUFFRDs7OztHQUlHO0FBQ0gsSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLHdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxtQkFBbUIsR0FBbkIsMkJBQW1CLEtBQW5CLDJCQUFtQixRQUc5QjtBQWtLRCwyRUFBMkU7QUFDM0UsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7QUFFakMsTUFBYSxxQkFBc0IsU0FBUSxzQkFBUztJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlDO1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUU7Z0JBQ3ZELE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQzthQUNqRjtTQUNGO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDhCQUFpQixDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtZQUMvRSxJQUFJLEVBQUUsc0NBQXNDO1lBQzVDLGFBQWEsRUFBRSxtREFBbUQ7WUFDbEUsT0FBTyxFQUFFLG9CQUFPLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsb0JBQU8sQ0FBQyxVQUFVO1lBQzNCLElBQUksRUFBRSxzQkFBUyxDQUFDLGNBQWMsQ0FBQyxJQUFBLFdBQUksRUFBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUNuRSxZQUFZLEVBQUUseUJBQVksQ0FBQyxNQUFNO1lBQ2pDLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDOUIsYUFBYSxFQUFFLENBQUM7WUFDaEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLElBQUksbUJBQW1CO1NBQ3BELENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFakQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLDJCQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUMxRCxjQUFjLEVBQUUsb0JBQW9CO1NBQ3JDLENBQUMsQ0FBQztRQUVILE1BQU0sc0JBQXNCLEdBQTRELEVBQUUsQ0FBQztRQUMzRixzQkFBc0IsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0Msc0JBQXNCLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDakQsc0JBQXNCLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDO1FBQ3BFLHNCQUFzQixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLHNCQUFzQixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUN2RCxzQkFBc0IsQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1FBQzdFLHNCQUFzQixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQztRQUN0RCxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7UUFDeEQsc0JBQXNCLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzdELHNCQUFzQixDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUV2RCxJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNsQyxZQUFZLEVBQUUsK0JBQStCO1lBQzdDLFVBQVUsRUFBRSxzQkFBc0I7WUFDbEMsWUFBWSxFQUFFLG9CQUFvQixDQUFDLFlBQVk7U0FDaEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztBQTVDVSxzREFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgRHVyYXRpb24gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBJUmVwb3NpdG9yeSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1lY3InO1xuaW1wb3J0IHtcbiAgQXJjaGl0ZWN0dXJlLFxuICBBc3NldENvZGUsXG4gIEhhbmRsZXIsXG4gIFJ1bnRpbWUsXG4gIFNpbmdsZXRvbkZ1bmN0aW9uLFxufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBFbnVtIGZvciBTZXZlcml0eSBTZWxlY3Rpb25cbiAqXG4gKiBAc2VlIGh0dHBzOi8vYXF1YXNlY3VyaXR5LmdpdGh1Yi5pby90cml2eS9sYXRlc3QvZG9jcy9zY2FubmVyL3Z1bG5lcmFiaWxpdHkvI3NldmVyaXR5LXNlbGVjdGlvblxuICovXG5leHBvcnQgZW51bSBTZXZlcml0eSB7XG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG4gIExPVyA9ICdMT1cnLFxuICBNRURJVU0gPSAnTUVESVVNJyxcbiAgSElHSCA9ICdISUdIJyxcbiAgQ1JJVElDQUwgPSAnQ1JJVElDQUwnLFxufVxuXG4vKipcbiAqIEVudW0gZm9yIFNjYW5uZXJzXG4gKlxuICogQHNlZSBodHRwczovL2FxdWFzZWN1cml0eS5naXRodWIuaW8vdHJpdnkvbGF0ZXN0L2RvY3MvY29uZmlndXJhdGlvbi9vdGhlcnMvI2VuYWJsZWRpc2FibGUtc2Nhbm5lcnNcbiAqL1xuZXhwb3J0IGVudW0gU2Nhbm5lcnMge1xuICBWVUxOID0gJ3Z1bG4nLFxuICBDT05GSUcgPSAnY29uZmlnJyxcbiAgU0VDUkVUID0gJ3NlY3JldCcsXG4gIExJQ0VOU0UgPSAnbGljZW5zZScsXG59XG5cbi8qKlxuICogRW51bSBmb3IgSW1hZ2VDb25maWdTY2FubmVyc1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9hcXVhc2VjdXJpdHkuZ2l0aHViLmlvL3RyaXZ5L2xhdGVzdC9kb2NzL3RhcmdldC9jb250YWluZXJfaW1hZ2UvI2NvbnRhaW5lci1pbWFnZS1tZXRhZGF0YVxuICovXG5leHBvcnQgZW51bSBJbWFnZUNvbmZpZ1NjYW5uZXJzIHtcbiAgQ09ORklHID0gJ2NvbmZpZycsXG4gIFNFQ1JFVCA9ICdzZWNyZXQnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlU2Nhbm5lcldpdGhUcml2eVByb3BzIHtcbiAgLyoqXG4gICAqIEltYWdlIFVSSSBmb3Igc2NhbiB0YXJnZXQuXG4gICAqL1xuICByZWFkb25seSBpbWFnZVVyaTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSZXBvc2l0b3J5IGluY2x1ZGluZyB0aGUgaW1hZ2UgVVJJIGZvciBzY2FuIHRhcmdldC5cbiAgICpcbiAgICogQmVjYXVzZSBvZiBncmFudFB1bGwgdG8gQ3VzdG9tUmVzb3VyY2VMYW1iZGEuXG4gICAqL1xuICByZWFkb25seSByZXBvc2l0b3J5OiBJUmVwb3NpdG9yeTtcblxuICAvKipcbiAgICogVGhlIHVuZml4ZWQvdW5maXhhYmxlIHZ1bG5lcmFiaWxpdGllcyBtZWFuIHRoYXQgdGhlIHBhdGNoIGhhcyBub3QgeWV0IGJlZW4gcHJvdmlkZWQgb24gdGhlaXIgZGlzdHJpYnV0aW9uLlxuICAgKlxuICAgKiBUbyBoaWRlIHVuZml4ZWQvdW5maXhhYmxlIHZ1bG5lcmFiaWxpdGllcywgeW91IGNhbiB1c2UgdGhlIGAtLWlnbm9yZS11bmZpeGVkYCBmbGFnLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXF1YXNlY3VyaXR5LmdpdGh1Yi5pby90cml2eS9sYXRlc3QvZG9jcy9zY2FubmVyL3Z1bG5lcmFiaWxpdHkvI3VuZml4ZWQtdnVsbmVyYWJpbGl0aWVzXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVVbmZpeGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V2ZXJpdHkgU2VsZWN0aW9uXG4gICAqXG4gICAqIFRoZSBzZXZlcml0eSBpcyB0YWtlbiBmcm9tIHRoZSBzZWxlY3RlZCBkYXRhIHNvdXJjZSBzaW5jZSB0aGUgc2V2ZXJpdHkgZnJvbSB2ZW5kb3JzIGlzIG1vcmUgYWNjdXJhdGUuXG4gICAqIFVzaW5nIENWRS0yMDIzLTA0NjQgYXMgYW4gZXhhbXBsZSwgd2hpbGUgaXQgaXMgcmF0ZWQgYXMgXCJISUdIXCIgaW4gTlZELCBSZWQgSGF0IGhhcyBtYXJrZWQgaXRzICdJbXBhY3QnIGFzIFwiTG93XCIuIEFzIGEgcmVzdWx0LCBUcml2eSB3aWxsIGRpc3BsYXkgaXQgYXMgXCJMb3dcIi5cbiAgICpcbiAgICogVGhlIHNldmVyaXR5IGRlcGVuZHMgb24gdGhlIGNvbXBpbGUgb3B0aW9uLCB0aGUgZGVmYXVsdCBjb25maWd1cmF0aW9uLCBldGMuIE5WRCBkb2Vzbid0IGtub3cgaG93IHRoZSB2ZW5kb3IgZGlzdHJpYnV0ZXMgdGhlIHNvZnR3YXJlLlxuICAgKiBSZWQgSGF0IGV2YWx1YXRlcyB0aGUgc2V2ZXJpdHkgbW9yZSBhY2N1cmF0ZWx5LiBUaGF0J3Mgd2h5IFRyaXZ5IHByZWZlcnMgdmVuZG9yIHNjb3JlcyBvdmVyIE5WRC5cbiAgICpcbiAgICogSXQgZGVmYXVsdHMgdG8gYENSSVRJQ0FMYCBJTiBUSElTIENPTlNUUlVDVCBmb3Igc2FmZXR5IGluIENJL0NELCBidXQgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvZiBUcml2eSBpcyBcIkNSSVRJQ0FMLEhJR0gsTUVESVVNLExPVyxVTktOT1dOXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtTZXZlcml0eS5DUklUSUNBTF1cbiAgICpcbiAgICogQHNlZSBodHRwczovL2FxdWFzZWN1cml0eS5naXRodWIuaW8vdHJpdnkvbGF0ZXN0L2RvY3Mvc2Nhbm5lci92dWxuZXJhYmlsaXR5LyNzZXZlcml0eS1zZWxlY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IHNldmVyaXR5PzogU2V2ZXJpdHlbXTtcblxuICAvKipcbiAgICogRW5hYmxlL0Rpc2FibGUgU2Nhbm5lcnNcbiAgICpcbiAgICogWW91IGNhbiBlbmFibGUvZGlzYWJsZSBzY2FubmVycyB3aXRoIHRoZSBgc2Nhbm5lcnNgLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgY29udGFpbmVyIGltYWdlIHNjYW5uaW5nIGVuYWJsZXMgdnVsbmVyYWJpbGl0eSAoVlVMTikgYW5kIHNlY3JldCBzY2FubmVycyAoU0VDUkVUKSBieSBkZWZhdWx0LlxuICAgKiBJZiB5b3UgZG9uJ3QgbmVlZCBzZWNyZXQgc2Nhbm5pbmcsIGl0IGNhbiBiZSBkaXNhYmxlZCBieSBzcGVjaWZ5aW5nIFNjYW5uZXJzLlZVTE4gb25seS5cbiAgICpcbiAgICogQGRlZmF1bHQgW1NlY3VyaXR5LlZVTE4sU2Nhbm5lcnMuU0VDUkVUXVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vYXF1YXNlY3VyaXR5LmdpdGh1Yi5pby90cml2eS9sYXRlc3QvZG9jcy9jb25maWd1cmF0aW9uL290aGVycy8jZW5hYmxlZGlzYWJsZS1zY2FubmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgc2Nhbm5lcnM/OiBTY2FubmVyc1tdO1xuXG4gIC8qKlxuICAgKiBFbnVtIGZvciBJbWFnZUNvbmZpZ1NjYW5uZXJzXG4gICAqXG4gICAqIENvbnRhaW5lciBpbWFnZXMgaGF2ZSBjb25maWd1cmF0aW9uLiBkb2NrZXIgaW5zcGVjdCBhbmQgYGRvY2tlciBoaXN0b3J5YCBzaG93IHRoZSBpbmZvcm1hdGlvbiBhY2NvcmRpbmcgdG8gdGhlIGNvbmZpZ3VyYXRpb24uXG4gICAqIFRyaXZ5IHNjYW5zIHRoZSBjb25maWd1cmF0aW9uIG9mIGNvbnRhaW5lciBpbWFnZXMgZm9yXG4gICAqXG4gICAqIC0gTWlzY29uZmlndXJhdGlvbnNcbiAgICogLSBTZWNyZXRzXG4gICAqXG4gICAqIFRoZXkgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQuIFlvdSBjYW4gZW5hYmxlIHRoZW0gd2l0aCBgaW1hZ2VDb25maWdTY2FubmVyc2AuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9hcXVhc2VjdXJpdHkuZ2l0aHViLmlvL3RyaXZ5L2xhdGVzdC9kb2NzL3RhcmdldC9jb250YWluZXJfaW1hZ2UvI2NvbnRhaW5lci1pbWFnZS1tZXRhZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgaW1hZ2VDb25maWdTY2FubmVycz86IEltYWdlQ29uZmlnU2Nhbm5lcnNbXTtcblxuICAvKipcbiAgICogRXhpdCBDb2RlXG4gICAqXG4gICAqIFVzZSB0aGUgYGV4aXRDb2RlYCBvcHRpb24gaWYgeW91IHdhbnQgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gZXhpdCBjb2RlLlxuICAgKlxuICAgKiBZb3UgY2FuIHNwZWNpZnkgMCBpZiB5b3UgZG8gbm90IHdhbnQgdG8gZXhpdCBldmVuIHdoZW4gdnVsbmVyYWJpbGl0aWVzIGFyZSBkZXRlY3RlZC5cbiAgICpcbiAgICogSXQgZGVmYXVsdHMgdG8gMSBJTiBUSElTIENPTlNUUlVDVCBmb3Igc2FmZXR5IGluIENJL0NELiBJbiB0aGUgb3JpZ2luYWwgdHJpdnksIGl0IGlzIDAuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FxdWFzZWN1cml0eS5naXRodWIuaW8vdHJpdnkvbGF0ZXN0L2RvY3MvY29uZmlndXJhdGlvbi9vdGhlcnMvI2V4aXQtY29kZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhpdENvZGU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEV4aXQgb24gRU9MXG4gICAqXG4gICAqIFNvbWV0aW1lcyB5b3UgbWF5IHN1cnByaXNpbmdseSBnZXQgMCB2dWxuZXJhYmlsaXRpZXMgaW4gYW4gb2xkIGltYWdlOlxuICAgKiAgLSBFbmFibGluZyAtLWlnbm9yZS11bmZpeGVkIG9wdGlvbiB3aGlsZSBhbGwgcGFja2FnZXMgaGF2ZSBubyBmaXhlZCB2ZXJzaW9ucy5cbiAgICogIC0gU2Nhbm5pbmcgYSByYXRoZXIgb3V0ZGF0ZWQgT1MgKGUuZy4gVWJ1bnR1IDEwLjA0KS5cbiAgICpcbiAgICogQW4gT1MgYXQgdGhlIGVuZCBvZiBzZXJ2aWNlL2xpZmUgKEVPTCkgdXN1YWxseSBnZXRzIGludG8gdGhpcyBzaXR1YXRpb24sIHdoaWNoIGlzIGRlZmluaXRlbHkgZnVsbCBvZiB2dWxuZXJhYmlsaXRpZXMuXG4gICAqIGBleGl0T25Fb2xgIGNhbiBmYWlsIHNjYW5uaW5nIG9uIEVPTCBPUyB3aXRoIGEgbm9uLXplcm8gY29kZS5cbiAgICpcbiAgICogSXQgZGVmYXVsdHMgdG8gMSBJTiBUSElTIENPTlNUUlVDVCBmb3Igc2FmZXR5IGluIENJL0NELiBJbiB0aGUgb3JpZ2luYWwgdHJpdnksIGl0IGlzIDAuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICpcbiAgICogQHNlZSBodHRwczovL2FxdWFzZWN1cml0eS5naXRodWIuaW8vdHJpdnkvbGF0ZXN0L2RvY3MvY29uZmlndXJhdGlvbi9vdGhlcnMvI2V4aXQtb24tZW9sXG4gICAqL1xuICByZWFkb25seSBleGl0T25Fb2w/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEJ5IEZpbmRpbmcgSURzXG4gICAqXG4gICAqIFRoZSBpZ25vcmUgcnVsZXMgd3JpdHRlbiB0byB0aGUgLnRyaXZ5aWdub3JlIGluIHRyaXZ5LlxuICAgKiBQdXQgZWFjaCBsaW5lIHlvdSB3cml0ZSBpbiB0aGUgZmlsZSBpbnRvIG9uZSBlbGVtZW50IG9mIHRoZSBhcnJheS5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogICAgICQgY2F0IC50cml2eWlnbm9yZVxuICAgKiAgICAgIyBBY2NlcHQgdGhlIHJpc2tcbiAgICogICAgIENWRS0yMDE4LTE0NjE4XG4gICAqXG4gICAqICAgICAjIEFjY2VwdCB0aGUgcmlzayB1bnRpbCAyMDIzLTAxLTAxXG4gICAqICAgICBDVkUtMjAxOS0xNDY5NyBleHA6MjAyMy0wMS0wMVxuICAgKlxuICAgKiAgICAgIyBObyBpbXBhY3QgaW4gb3VyIHNldHRpbmdzXG4gICAqICAgICBDVkUtMjAxOS0xNTQzXG4gICAqXG4gICAqICAgICAjIElnbm9yZSBtaXNjb25maWd1cmF0aW9uc1xuICAgKiAgICAgQVZELURTLTAwMDJcbiAgICpcbiAgICogICAgICMgSWdub3JlIHNlY3JldHNcbiAgICogICAgIGdlbmVyaWMtdW53YW50ZWQtcnVsZVxuICAgKiAgICAgYXdzLWFjY291bnQtaWRcbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICpcbiAgICogQHNlZSBodHRwczovL2FxdWFzZWN1cml0eS5naXRodWIuaW8vdHJpdnkvbGF0ZXN0L2RvY3MvY29uZmlndXJhdGlvbi9maWx0ZXJpbmcvI3RyaXZ5aWdub3JlXG4gICAqL1xuICByZWFkb25seSB0cml2eUlnbm9yZT86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gUmVzb3VyY2UgTWVtb3J5IFNpemUgKE1CKVxuICAgKlxuICAgKiBZb3UgY2FuIHNwZWNpZnkgYmV0d2VlbiBgMzAwOGAgYW5kIGAxMDI0MGAuXG4gICAqXG4gICAqIElmIHRoaXMgQ29uc3RydWN0IGV4ZWN1dGlvbiB0ZXJtaW5hdGVzIGFibm9ybWFsbHkgZHVlIHRvIFNJR0tJTEwsIHRyeSBhIGxhcmdlciBzaXplLlxuICAgKlxuICAgKiBEZWZhdWx0IHZhbHVlIChgMzAwOGAgTUIpIGlzIE1heGltdW0gbWVtb3J5IHNpemUgZm9yIGRlZmF1bHQgQVdTIGFjY291bnQgd2l0aG91dCBxdW90YSBsaW1pdCBpbmNyZWFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgMzAwOFxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5U2l6ZT86IG51bWJlcjtcblxuICAvKipcbiAgICogU2NhbiBJbWFnZSBvbiBhIHNwZWNpZmljIEFyY2hpdGVjdHVyZSBhbmQgT1NcbiAgICpcbiAgICogQnkgZGVmYXVsdCwgVHJpdnkgbG9hZHMgYW4gaW1hZ2Ugb24gYSBgbGludXgvYW1kNjRgIG1hY2hpbmUuXG4gICAqXG4gICAqIFRvIGN1c3RvbWl6ZSB0aGlzLCBwYXNzIGEgYHBsYXRmb3JtYCBhcmd1bWVudCBpbiB0aGUgZm9ybWF0IE9TL0FyY2hpdGVjdHVyZSBmb3IgdGhlIGltYWdlLCBzdWNoIGFzIGBsaW51eC9hcm02NGBcbiAgICpcbiAgICogQGRlZmF1bHQgLVxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBzdHJpbmc7XG59XG5cbi8vIE1heGltdW0gbWVtb3J5IHNpemUgZm9yIGRlZmF1bHQgQVdTIGFjY291bnQgd2l0aG91dCBxdW90YSBsaW1pdCBpbmNyZWFzZVxuY29uc3QgREVGQVVMVF9NRU1PUllfU0laRSA9IDMwMDg7XG5cbmV4cG9ydCBjbGFzcyBJbWFnZVNjYW5uZXJXaXRoVHJpdnkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSW1hZ2VTY2FubmVyV2l0aFRyaXZ5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKHByb3BzLm1lbW9yeVNpemUpIHtcbiAgICAgIGlmIChwcm9wcy5tZW1vcnlTaXplIDwgMzAwOCB8fCBwcm9wcy5tZW1vcnlTaXplID4gMTAyNDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2FuIHNwZWNpZnkgYmV0d2VlbiBgMzAwOGAgYW5kIGAxMDI0MGAgZm9yIGBtZW1vcnlTaXplYC4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjdXN0b21SZXNvdXJjZUxhbWJkYSA9IG5ldyBTaW5nbGV0b25GdW5jdGlvbih0aGlzLCAnQ3VzdG9tUmVzb3VyY2VMYW1iZGEnLCB7XG4gICAgICB1dWlkOiAnNDcwYjYzNDMtZDI2Ny1mNzUzLTIyNmMtMWU5OWYwOWYzMTlhJyxcbiAgICAgIGxhbWJkYVB1cnBvc2U6ICdDdXN0b206OkltYWdlU2Nhbm5lcldpdGhUcml2eUN1c3RvbVJlc291cmNlTGFtYmRhJyxcbiAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuRlJPTV9JTUFHRSxcbiAgICAgIGhhbmRsZXI6IEhhbmRsZXIuRlJPTV9JTUFHRSxcbiAgICAgIGNvZGU6IEFzc2V0Q29kZS5mcm9tQXNzZXRJbWFnZShqb2luKF9fZGlybmFtZSwgJy4uL2Fzc2V0cy9sYW1iZGEnKSksXG4gICAgICBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDkwMCksXG4gICAgICByZXRyeUF0dGVtcHRzOiAwLFxuICAgICAgbWVtb3J5U2l6ZTogcHJvcHMubWVtb3J5U2l6ZSA/PyBERUZBVUxUX01FTU9SWV9TSVpFLFxuICAgIH0pO1xuICAgIHByb3BzLnJlcG9zaXRvcnkuZ3JhbnRQdWxsKGN1c3RvbVJlc291cmNlTGFtYmRhKTtcblxuICAgIGNvbnN0IGltYWdlU2Nhbm5lclByb3ZpZGVyID0gbmV3IFByb3ZpZGVyKHRoaXMsICdQcm92aWRlcicsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBjdXN0b21SZXNvdXJjZUxhbWJkYSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGltYWdlU2Nhbm5lclByb3BlcnRpZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfCBib29sZWFuIHwgbnVtYmVyIH0gPSB7fTtcbiAgICBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLmFkZHIgPSB0aGlzLm5vZGUuYWRkcjtcbiAgICBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLmltYWdlVXJpID0gcHJvcHMuaW1hZ2VVcmk7XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5pZ25vcmVVbmZpeGVkID0gcHJvcHMuaWdub3JlVW5maXhlZCA/PyBmYWxzZTtcbiAgICBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLnNldmVyaXR5ID0gcHJvcHMuc2V2ZXJpdHkgPz8gW1NldmVyaXR5LkNSSVRJQ0FMXTtcbiAgICBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLnNjYW5uZXJzID0gcHJvcHMuc2Nhbm5lcnMgPz8gW107XG4gICAgaW1hZ2VTY2FubmVyUHJvcGVydGllcy5pbWFnZUNvbmZpZ1NjYW5uZXJzID0gcHJvcHMuaW1hZ2VDb25maWdTY2FubmVycyA/PyBbXTtcbiAgICBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLmV4aXRDb2RlID0gcHJvcHMuZXhpdENvZGUgPz8gMTtcbiAgICBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLmV4aXRPbkVvbCA9IHByb3BzLmV4aXRPbkVvbCA/PyAxO1xuICAgIGltYWdlU2Nhbm5lclByb3BlcnRpZXMudHJpdnlJZ25vcmUgPSBwcm9wcy50cml2eUlnbm9yZSA/PyBbXTtcbiAgICBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLnBsYXRmb3JtID0gcHJvcHMucGxhdGZvcm0gPz8gJyc7XG5cbiAgICBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgJ0RlZmF1bHQnLCB7XG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OkltYWdlU2Nhbm5lcldpdGhUcml2eScsXG4gICAgICBwcm9wZXJ0aWVzOiBpbWFnZVNjYW5uZXJQcm9wZXJ0aWVzLFxuICAgICAgc2VydmljZVRva2VuOiBpbWFnZVNjYW5uZXJQcm92aWRlci5zZXJ2aWNlVG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/integ.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/integ.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const path_1 = require("path");
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
const aws_ecr_assets_1 = require("aws-cdk-lib/aws-ecr-assets");
|
|
6
|
+
const _1 = require(".");
|
|
7
|
+
const app = new aws_cdk_lib_1.App();
|
|
8
|
+
const stack = new aws_cdk_lib_1.Stack(app, 'ImageScannerWithTrivyStack');
|
|
9
|
+
const image = new aws_ecr_assets_1.DockerImageAsset(stack, 'DockerImage', {
|
|
10
|
+
directory: (0, path_1.resolve)(__dirname, '../assets/lambda'),
|
|
11
|
+
platform: aws_ecr_assets_1.Platform.LINUX_ARM64,
|
|
12
|
+
});
|
|
13
|
+
new _1.ImageScannerWithTrivy(stack, 'ImageScannerWithTrivy4', {
|
|
14
|
+
imageUri: image.imageUri,
|
|
15
|
+
repository: image.repository,
|
|
16
|
+
ignoreUnfixed: false,
|
|
17
|
+
severity: [_1.Severity.CRITICAL],
|
|
18
|
+
scanners: [_1.Scanners.VULN, _1.Scanners.SECRET],
|
|
19
|
+
exitCode: 1,
|
|
20
|
+
exitOnEol: 1,
|
|
21
|
+
trivyIgnore: ['CVE-2023-37920', 'CVE-2019-14697 exp:2023-01-01'],
|
|
22
|
+
memorySize: 3008,
|
|
23
|
+
platform: 'linux/arm64',
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW50ZWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQkFBK0I7QUFDL0IsNkNBQXlDO0FBQ3pDLCtEQUF3RTtBQUN4RSx3QkFBOEQ7QUFFOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxpQkFBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxtQkFBSyxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO0FBRTNELE1BQU0sS0FBSyxHQUFHLElBQUksaUNBQWdCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRTtJQUN2RCxTQUFTLEVBQUUsSUFBQSxjQUFPLEVBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDO0lBQ2pELFFBQVEsRUFBRSx5QkFBUSxDQUFDLFdBQVc7Q0FDL0IsQ0FBQyxDQUFDO0FBRUgsSUFBSSx3QkFBcUIsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7SUFDekQsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO0lBQ3hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtJQUM1QixhQUFhLEVBQUUsS0FBSztJQUNwQixRQUFRLEVBQUUsQ0FBQyxXQUFRLENBQUMsUUFBUSxDQUFDO0lBQzdCLFFBQVEsRUFBRSxDQUFDLFdBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBUSxDQUFDLE1BQU0sQ0FBQztJQUMxQyxRQUFRLEVBQUUsQ0FBQztJQUNYLFNBQVMsRUFBRSxDQUFDO0lBQ1osV0FBVyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsK0JBQStCLENBQUM7SUFDaEUsVUFBVSxFQUFFLElBQUk7SUFDaEIsUUFBUSxFQUFFLGFBQWE7Q0FDeEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgQXBwLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IERvY2tlckltYWdlQXNzZXQsIFBsYXRmb3JtIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHMnO1xuaW1wb3J0IHsgSW1hZ2VTY2FubmVyV2l0aFRyaXZ5LCBTY2FubmVycywgU2V2ZXJpdHkgfSBmcm9tICcuJztcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAnSW1hZ2VTY2FubmVyV2l0aFRyaXZ5U3RhY2snKTtcblxuY29uc3QgaW1hZ2UgPSBuZXcgRG9ja2VySW1hZ2VBc3NldChzdGFjaywgJ0RvY2tlckltYWdlJywge1xuICBkaXJlY3Rvcnk6IHJlc29sdmUoX19kaXJuYW1lLCAnLi4vYXNzZXRzL2xhbWJkYScpLFxuICBwbGF0Zm9ybTogUGxhdGZvcm0uTElOVVhfQVJNNjQsXG59KTtcblxubmV3IEltYWdlU2Nhbm5lcldpdGhUcml2eShzdGFjaywgJ0ltYWdlU2Nhbm5lcldpdGhUcml2eTQnLCB7XG4gIGltYWdlVXJpOiBpbWFnZS5pbWFnZVVyaSxcbiAgcmVwb3NpdG9yeTogaW1hZ2UucmVwb3NpdG9yeSxcbiAgaWdub3JlVW5maXhlZDogZmFsc2UsXG4gIHNldmVyaXR5OiBbU2V2ZXJpdHkuQ1JJVElDQUxdLFxuICBzY2FubmVyczogW1NjYW5uZXJzLlZVTE4sIFNjYW5uZXJzLlNFQ1JFVF0sXG4gIGV4aXRDb2RlOiAxLFxuICBleGl0T25Fb2w6IDEsXG4gIHRyaXZ5SWdub3JlOiBbJ0NWRS0yMDIzLTM3OTIwJywgJ0NWRS0yMDE5LTE0Njk3IGV4cDoyMDIzLTAxLTAxJ10sXG4gIG1lbW9yeVNpemU6IDMwMDgsXG4gIHBsYXRmb3JtOiAnbGludXgvYXJtNjQnLFxufSk7XG4iXX0=
|
package/package.json
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "image-scanner-with-trivy",
|
|
3
|
+
"repository": {
|
|
4
|
+
"type": "git",
|
|
5
|
+
"url": "https://github.com/go-to-k/image-scanner-with-trivy"
|
|
6
|
+
},
|
|
7
|
+
"bin": {
|
|
8
|
+
"0": "./assets"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "npx projen build",
|
|
12
|
+
"bump": "npx projen bump",
|
|
13
|
+
"clobber": "npx projen clobber",
|
|
14
|
+
"compat": "npx projen compat",
|
|
15
|
+
"compile": "npx projen compile",
|
|
16
|
+
"default": "npx projen default",
|
|
17
|
+
"docgen": "npx projen docgen",
|
|
18
|
+
"eject": "npx projen eject",
|
|
19
|
+
"eslint": "npx projen eslint",
|
|
20
|
+
"package": "npx projen package",
|
|
21
|
+
"package-all": "npx projen package-all",
|
|
22
|
+
"package:js": "npx projen package:js",
|
|
23
|
+
"post-compile": "npx projen post-compile",
|
|
24
|
+
"post-upgrade": "npx projen post-upgrade",
|
|
25
|
+
"pre-compile": "npx projen pre-compile",
|
|
26
|
+
"release": "npx projen release",
|
|
27
|
+
"test": "npx projen test",
|
|
28
|
+
"test:watch": "npx projen test:watch",
|
|
29
|
+
"unbump": "npx projen unbump",
|
|
30
|
+
"upgrade": "npx projen upgrade",
|
|
31
|
+
"watch": "npx projen watch",
|
|
32
|
+
"projen": "npx projen",
|
|
33
|
+
"cdk": "cdk",
|
|
34
|
+
"integ:deploy": "cdk deploy --app='./lib/integ.js'",
|
|
35
|
+
"integ:destroy": "cdk destroy --app='./lib/integ.js'"
|
|
36
|
+
},
|
|
37
|
+
"author": {
|
|
38
|
+
"name": "go-to-k",
|
|
39
|
+
"email": "24818752+go-to-k@users.noreply.github.com",
|
|
40
|
+
"organization": false
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@types/jest": "^29.5.4",
|
|
44
|
+
"@types/node": "^18",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^6",
|
|
46
|
+
"@typescript-eslint/parser": "^6",
|
|
47
|
+
"aws-cdk-lib": "2.95.1",
|
|
48
|
+
"constructs": "10.0.5",
|
|
49
|
+
"eslint": "^8",
|
|
50
|
+
"eslint-config-prettier": "^9.0.0",
|
|
51
|
+
"eslint-import-resolver-node": "^0.3.9",
|
|
52
|
+
"eslint-import-resolver-typescript": "^3.6.0",
|
|
53
|
+
"eslint-plugin-import": "^2.28.1",
|
|
54
|
+
"eslint-plugin-prettier": "^5.0.0",
|
|
55
|
+
"jest": "^29.6.4",
|
|
56
|
+
"jest-junit": "^15",
|
|
57
|
+
"jsii": "~5.0.0",
|
|
58
|
+
"jsii-diff": "^1.88.0",
|
|
59
|
+
"jsii-docgen": "^9.1.2",
|
|
60
|
+
"jsii-pacmak": "^1.88.0",
|
|
61
|
+
"jsii-rosetta": "~5.0.0",
|
|
62
|
+
"npm-check-updates": "^16",
|
|
63
|
+
"prettier": "^3.0.3",
|
|
64
|
+
"projen": "^0.73.11",
|
|
65
|
+
"standard-version": "^9",
|
|
66
|
+
"ts-jest": "^29.1.1",
|
|
67
|
+
"ts-node": "^10.9.1",
|
|
68
|
+
"typescript": "^5.2.2"
|
|
69
|
+
},
|
|
70
|
+
"peerDependencies": {
|
|
71
|
+
"aws-cdk-lib": "^2.95.1",
|
|
72
|
+
"constructs": "^10.0.5"
|
|
73
|
+
},
|
|
74
|
+
"keywords": [
|
|
75
|
+
"aws",
|
|
76
|
+
"aws-cdk",
|
|
77
|
+
"cdk",
|
|
78
|
+
"container",
|
|
79
|
+
"docker",
|
|
80
|
+
"ecr",
|
|
81
|
+
"ecs",
|
|
82
|
+
"fargate",
|
|
83
|
+
"security",
|
|
84
|
+
"trivy"
|
|
85
|
+
],
|
|
86
|
+
"engines": {
|
|
87
|
+
"node": ">= 18.0.0"
|
|
88
|
+
},
|
|
89
|
+
"main": "lib/index.js",
|
|
90
|
+
"license": "Apache-2.0",
|
|
91
|
+
"version": "0.0.5",
|
|
92
|
+
"types": "lib/index.d.ts",
|
|
93
|
+
"stability": "stable",
|
|
94
|
+
"jsii": {
|
|
95
|
+
"outdir": "dist",
|
|
96
|
+
"targets": {},
|
|
97
|
+
"tsc": {
|
|
98
|
+
"outDir": "lib",
|
|
99
|
+
"rootDir": "src"
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
|
|
103
|
+
}
|