@aws-cdk/lambda-layer-kubectl-v33 2.0.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.
@@ -0,0 +1 @@
1
+ build.sh
@@ -0,0 +1,49 @@
1
+ # base lambda image
2
+ FROM public.ecr.aws/lambda/provided:latest
3
+
4
+ #
5
+ # versions
6
+ #
7
+
8
+ ARG KUBECTL_VERSION=1.33.0
9
+ ARG HELM_VERSION=3.18.0
10
+
11
+ USER root
12
+ RUN mkdir -p /opt
13
+ WORKDIR /tmp
14
+
15
+ #
16
+ # tools
17
+ #
18
+
19
+ RUN dnf update -y \
20
+ && dnf install -y zip unzip wget tar gzip
21
+
22
+ #
23
+ # kubectl
24
+ #
25
+
26
+ RUN mkdir -p /opt/kubectl
27
+ RUN cd /opt/kubectl && curl -LO "https://dl.k8s.io/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl"
28
+ RUN chmod +x /opt/kubectl/kubectl
29
+ RUN /opt/kubectl/kubectl config view
30
+
31
+ #
32
+ # helm
33
+ #
34
+
35
+ RUN mkdir -p /tmp/helm && wget -qO- https://get.helm.sh/helm-v${HELM_VERSION}-linux-amd64.tar.gz | tar -xvz -C /tmp/helm
36
+ RUN mkdir -p /opt/helm && cp /tmp/helm/linux-amd64/helm /opt/helm/helm
37
+ RUN /opt/helm/helm version
38
+
39
+ #
40
+ # create the bundle
41
+ #
42
+
43
+ RUN cd /opt \
44
+ && zip --symlinks -r ../layer.zip * \
45
+ && echo "/layer.zip is ready" \
46
+ && ls -alh /layer.zip;
47
+
48
+ WORKDIR /
49
+ ENTRYPOINT [ "/bin/bash" ]
package/layer/build.sh ADDED
@@ -0,0 +1,20 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+
4
+ cd $(dirname $0)
5
+
6
+ mkdir -p ../lib
7
+
8
+ echo ">> Building AWS Lambda layer inside a docker image..."
9
+
10
+ TAG='aws-lambda-layer'
11
+
12
+ docker build -t ${TAG} .
13
+
14
+ echo ">> Extrating layer.zip from the build container..."
15
+ CONTAINER=$(docker run -d ${TAG} false)
16
+ docker cp ${CONTAINER}:/layer.zip ../lib/layer.zip
17
+
18
+ echo ">> Stopping container..."
19
+ docker rm -f ${CONTAINER}
20
+ echo ">> lib/layer.zip is ready"
@@ -0,0 +1,2 @@
1
+ export declare const ASSET_FILE: string;
2
+ export declare function assetHash(): string;
package/lib/_asset.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ASSET_FILE = void 0;
4
+ exports.assetHash = assetHash;
5
+ const crypto = require("crypto");
6
+ const fs = require("fs");
7
+ const path = require("path");
8
+ exports.ASSET_FILE = path.join(__dirname, 'layer.zip');
9
+ // we hash the Dockerfile (it contains the tools versions) because hashing the zip is non-deterministic
10
+ function assetHash() {
11
+ // This could be calculated at build time
12
+ return hashFile(path.join(__dirname, '..', 'layer', 'Dockerfile'));
13
+ }
14
+ function hashFile(fileName) {
15
+ return crypto
16
+ .createHash('sha256')
17
+ .update(fs.readFileSync(fileName))
18
+ .digest('hex');
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2Fzc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL19hc3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFPQSw4QkFHQztBQVZELGlDQUFpQztBQUNqQyx5QkFBeUI7QUFDekIsNkJBQTZCO0FBRWhCLFFBQUEsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRTVELHVHQUF1RztBQUN2RyxTQUFnQixTQUFTO0lBQ3ZCLHlDQUF5QztJQUN6QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLFFBQWdCO0lBQ2hDLE9BQU8sTUFBTTtTQUNWLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDcEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDakMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbmV4cG9ydCBjb25zdCBBU1NFVF9GSUxFID0gcGF0aC5qb2luKF9fZGlybmFtZSwgJ2xheWVyLnppcCcpO1xuXG4vLyB3ZSBoYXNoIHRoZSBEb2NrZXJmaWxlIChpdCBjb250YWlucyB0aGUgdG9vbHMgdmVyc2lvbnMpIGJlY2F1c2UgaGFzaGluZyB0aGUgemlwIGlzIG5vbi1kZXRlcm1pbmlzdGljXG5leHBvcnQgZnVuY3Rpb24gYXNzZXRIYXNoKCkge1xuICAvLyBUaGlzIGNvdWxkIGJlIGNhbGN1bGF0ZWQgYXQgYnVpbGQgdGltZVxuICByZXR1cm4gaGFzaEZpbGUocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uJywgJ2xheWVyJywgJ0RvY2tlcmZpbGUnKSk7XG59XG5cbmZ1bmN0aW9uIGhhc2hGaWxlKGZpbGVOYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIGNyeXB0b1xuICAgIC5jcmVhdGVIYXNoKCdzaGEyNTYnKVxuICAgIC51cGRhdGUoZnMucmVhZEZpbGVTeW5jKGZpbGVOYW1lKSlcbiAgICAuZGlnZXN0KCdoZXgnKTtcbn0iXX0=
package/lib/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './kubectl-layer';
package/lib/index.js ADDED
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./kubectl-layer"), exports);
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGtEQUFnQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4va3ViZWN0bC1sYXllcic7XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import * as lambda from 'aws-cdk-lib/aws-lambda';
2
+ import { Construct } from 'constructs';
3
+ /**
4
+ * A CDK Asset construct that contains `kubectl` and `helm`.
5
+ */
6
+ export declare class KubectlV33Layer extends lambda.LayerVersion {
7
+ constructor(scope: Construct, id: string);
8
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.KubectlV33Layer = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const lambda = require("aws-cdk-lib/aws-lambda");
7
+ const _asset_1 = require("./_asset");
8
+ /**
9
+ * A CDK Asset construct that contains `kubectl` and `helm`.
10
+ */
11
+ class KubectlV33Layer extends lambda.LayerVersion {
12
+ constructor(scope, id) {
13
+ super(scope, id, {
14
+ code: lambda.Code.fromAsset(_asset_1.ASSET_FILE, {
15
+ assetHash: (0, _asset_1.assetHash)(),
16
+ }),
17
+ description: '/opt/kubectl/kubectl 1.33.0; /opt/helm/helm 3.18.0',
18
+ license: 'Apache-2.0',
19
+ });
20
+ }
21
+ }
22
+ exports.KubectlV33Layer = KubectlV33Layer;
23
+ _a = JSII_RTTI_SYMBOL_1;
24
+ KubectlV33Layer[_a] = { fqn: "@aws-cdk/lambda-layer-kubectl-v33.KubectlV33Layer", version: "2.0.0" };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ViZWN0bC1sYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9rdWJlY3RsLWxheWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsaURBQWlEO0FBRWpELHFDQUFpRDtBQUVqRDs7R0FFRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxNQUFNLENBQUMsWUFBWTtJQUN0RCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBVSxFQUFFO2dCQUN0QyxTQUFTLEVBQUUsSUFBQSxrQkFBUyxHQUFFO2FBQ3ZCLENBQUM7WUFDRixXQUFXLEVBQUUsb0RBQW9EO1lBQ2pFLE9BQU8sRUFBRSxZQUFZO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBVEgsMENBVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGFzc2V0SGFzaCwgQVNTRVRfRklMRSB9IGZyb20gJy4vX2Fzc2V0JztcblxuLyoqXG4gKiBBIENESyBBc3NldCBjb25zdHJ1Y3QgdGhhdCBjb250YWlucyBga3ViZWN0bGAgYW5kIGBoZWxtYC5cbiAqL1xuZXhwb3J0IGNsYXNzIEt1YmVjdGxWMzNMYXllciBleHRlbmRzIGxhbWJkYS5MYXllclZlcnNpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoQVNTRVRfRklMRSwge1xuICAgICAgICBhc3NldEhhc2g6IGFzc2V0SGFzaCgpLFxuICAgICAgfSksXG4gICAgICBkZXNjcmlwdGlvbjogJy9vcHQva3ViZWN0bC9rdWJlY3RsIDEuMzMuMDsgL29wdC9oZWxtL2hlbG0gMy4xOC4wJyxcbiAgICAgIGxpY2Vuc2U6ICdBcGFjaGUtMi4wJyxcbiAgICB9KTtcbiAgfVxufVxuIl19
package/lib/layer.zip ADDED
Binary file
@@ -0,0 +1,115 @@
1
+ #!/bin/bash
2
+ # First argument should be kubectl version we're bumping to
3
+ # Second argument should be helm version we're bumping to
4
+ set -euo pipefail
5
+
6
+ PREV_KUBECTL_VERSION=$(echo "$1 - 1" | bc)
7
+ PREV_HELM_VERSION=$(echo "$2 - 1" | bc)
8
+
9
+ echo "Before running this script, please ensure you have signed in and have valid AWS credentials, and that your Docker daemon is running."
10
+ read -p "Do you have valid credentials in your account && Docker daemon is running? (Y/n)" hasValidCreds
11
+ if [[ "$hasValidCreds" =~ ^[nN]$ ]]; then
12
+ echo "Please obtain valid AWS credentials before running this script. Terminating..."
13
+ exit 1
14
+ fi
15
+
16
+ # Check if previous version branch exists
17
+ if ! git rev-parse --verify "kubectl-v$PREV_KUBECTL_VERSION/main" >/dev/null 2>&1; then
18
+ echo "Error: kubectl-v$PREV_KUBECTL_VERSION does not exist. Cannot produce kubectl-v$1"
19
+ exit 1
20
+ fi
21
+
22
+ # Check if kubectl version exists
23
+ echo "Checking if kubectl v$1 exists..."
24
+ if ! curl -L -f -s "https://dl.k8s.io/v1.$1.0/bin/linux/amd64/kubectl" > /dev/null; then
25
+ echo "Error: kubectl v$1 does not exist at https://dl.k8s.io"
26
+ exit 1
27
+ fi
28
+ echo "It does!"
29
+
30
+ # Check if corresponding helm version exists
31
+ echo "Checking if Helm v$2 exists..."
32
+ if ! curl -L -f -s "https://get.helm.sh/helm-v3.$2.0-linux-amd64.tar.gz" > /dev/null; then
33
+ echo "Error: Helm v$2 does not exist at https://dl.k8s.io"
34
+ exit 1
35
+ fi
36
+ echo "It does!"
37
+
38
+ echo "Bumping from Kubectl v$PREV_KUBECTL_VERSION to Kubectl v$1..."
39
+ git clean -fqdx .
40
+
41
+ # Install dependencies
42
+ yarn install --frozen-lockfile
43
+
44
+ # Make a new branch and clean it
45
+ git checkout -b kubectl-v${1}/main kubectl-v$PREV_KUBECTL_VERSION/main
46
+
47
+ # Define files to update
48
+ files=(
49
+ "README.md"
50
+ "layer/Dockerfile"
51
+ "src/kubectl-layer.ts"
52
+ "test/kubectl-layer.test.ts"
53
+ "test/kubectl-layer.integ.ts"
54
+ )
55
+
56
+ # Define patterns and replacements
57
+ patterns=(
58
+ "s/1.$PREV_KUBECTL_VERSION\.[0-9]/1.$1.0/g"
59
+ "s/3.$PREV_HELM_VERSION\.[0-9]/3.$2.0/g"
60
+ "s/KubectlV${PREV_KUBECTL_VERSION}Layer/KubectlV${1}Layer/g"
61
+ "s/KubeCtl v1.$PREV_KUBECTL_VERSION/KubeCtl v1.$1/" # this one only in README.md
62
+ )
63
+
64
+ # Update .projenrc.ts
65
+ echo "Updating .projenrc.ts..."
66
+ sed -i "" "s/SPEC_VERSION = '$PREV_KUBECTL_VERSION'/SPEC_VERSION = '$1'/" .projenrc.ts
67
+
68
+ # Update the other files
69
+ for file in "${files[@]}"; do
70
+ echo "Updating $file..."
71
+ for pattern in "${patterns[@]}"; do
72
+ sed -i "" "$pattern" "$file"
73
+ done
74
+ done
75
+
76
+ echo "All files updated."
77
+
78
+ # Run npx projen commands and ensure everything properly builds
79
+ echo "Compiling..."
80
+ npx projen compile
81
+ echo "Running npx projen..."
82
+ npx projen
83
+ echo "Building..."
84
+ npx projen pre-compile
85
+ echo "Deploying integ test..."
86
+ if ! yes | npx projen integ:kubectl-layer:deploy; then
87
+ echo "Command failed, but continuing script execution..." # May fail due to notices, as "destroy" doesn't use --no-notices
88
+ fi
89
+ echo "Checking that the snapshot was updated..."
90
+ if ! npx projen integ:kubectl-layer:assert; then
91
+ echo "It was not. Updating now..."
92
+ npx projen integ:kubectl-layer:snapshot
93
+ fi
94
+ echo "Verifying build..."
95
+ if ! yarn build; then
96
+ echo "The build has failed. Please review the error messages above and determine if it is due to your local environment."
97
+ read -p "A PR will be created. Please ensure the 'build' test on that passes before merging. Press enter to continue."
98
+ fi
99
+
100
+ # Remind user to make a new branch in go library as well
101
+ echo "Please visit $(tput setaf 3)https://github.com/cdklabs/awscdk-asset-kubectl/branches$(tput sgr0) and create a new branch titled '$(tput setaf 3)kubectl-v$1/main$(tput sgr0)'."
102
+ read -p "Press Enter to continue..."
103
+
104
+ echo "Please visit $(tput setaf 3)https://github.com/cdklabs/awscdk-kubectl-go/branches$(tput sgr0) and create a new branch titled '$(tput setaf 3)kubectl.$1$(tput sgr0)'."
105
+ read -p "Press Enter to continue..."
106
+
107
+ # Commit changes and push PR
108
+ git add .
109
+ git commit -m "feat: support v1.$1"
110
+ git push origin kubectl-v${1}/main
111
+ echo "=========="
112
+ echo "Please visit the link above and open your pull request. Ensure the PR passes all stages of execution and all tests pass."
113
+ echo "Take caution that you are targeting the correct upstream branch (kubectl-v$1/main). Please also ensure one other engineer approves of the changes before merging in."
114
+ echo "⚠️ATTENTION⚠️ when the new version merges in, UPDATE THE REPOSITORY'S DEFAULT BRANCH TO THAT VERSION (kubectl-v$1/main)."
115
+ echo "Thank you for your contribution!"
package/package.json ADDED
@@ -0,0 +1,160 @@
1
+ {
2
+ "name": "@aws-cdk/lambda-layer-kubectl-v33",
3
+ "description": "A Lambda Layer that contains kubectl v1.33",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/cdklabs/awscdk-asset-kubectl.git"
7
+ },
8
+ "scripts": {
9
+ "build": "npx projen build",
10
+ "bump": "npx projen bump",
11
+ "clobber": "npx projen clobber",
12
+ "compat": "npx projen compat",
13
+ "compile": "npx projen compile",
14
+ "default": "npx projen default",
15
+ "docgen": "npx projen docgen",
16
+ "eject": "npx projen eject",
17
+ "eslint": "npx projen eslint",
18
+ "integ:kubectl-layer:assert": "npx projen integ:kubectl-layer:assert",
19
+ "integ:kubectl-layer:deploy": "npx projen integ:kubectl-layer:deploy",
20
+ "integ:kubectl-layer:destroy": "npx projen integ:kubectl-layer:destroy",
21
+ "integ:kubectl-layer:snapshot": "npx projen integ:kubectl-layer:snapshot",
22
+ "integ:kubectl-layer:watch": "npx projen integ:kubectl-layer:watch",
23
+ "integ:snapshot-all": "npx projen integ:snapshot-all",
24
+ "package": "npx projen package",
25
+ "package-all": "npx projen package-all",
26
+ "package:dotnet": "npx projen package:dotnet",
27
+ "package:go": "npx projen package:go",
28
+ "package:java": "npx projen package:java",
29
+ "package:js": "npx projen package:js",
30
+ "package:python": "npx projen package:python",
31
+ "post-compile": "npx projen post-compile",
32
+ "post-upgrade": "npx projen post-upgrade",
33
+ "pre-compile": "npx projen pre-compile",
34
+ "release:kubectl-v33/main": "npx projen release:kubectl-v33/main",
35
+ "test": "npx projen test",
36
+ "test:watch": "npx projen test:watch",
37
+ "unbump": "npx projen unbump",
38
+ "upgrade": "npx projen upgrade",
39
+ "watch": "npx projen watch",
40
+ "projen": "npx projen"
41
+ },
42
+ "author": {
43
+ "name": "Amazon Web Services",
44
+ "email": "aws-cdk-dev@amazon.com",
45
+ "organization": false
46
+ },
47
+ "devDependencies": {
48
+ "@stylistic/eslint-plugin": "^2",
49
+ "@types/jest": "^27",
50
+ "@types/node": "^16 <= 16.18.78",
51
+ "@typescript-eslint/eslint-plugin": "^8",
52
+ "@typescript-eslint/parser": "^8",
53
+ "aws-cdk": "^2",
54
+ "aws-cdk-lib": "2.94.0",
55
+ "commit-and-tag-version": "^12",
56
+ "constructs": "10.0.5",
57
+ "eslint": "^9",
58
+ "eslint-import-resolver-typescript": "^3.10.1",
59
+ "eslint-plugin-import": "^2.31.0",
60
+ "jest": "^27",
61
+ "jest-junit": "^16",
62
+ "jsii": "~5.6.0",
63
+ "jsii-diff": "^1.112.0",
64
+ "jsii-docgen": "^10.5.0",
65
+ "jsii-pacmak": "^1.112.0",
66
+ "jsii-rosetta": "~5.6.0",
67
+ "projen": "^0.92.6",
68
+ "ts-jest": "^27",
69
+ "ts-node": "^10.9.2",
70
+ "typescript": "^4.9.5"
71
+ },
72
+ "peerDependencies": {
73
+ "aws-cdk-lib": "^2.94.0",
74
+ "constructs": "^10.0.5"
75
+ },
76
+ "keywords": [
77
+ "cdk"
78
+ ],
79
+ "main": "lib/index.js",
80
+ "license": "Apache-2.0",
81
+ "homepage": "https://github.com/cdklabs/awscdk-asset-kubectl#readme",
82
+ "publishConfig": {
83
+ "access": "public"
84
+ },
85
+ "version": "2.0.0",
86
+ "jest": {
87
+ "coverageProvider": "v8",
88
+ "testMatch": [
89
+ "<rootDir>/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
90
+ "<rootDir>/@(src|test)/**/__tests__/**/*.ts?(x)",
91
+ "<rootDir>/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
92
+ "<rootDir>/@(projenrc)/**/__tests__/**/*.ts?(x)"
93
+ ],
94
+ "clearMocks": true,
95
+ "collectCoverage": true,
96
+ "coverageReporters": [
97
+ "json",
98
+ "lcov",
99
+ "clover",
100
+ "cobertura",
101
+ "text"
102
+ ],
103
+ "coverageDirectory": "coverage",
104
+ "coveragePathIgnorePatterns": [
105
+ "/node_modules/"
106
+ ],
107
+ "testPathIgnorePatterns": [
108
+ "/node_modules/"
109
+ ],
110
+ "watchPathIgnorePatterns": [
111
+ "/node_modules/"
112
+ ],
113
+ "reporters": [
114
+ "default",
115
+ [
116
+ "jest-junit",
117
+ {
118
+ "outputDirectory": "test-reports"
119
+ }
120
+ ]
121
+ ],
122
+ "preset": "ts-jest",
123
+ "globals": {
124
+ "ts-jest": {
125
+ "tsconfig": "tsconfig.dev.json"
126
+ }
127
+ }
128
+ },
129
+ "types": "lib/index.d.ts",
130
+ "stability": "stable",
131
+ "jsii": {
132
+ "outdir": "dist",
133
+ "targets": {
134
+ "java": {
135
+ "package": "software.amazon.awscdk.cdk.lambdalayer.kubectl.v33",
136
+ "maven": {
137
+ "groupId": "software.amazon.awscdk",
138
+ "artifactId": "cdk-lambda-layer-kubectl-v33"
139
+ }
140
+ },
141
+ "python": {
142
+ "distName": "aws-cdk.lambda-layer-kubectl-v33",
143
+ "module": "aws_cdk.lambda_layer_kubectl_v33"
144
+ },
145
+ "dotnet": {
146
+ "namespace": "Amazon.CDK.LambdaLayer.KubectlV33",
147
+ "packageId": "Amazon.CDK.LambdaLayer.KubectlV33"
148
+ },
149
+ "go": {
150
+ "moduleName": "github.com/cdklabs/awscdk-kubectl-go",
151
+ "packageName": "kubectlv33"
152
+ }
153
+ },
154
+ "tsc": {
155
+ "outDir": "lib",
156
+ "rootDir": "src"
157
+ }
158
+ },
159
+ "//": "~~ Generated by projen. To modify, edit .projenrc.ts and run \"npx projen\"."
160
+ }