projalf 0.0.29 → 0.0.31
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/package.json +1 -1
- package/.jsii +0 -162
- package/lib/Projalf.d.ts +0 -6
- package/lib/Projalf.js +0 -143
- package/lib/files.d.ts +0 -6
- package/lib/files.js +0 -45
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -18
- package/lib/workflows.d.ts +0 -2
- package/lib/workflows.js +0 -143
package/package.json
CHANGED
package/.jsii
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"author": {
|
|
3
|
-
"email": "alfgoto@gmail.com",
|
|
4
|
-
"name": "Alf",
|
|
5
|
-
"roles": [
|
|
6
|
-
"author"
|
|
7
|
-
]
|
|
8
|
-
},
|
|
9
|
-
"dependencies": {
|
|
10
|
-
"projen": "^0.96.1"
|
|
11
|
-
},
|
|
12
|
-
"dependencyClosure": {
|
|
13
|
-
"constructs": {
|
|
14
|
-
"targets": {
|
|
15
|
-
"dotnet": {
|
|
16
|
-
"namespace": "Constructs",
|
|
17
|
-
"packageId": "Constructs"
|
|
18
|
-
},
|
|
19
|
-
"go": {
|
|
20
|
-
"moduleName": "github.com/aws/constructs-go"
|
|
21
|
-
},
|
|
22
|
-
"java": {
|
|
23
|
-
"maven": {
|
|
24
|
-
"artifactId": "constructs",
|
|
25
|
-
"groupId": "software.constructs"
|
|
26
|
-
},
|
|
27
|
-
"package": "software.constructs"
|
|
28
|
-
},
|
|
29
|
-
"js": {
|
|
30
|
-
"npm": "constructs"
|
|
31
|
-
},
|
|
32
|
-
"python": {
|
|
33
|
-
"distName": "constructs",
|
|
34
|
-
"module": "constructs"
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
"projen": {
|
|
39
|
-
"submodules": {
|
|
40
|
-
"projen.awscdk": {},
|
|
41
|
-
"projen.build": {},
|
|
42
|
-
"projen.cdk": {},
|
|
43
|
-
"projen.cdk8s": {},
|
|
44
|
-
"projen.cdktf": {},
|
|
45
|
-
"projen.circleci": {},
|
|
46
|
-
"projen.github": {},
|
|
47
|
-
"projen.github.workflows": {},
|
|
48
|
-
"projen.gitlab": {},
|
|
49
|
-
"projen.java": {},
|
|
50
|
-
"projen.javascript": {},
|
|
51
|
-
"projen.javascript.biome_config": {},
|
|
52
|
-
"projen.python": {},
|
|
53
|
-
"projen.release": {},
|
|
54
|
-
"projen.typescript": {},
|
|
55
|
-
"projen.vscode": {},
|
|
56
|
-
"projen.web": {}
|
|
57
|
-
},
|
|
58
|
-
"targets": {
|
|
59
|
-
"go": {
|
|
60
|
-
"moduleName": "github.com/projen/projen-go"
|
|
61
|
-
},
|
|
62
|
-
"java": {
|
|
63
|
-
"maven": {
|
|
64
|
-
"artifactId": "projen",
|
|
65
|
-
"groupId": "io.github.cdklabs"
|
|
66
|
-
},
|
|
67
|
-
"package": "io.github.cdklabs.projen"
|
|
68
|
-
},
|
|
69
|
-
"js": {
|
|
70
|
-
"npm": "projen"
|
|
71
|
-
},
|
|
72
|
-
"python": {
|
|
73
|
-
"distName": "projen",
|
|
74
|
-
"module": "projen"
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
"description": "A projen project made to help use the aws-cdk",
|
|
80
|
-
"docs": {
|
|
81
|
-
"stability": "stable"
|
|
82
|
-
},
|
|
83
|
-
"homepage": "git@github.com:AlfGoto/projalf.git",
|
|
84
|
-
"jsiiVersion": "5.8.18 (build f5c30fc)",
|
|
85
|
-
"license": "Apache-2.0",
|
|
86
|
-
"metadata": {
|
|
87
|
-
"jsii": {
|
|
88
|
-
"pacmak": {
|
|
89
|
-
"hasDefaultInterfaces": true
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
"tscRootDir": "src"
|
|
93
|
-
},
|
|
94
|
-
"name": "projalf",
|
|
95
|
-
"readme": {
|
|
96
|
-
"markdown": "This is a projen project made to help use the aws-cdk"
|
|
97
|
-
},
|
|
98
|
-
"repository": {
|
|
99
|
-
"type": "git",
|
|
100
|
-
"url": "git@github.com:AlfGoto/projalf.git"
|
|
101
|
-
},
|
|
102
|
-
"schema": "jsii/0.10.0",
|
|
103
|
-
"targets": {
|
|
104
|
-
"js": {
|
|
105
|
-
"npm": "projalf"
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"types": {
|
|
109
|
-
"projalf.Projalf": {
|
|
110
|
-
"assembly": "projalf",
|
|
111
|
-
"base": "projen.awscdk.AwsCdkTypeScriptApp",
|
|
112
|
-
"docs": {
|
|
113
|
-
"stability": "stable"
|
|
114
|
-
},
|
|
115
|
-
"fqn": "projalf.Projalf",
|
|
116
|
-
"initializer": {
|
|
117
|
-
"docs": {
|
|
118
|
-
"stability": "stable"
|
|
119
|
-
},
|
|
120
|
-
"locationInModule": {
|
|
121
|
-
"filename": "src/Projalf.ts",
|
|
122
|
-
"line": 20
|
|
123
|
-
},
|
|
124
|
-
"parameters": [
|
|
125
|
-
{
|
|
126
|
-
"name": "options",
|
|
127
|
-
"type": {
|
|
128
|
-
"fqn": "projalf.ProjalfOptions"
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
]
|
|
132
|
-
},
|
|
133
|
-
"kind": "class",
|
|
134
|
-
"locationInModule": {
|
|
135
|
-
"filename": "src/Projalf.ts",
|
|
136
|
-
"line": 19
|
|
137
|
-
},
|
|
138
|
-
"name": "Projalf",
|
|
139
|
-
"symbolId": "src/Projalf:Projalf"
|
|
140
|
-
},
|
|
141
|
-
"projalf.ProjalfOptions": {
|
|
142
|
-
"assembly": "projalf",
|
|
143
|
-
"datatype": true,
|
|
144
|
-
"docs": {
|
|
145
|
-
"stability": "stable"
|
|
146
|
-
},
|
|
147
|
-
"fqn": "projalf.ProjalfOptions",
|
|
148
|
-
"interfaces": [
|
|
149
|
-
"projen.awscdk.AwsCdkTypeScriptAppOptions"
|
|
150
|
-
],
|
|
151
|
-
"kind": "interface",
|
|
152
|
-
"locationInModule": {
|
|
153
|
-
"filename": "src/Projalf.ts",
|
|
154
|
-
"line": 17
|
|
155
|
-
},
|
|
156
|
-
"name": "ProjalfOptions",
|
|
157
|
-
"symbolId": "src/Projalf:ProjalfOptions"
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
"version": "0.0.0",
|
|
161
|
-
"fingerprint": "kEYqln986ktkDZz/OZBLA3xHjPBm49gXZ/zEwmZKOs0="
|
|
162
|
-
}
|
package/lib/Projalf.d.ts
DELETED
package/lib/Projalf.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Projalf = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const cp = require("child_process");
|
|
7
|
-
const path = require("path");
|
|
8
|
-
const projen_1 = require("projen");
|
|
9
|
-
const files_1 = require("./files");
|
|
10
|
-
const workflows_1 = require("./workflows");
|
|
11
|
-
const defaultJestConfig = {
|
|
12
|
-
preset: "ts-jest",
|
|
13
|
-
transform: {
|
|
14
|
-
"^.+\\.tsx?$": new projen_1.javascript.Transform("ts-jest", {
|
|
15
|
-
tsconfig: "tsconfig.dev.json",
|
|
16
|
-
}),
|
|
17
|
-
},
|
|
18
|
-
setupFilesAfterEnv: ["<rootDir>/test/setup.ts"],
|
|
19
|
-
};
|
|
20
|
-
class Projalf extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
21
|
-
constructor(options) {
|
|
22
|
-
const inferredName = options.name ?? inferNameFromGit() ?? inferNameFromCwd();
|
|
23
|
-
const className = toPascalCase(inferredName);
|
|
24
|
-
const fileBase = inferredName.toLowerCase();
|
|
25
|
-
const mergedContext = { ...(options.context ?? {}) };
|
|
26
|
-
if (mergedContext.serviceName === undefined) {
|
|
27
|
-
mergedContext.serviceName = inferredName;
|
|
28
|
-
}
|
|
29
|
-
super({
|
|
30
|
-
...options,
|
|
31
|
-
name: inferredName,
|
|
32
|
-
defaultReleaseBranch: options.defaultReleaseBranch ?? "main",
|
|
33
|
-
packageManager: options.packageManager ?? projen_1.javascript.NodePackageManager.NPM,
|
|
34
|
-
projenrcTs: options.projenrcTs ?? true,
|
|
35
|
-
cdkVersion: options.cdkVersion ?? "^2.156.0",
|
|
36
|
-
context: mergedContext,
|
|
37
|
-
deps: options.deps ?? [],
|
|
38
|
-
devDeps: options.devDeps ?? [],
|
|
39
|
-
buildWorkflow: false,
|
|
40
|
-
release: false,
|
|
41
|
-
depsUpgrade: false,
|
|
42
|
-
githubOptions: {
|
|
43
|
-
pullRequestLint: false,
|
|
44
|
-
},
|
|
45
|
-
watchIncludes: ["src/**/*.ts", "src/**/*.tsx"],
|
|
46
|
-
prettierOptions: {
|
|
47
|
-
...options.prettierOptions,
|
|
48
|
-
settings: {
|
|
49
|
-
semi: false,
|
|
50
|
-
printWidth: 100,
|
|
51
|
-
singleQuote: false,
|
|
52
|
-
...options.prettierOptions?.settings,
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
jestOptions: {
|
|
56
|
-
configFilePath: "jest.config.json",
|
|
57
|
-
jestConfig: {
|
|
58
|
-
testMatch: ["<rootDir>/(test/unit|src)/**/*(*.)@(spec|test).ts?(x)"],
|
|
59
|
-
transform: {
|
|
60
|
-
"^.+\\.tsx?$": new projen_1.javascript.Transform("ts-jest", {
|
|
61
|
-
tsconfig: "tsconfig.dev.json",
|
|
62
|
-
}),
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
new files_1.Files(this, className, fileBase, inferredName);
|
|
68
|
-
// Enforce ESLint style: double quotes and no semicolons
|
|
69
|
-
this.eslint?.addRules({
|
|
70
|
-
"@stylistic/quotes": ["error", "double", { avoidEscape: true }],
|
|
71
|
-
"@stylistic/semi": ["error", "never"],
|
|
72
|
-
"@stylistic/consistent-quotes": ["off"],
|
|
73
|
-
"@stylistic/member-delimiter-style": ["off"],
|
|
74
|
-
"@stylistic/comma-dangle": ["error", "always-multiline"],
|
|
75
|
-
});
|
|
76
|
-
(0, workflows_1.workflow)(this);
|
|
77
|
-
this.addTask("deploy:watch", {
|
|
78
|
-
exec: "cdk deploy --all --method=direct --outputs-file=test.output.json --watch --hotswap-fallback --require-approval=never",
|
|
79
|
-
receiveArgs: true,
|
|
80
|
-
});
|
|
81
|
-
this.addTask("test:e2e", {
|
|
82
|
-
exec: "jest --config jest.e2e.config.json --runInBand --passWithNoTests",
|
|
83
|
-
});
|
|
84
|
-
new projen_1.javascript.Jest(this, {
|
|
85
|
-
configFilePath: "jest.integ.config.json",
|
|
86
|
-
jestConfig: {
|
|
87
|
-
collectCoverage: false,
|
|
88
|
-
testMatch: [
|
|
89
|
-
"<rootDir>/test/integ/**/*(*.)@(spec|test).ts?(x)",
|
|
90
|
-
"<rootDir>/(test|src)/**/*(*.)@(integ).ts?(x)",
|
|
91
|
-
],
|
|
92
|
-
...defaultJestConfig,
|
|
93
|
-
},
|
|
94
|
-
});
|
|
95
|
-
new projen_1.javascript.Jest(this, {
|
|
96
|
-
configFilePath: "jest.e2e.config.json",
|
|
97
|
-
jestConfig: {
|
|
98
|
-
collectCoverage: false,
|
|
99
|
-
testMatch: [
|
|
100
|
-
"<rootDir>/test/e2e/**/*(*.)@(spec|test).ts?(x)",
|
|
101
|
-
"<rootDir>/(test|src)/**/*(*.)@(e2e).ts?(x)",
|
|
102
|
-
],
|
|
103
|
-
...defaultJestConfig,
|
|
104
|
-
},
|
|
105
|
-
});
|
|
106
|
-
new projen_1.SampleFile(this, "test/setup.ts", {
|
|
107
|
-
contents: `jest.setTimeout(10000)
|
|
108
|
-
`,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
exports.Projalf = Projalf;
|
|
113
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
114
|
-
Projalf[_a] = { fqn: "projalf.Projalf", version: "0.0.0" };
|
|
115
|
-
function inferNameFromGit() {
|
|
116
|
-
try {
|
|
117
|
-
const remote = cp
|
|
118
|
-
.execSync("git config --get remote.origin.url", {
|
|
119
|
-
stdio: ["ignore", "pipe", "ignore"],
|
|
120
|
-
})
|
|
121
|
-
.toString()
|
|
122
|
-
.trim();
|
|
123
|
-
if (!remote)
|
|
124
|
-
return undefined;
|
|
125
|
-
const match = remote.match(/\/([^\/]+?)(?:\.git)?$/);
|
|
126
|
-
return match?.[1];
|
|
127
|
-
}
|
|
128
|
-
catch {
|
|
129
|
-
return undefined;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
function inferNameFromCwd() {
|
|
133
|
-
return path.basename(process.cwd());
|
|
134
|
-
}
|
|
135
|
-
function toPascalCase(input) {
|
|
136
|
-
return input
|
|
137
|
-
.replace(/[^a-zA-Z0-9]+/g, " ")
|
|
138
|
-
.split(" ")
|
|
139
|
-
.filter(Boolean)
|
|
140
|
-
.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
|
|
141
|
-
.join("");
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvamFsZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9qYWxmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0NBQW1DO0FBQ25DLDZCQUE0QjtBQUM1QixtQ0FBdUQ7QUFDdkQsbUNBQStCO0FBQy9CLDJDQUFzQztBQUV0QyxNQUFNLGlCQUFpQixHQUFpQztJQUN0RCxNQUFNLEVBQUUsU0FBUztJQUNqQixTQUFTLEVBQUU7UUFDVCxhQUFhLEVBQUUsSUFBSSxtQkFBVSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7WUFDakQsUUFBUSxFQUFFLG1CQUFtQjtTQUM5QixDQUFDO0tBQ0g7SUFDRCxrQkFBa0IsRUFBRSxDQUFDLHlCQUF5QixDQUFDO0NBQ2hELENBQUE7QUFJRCxNQUFhLE9BQVEsU0FBUSxlQUFNLENBQUMsbUJBQW1CO0lBQ3JELFlBQVksT0FBdUI7UUFDakMsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sQ0FBQyxJQUFJLElBQUksZ0JBQWdCLEVBQUUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBQzFELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7UUFFM0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsRUFBeUIsQ0FBQTtRQUMzRSxJQUFJLGFBQWEsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxZQUFZLENBQUE7UUFDMUMsQ0FBQztRQUVELEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxZQUFZO1lBQ2xCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELGNBQWMsRUFDWixPQUFPLENBQUMsY0FBYyxJQUFJLG1CQUFVLENB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QVMsZ0JBQWdCO0lBQ3ZCLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLEVBQUU7YUFDZCxRQUFRLENBQUMsb0NBQW9DLEVBQUU7WUFDOUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDcEMsQ0FBQzthQUNELFFBQVEsRUFBRTthQUNWLElBQUksRUFBRSxDQUFBO1FBQ1QsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7UUFDcEQsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNuQixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQjtJQUN2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEtBQWE7SUFDakMsT0FBTyxLQUFLO1NBQ1QsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztTQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDO1NBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUNmLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3pFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcCBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7IGF3c2NkaywgamF2YXNjcmlwdCwgU2FtcGxlRmlsZSB9IGZyb20gXCJwcm9qZW5cIlxuaW1wb3J0IHsgRmlsZXMgfSBmcm9tIFwiLi9maWxlc1wiXG5pbXBvcnQgeyB3b3JrZmxvdyB9IGZyb20gXCIuL3dvcmtmbG93c1wiXG5cbmNvbnN0IGRlZmF1bHRKZXN0Q29uZmlnOiBqYXZhc2NyaXB0Lkplc3RDb25maWdPcHRpb25zID0ge1xuICBwcmVzZXQ6IFwidHMtamVzdFwiLFxuICB0cmFuc2Zvcm06IHtcbiAgICBcIl4uK1xcXFwudHN4PyRcIjogbmV3IGphdmFzY3JpcHQuVHJhbnNmb3JtKFwidHMtamVzdFwiLCB7XG4gICAgICB0c2NvbmZpZzogXCJ0c2NvbmZpZy5kZXYuanNvblwiLFxuICAgIH0pLFxuICB9LFxuICBzZXR1cEZpbGVzQWZ0ZXJFbnY6IFtcIjxyb290RGlyPi90ZXN0L3NldHVwLnRzXCJdLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2phbGZPcHRpb25zIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHBPcHRpb25zIHt9XG5cbmV4cG9ydCBjbGFzcyBQcm9qYWxmIGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQcm9qYWxmT3B0aW9ucykge1xuICAgIGNvbnN0IGluZmVycmVkTmFtZSA9XG4gICAgICBvcHRpb25zLm5hbWUgPz8gaW5mZXJOYW1lRnJvbUdpdCgpID8/IGluZmVyTmFtZUZyb21Dd2QoKVxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRvUGFzY2FsQ2FzZShpbmZlcnJlZE5hbWUpXG4gICAgY29uc3QgZmlsZUJhc2UgPSBpbmZlcnJlZE5hbWUudG9Mb3dlckNhc2UoKVxuXG4gICAgY29uc3QgbWVyZ2VkQ29udGV4dCA9IHsgLi4uKG9wdGlvbnMuY29udGV4dCA/PyB7fSkgfSBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gICAgaWYgKG1lcmdlZENvbnRleHQuc2VydmljZU5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbWVyZ2VkQ29udGV4dC5zZXJ2aWNlTmFtZSA9IGluZmVycmVkTmFtZVxuICAgIH1cblxuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBpbmZlcnJlZE5hbWUsXG4gICAgICBkZWZhdWx0UmVsZWFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCA/PyBcIm1haW5cIixcbiAgICAgIHBhY2thZ2VNYW5hZ2VyOlxuICAgICAgICBvcHRpb25zLnBhY2thZ2VNYW5hZ2VyID8/IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIHByb2plbnJjVHM6IG9wdGlvbnMucHJvamVucmNUcyA/PyB0cnVlLFxuICAgICAgY2RrVmVyc2lvbjogb3B0aW9ucy5jZGtWZXJzaW9uID8/IFwiXjIuMTU2LjBcIixcbiAgICAgIGNvbnRleHQ6IG1lcmdlZENvbnRleHQsXG4gICAgICBkZXBzOiBvcHRpb25zLmRlcHMgPz8gW10sXG4gICAgICBkZXZEZXBzOiBvcHRpb25zLmRldkRlcHMgPz8gW10sXG4gICAgICBidWlsZFdvcmtmbG93OiBmYWxzZSxcbiAgICAgIHJlbGVhc2U6IGZhbHNlLFxuICAgICAgZGVwc1VwZ3JhZGU6IGZhbHNlLFxuICAgICAgZ2l0aHViT3B0aW9uczoge1xuICAgICAgICBwdWxsUmVxdWVzdExpbnQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIHdhdGNoSW5jbHVkZXM6IFtcInNyYy8qKi8qLnRzXCIsIFwic3JjLyoqLyoudHN4XCJdLFxuXG4gICAgICBwcmV0dGllck9wdGlvbnM6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5wcmV0dGllck9wdGlvbnMsXG4gICAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgICAgc2VtaTogZmFsc2UsXG4gICAgICAgICAgcHJpbnRXaWR0aDogMTAwLFxuICAgICAgICAgIHNpbmdsZVF1b3RlOiBmYWxzZSxcbiAgICAgICAgICAuLi5vcHRpb25zLnByZXR0aWVyT3B0aW9ucz8uc2V0dGluZ3MsXG4gICAgICAgIH0sXG4gICAgICB9LFxuXG4gICAgICBqZXN0T3B0aW9uczoge1xuICAgICAgICBjb25maWdGaWxlUGF0aDogXCJqZXN0LmNvbmZpZy5qc29uXCIsXG4gICAgICAgIGplc3RDb25maWc6IHtcbiAgICAgICAgICB0ZXN0TWF0Y2g6IFtcIjxyb290RGlyPi8odGVzdC91bml0fHNyYykvKiovKigqLilAKHNwZWN8dGVzdCkudHM/KHgpXCJdLFxuICAgICAgICAgIHRyYW5zZm9ybToge1xuICAgICAgICAgICAgXCJeLitcXFxcLnRzeD8kXCI6IG5ldyBqYXZhc2NyaXB0LlRyYW5zZm9ybShcInRzLWplc3RcIiwge1xuICAgICAgICAgICAgICB0c2NvbmZpZzogXCJ0c2NvbmZpZy5kZXYuanNvblwiLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIG5ldyBGaWxlcyh0aGlzLCBjbGFzc05hbWUsIGZpbGVCYXNlLCBpbmZlcnJlZE5hbWUpXG5cbiAgICAvLyBFbmZvcmNlIEVTTGludCBzdHlsZTogZG91YmxlIHF1b3RlcyBhbmQgbm8gc2VtaWNvbG9uc1xuICAgIHRoaXMuZXNsaW50Py5hZGRSdWxlcyh7XG4gICAgICBcIkBzdHlsaXN0aWMvcXVvdGVzXCI6IFtcImVycm9yXCIsIFwiZG91YmxlXCIsIHsgYXZvaWRFc2NhcGU6IHRydWUgfV0sXG4gICAgICBcIkBzdHlsaXN0aWMvc2VtaVwiOiBbXCJlcnJvclwiLCBcIm5ldmVyXCJdLFxuICAgICAgXCJAc3R5bGlzdGljL2NvbnNpc3RlbnQtcXVvdGVzXCI6IFtcIm9mZlwiXSxcbiAgICAgIFwiQHN0eWxpc3RpYy9tZW1iZXItZGVsaW1pdGVyLXN0eWxlXCI6IFtcIm9mZlwiXSxcbiAgICAgIFwiQHN0eWxpc3RpYy9jb21tYS1kYW5nbGVcIjogW1wiZXJyb3JcIiwgXCJhbHdheXMtbXVsdGlsaW5lXCJdLFxuICAgIH0pXG5cbiAgICB3b3JrZmxvdyh0aGlzKVxuXG4gICAgdGhpcy5hZGRUYXNrKFwiZGVwbG95OndhdGNoXCIsIHtcbiAgICAgIGV4ZWM6IFwiY2RrIGRlcGxveSAtLWFsbCAtLW1ldGhvZD1kaXJlY3QgLS1vdXRwdXRzLWZpbGU9dGVzdC5vdXRwdXQuanNvbiAtLXdhdGNoIC0taG90c3dhcC1mYWxsYmFjayAtLXJlcXVpcmUtYXBwcm92YWw9bmV2ZXJcIixcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pXG4gICAgdGhpcy5hZGRUYXNrKFwidGVzdDplMmVcIiwge1xuICAgICAgZXhlYzogXCJqZXN0IC0tY29uZmlnIGplc3QuZTJlLmNvbmZpZy5qc29uIC0tcnVuSW5CYW5kIC0tcGFzc1dpdGhOb1Rlc3RzXCIsXG4gICAgfSlcblxuICAgIG5ldyBqYXZhc2NyaXB0Lkplc3QodGhpcywge1xuICAgICAgY29uZmlnRmlsZVBhdGg6IFwiamVzdC5pbnRlZy5jb25maWcuanNvblwiLFxuICAgICAgamVzdENvbmZpZzoge1xuICAgICAgICBjb2xsZWN0Q292ZXJhZ2U6IGZhbHNlLFxuICAgICAgICB0ZXN0TWF0Y2g6IFtcbiAgICAgICAgICBcIjxyb290RGlyPi90ZXN0L2ludGVnLyoqLyooKi4pQChzcGVjfHRlc3QpLnRzPyh4KVwiLFxuICAgICAgICAgIFwiPHJvb3REaXI+Lyh0ZXN0fHNyYykvKiovKigqLilAKGludGVnKS50cz8oeClcIixcbiAgICAgICAgXSxcbiAgICAgICAgLi4uZGVmYXVsdEplc3RDb25maWcsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICBuZXcgamF2YXNjcmlwdC5KZXN0KHRoaXMsIHtcbiAgICAgIGNvbmZpZ0ZpbGVQYXRoOiBcImplc3QuZTJlLmNvbmZpZy5qc29uXCIsXG4gICAgICBqZXN0Q29uZmlnOiB7XG4gICAgICAgIGNvbGxlY3RDb3ZlcmFnZTogZmFsc2UsXG4gICAgICAgIHRlc3RNYXRjaDogW1xuICAgICAgICAgIFwiPHJvb3REaXI+L3Rlc3QvZTJlLyoqLyooKi4pQChzcGVjfHRlc3QpLnRzPyh4KVwiLFxuICAgICAgICAgIFwiPHJvb3REaXI+Lyh0ZXN0fHNyYykvKiovKigqLilAKGUyZSkudHM/KHgpXCIsXG4gICAgICAgIF0sXG4gICAgICAgIC4uLmRlZmF1bHRKZXN0Q29uZmlnLFxuICAgICAgfSxcbiAgICB9KVxuXG4gICAgbmV3IFNhbXBsZUZpbGUodGhpcywgXCJ0ZXN0L3NldHVwLnRzXCIsIHtcbiAgICAgIGNvbnRlbnRzOiBgamVzdC5zZXRUaW1lb3V0KDEwMDAwKVxuYCxcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21HaXQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZW1vdGUgPSBjcFxuICAgICAgLmV4ZWNTeW5jKFwiZ2l0IGNvbmZpZyAtLWdldCByZW1vdGUub3JpZ2luLnVybFwiLCB7XG4gICAgICAgIHN0ZGlvOiBbXCJpZ25vcmVcIiwgXCJwaXBlXCIsIFwiaWdub3JlXCJdLFxuICAgICAgfSlcbiAgICAgIC50b1N0cmluZygpXG4gICAgICAudHJpbSgpXG4gICAgaWYgKCFyZW1vdGUpIHJldHVybiB1bmRlZmluZWRcbiAgICBjb25zdCBtYXRjaCA9IHJlbW90ZS5tYXRjaCgvXFwvKFteXFwvXSs/KSg/OlxcLmdpdCk/JC8pXG4gICAgcmV0dXJuIG1hdGNoPy5bMV1cbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG59XG5cbmZ1bmN0aW9uIGluZmVyTmFtZUZyb21Dd2QoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguYmFzZW5hbWUocHJvY2Vzcy5jd2QoKSlcbn1cblxuZnVuY3Rpb24gdG9QYXNjYWxDYXNlKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gaW5wdXRcbiAgICAucmVwbGFjZSgvW15hLXpBLVowLTldKy9nLCBcIiBcIilcbiAgICAuc3BsaXQoXCIgXCIpXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5tYXAoKHBhcnQpID0+IHBhcnQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyBwYXJ0LnNsaWNlKDEpLnRvTG93ZXJDYXNlKCkpXG4gICAgLmpvaW4oXCJcIilcbn1cbiJdfQ==
|
package/lib/files.d.ts
DELETED
package/lib/files.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Files = void 0;
|
|
4
|
-
const projen_1 = require("projen");
|
|
5
|
-
class Files extends projen_1.Component {
|
|
6
|
-
constructor(appProject, className, fileBase, inferredName) {
|
|
7
|
-
super(appProject);
|
|
8
|
-
this.appProject = appProject;
|
|
9
|
-
this.appProject = appProject;
|
|
10
|
-
new projen_1.SampleFile(this.appProject, `src/${fileBase}.ts`, {
|
|
11
|
-
contents: `import * as cdk from 'aws-cdk-lib';
|
|
12
|
-
import { Construct } from 'constructs';
|
|
13
|
-
|
|
14
|
-
export interface ${className}Props extends cdk.StackProps {
|
|
15
|
-
serviceName: string;
|
|
16
|
-
stage: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export class ${className} extends cdk.Stack {
|
|
20
|
-
constructor(scope: Construct, id: string, props: ${className}Props) {
|
|
21
|
-
super(scope, id, props);
|
|
22
|
-
// Add your infra here...
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
`,
|
|
26
|
-
});
|
|
27
|
-
this.appProject.tryRemoveFile("src/main.ts");
|
|
28
|
-
new projen_1.SampleFile(this.appProject, "src/main.ts", {
|
|
29
|
-
contents: `
|
|
30
|
-
import * as cdk from 'aws-cdk-lib';
|
|
31
|
-
import { ${className} } from './${fileBase}';
|
|
32
|
-
const env = {
|
|
33
|
-
account: process.env.CDK_DEPLOY_ACCOUNT ?? process.env.CDK_DEFAULT_ACCOUNT,
|
|
34
|
-
region: process.env.CDK_DEPLOY_REGION ?? process.env.CDK_DEFAULT_REGION,
|
|
35
|
-
};
|
|
36
|
-
const app = new cdk.App();
|
|
37
|
-
const serviceName = '${inferredName}';
|
|
38
|
-
new ${className}(app, serviceName, { env, serviceName });
|
|
39
|
-
app.synth();
|
|
40
|
-
`,
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.Files = Files;
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQThDO0FBRzlDLE1BQWEsS0FBTSxTQUFRLGtCQUFTO0lBQ2xDLFlBQ1UsVUFBbUIsRUFDM0IsU0FBaUIsRUFDakIsUUFBZ0IsRUFDaEIsWUFBb0I7UUFFcEIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBTFQsZUFBVSxHQUFWLFVBQVUsQ0FBUztRQU0zQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUU1QixJQUFJLG1CQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLFFBQVEsS0FBSyxFQUFFO1lBQ3BELFFBQVEsRUFBRTs7O21CQUdHLFNBQVM7Ozs7O2VBS2IsU0FBUztxREFDNkIsU0FBUzs7Ozs7Q0FLN0Q7U0FDSSxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUM1QyxJQUFJLG1CQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUU7WUFDN0MsUUFBUSxFQUFFOztpQkFFQyxTQUFTLGNBQWMsUUFBUTs7Ozs7OzZCQU1uQixZQUFZO1lBQzdCLFNBQVM7O09BRWQ7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUE1Q0Qsc0JBNENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBTYW1wbGVGaWxlIH0gZnJvbSBcInByb2plblwiXG5pbXBvcnQgeyBQcm9qYWxmIH0gZnJvbSBcIi4vUHJvamFsZlwiXG5cbmV4cG9ydCBjbGFzcyBGaWxlcyBleHRlbmRzIENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXBwUHJvamVjdDogUHJvamFsZixcbiAgICBjbGFzc05hbWU6IHN0cmluZyxcbiAgICBmaWxlQmFzZTogc3RyaW5nLFxuICAgIGluZmVycmVkTmFtZTogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihhcHBQcm9qZWN0KVxuICAgIHRoaXMuYXBwUHJvamVjdCA9IGFwcFByb2plY3RcblxuICAgIG5ldyBTYW1wbGVGaWxlKHRoaXMuYXBwUHJvamVjdCwgYHNyYy8ke2ZpbGVCYXNlfS50c2AsIHtcbiAgICAgIGNvbnRlbnRzOiBgaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlICR7Y2xhc3NOYW1lfVByb3BzIGV4dGVuZHMgY2RrLlN0YWNrUHJvcHMge1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICBzdGFnZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgJHtjbGFzc05hbWV9IGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6ICR7Y2xhc3NOYW1lfVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgLy8gQWRkIHlvdXIgaW5mcmEgaGVyZS4uLlxuICB9XG59XG5gLFxuICAgIH0pXG5cbiAgICB0aGlzLmFwcFByb2plY3QudHJ5UmVtb3ZlRmlsZShcInNyYy9tYWluLnRzXCIpXG4gICAgbmV3IFNhbXBsZUZpbGUodGhpcy5hcHBQcm9qZWN0LCBcInNyYy9tYWluLnRzXCIsIHtcbiAgICAgIGNvbnRlbnRzOiBgXG4gICAgICBpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuICAgICAgaW1wb3J0IHsgJHtjbGFzc05hbWV9IH0gZnJvbSAnLi8ke2ZpbGVCYXNlfSc7XG4gICAgICBjb25zdCBlbnYgPSB7XG4gICAgICAgIGFjY291bnQ6IHByb2Nlc3MuZW52LkNES19ERVBMT1lfQUNDT1VOVCA/PyBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9BQ0NPVU5ULFxuICAgICAgICByZWdpb246IHByb2Nlc3MuZW52LkNES19ERVBMT1lfUkVHSU9OID8/IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTixcbiAgICAgIH07XG4gICAgICBjb25zdCBhcHAgPSBuZXcgY2RrLkFwcCgpO1xuICAgICAgY29uc3Qgc2VydmljZU5hbWUgPSAnJHtpbmZlcnJlZE5hbWV9JztcbiAgICAgIG5ldyAke2NsYXNzTmFtZX0oYXBwLCBzZXJ2aWNlTmFtZSwgeyBlbnYsIHNlcnZpY2VOYW1lIH0pO1xuICAgICAgYXBwLnN5bnRoKCk7XG4gICAgICBgLFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
package/lib/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./Projalf";
|
package/lib/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
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("./Projalf"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1Byb2phbGZcIlxuIl19
|
package/lib/workflows.d.ts
DELETED
package/lib/workflows.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.workflow = workflow;
|
|
4
|
-
const workflows_model_1 = require("projen/lib/github/workflows-model");
|
|
5
|
-
function workflow(project) {
|
|
6
|
-
const cicdWorkflow = project.github.addWorkflow("ci-cd");
|
|
7
|
-
// Single workflow - triggers on PR and push to main
|
|
8
|
-
cicdWorkflow.on({
|
|
9
|
-
pullRequest: {},
|
|
10
|
-
push: { branches: ["main"] },
|
|
11
|
-
});
|
|
12
|
-
// Reusable job template
|
|
13
|
-
const jobDefaults = {
|
|
14
|
-
runsOn: ["ubuntu-latest"],
|
|
15
|
-
permissions: {
|
|
16
|
-
contents: workflows_model_1.JobPermission.WRITE,
|
|
17
|
-
idToken: workflows_model_1.JobPermission.WRITE,
|
|
18
|
-
},
|
|
19
|
-
steps: [
|
|
20
|
-
{ name: "Checkout", uses: "actions/checkout@v4" },
|
|
21
|
-
{
|
|
22
|
-
name: "Setup Node.js",
|
|
23
|
-
uses: "actions/setup-node@v4",
|
|
24
|
-
with: { "node-version": "20" },
|
|
25
|
-
},
|
|
26
|
-
{ name: "Install dependencies", run: "npm ci" },
|
|
27
|
-
],
|
|
28
|
-
};
|
|
29
|
-
// All jobs in one workflow with proper dependencies
|
|
30
|
-
cicdWorkflow.addJobs({
|
|
31
|
-
test: {
|
|
32
|
-
...jobDefaults,
|
|
33
|
-
steps: [
|
|
34
|
-
...jobDefaults.steps,
|
|
35
|
-
{
|
|
36
|
-
name: "Configure AWS credentials (test)",
|
|
37
|
-
uses: "aws-actions/configure-aws-credentials@v4",
|
|
38
|
-
with: {
|
|
39
|
-
"aws-access-key-id": "${{ secrets.TEST_AWS_ACCESS_KEY_ID }}",
|
|
40
|
-
"aws-secret-access-key": "${{ secrets.TEST_AWS_SECRET_ACCESS_KEY }}",
|
|
41
|
-
"aws-region": "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: "Generate random stage ID",
|
|
46
|
-
id: "stage",
|
|
47
|
-
run: 'echo "STAGE_ID=test-$(shuf -i 10000-99999 -n 1)" >> $GITHUB_OUTPUT',
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: "Deploy Test Stack",
|
|
51
|
-
run: "npm run deploy -- -c stage=${{ steps.stage.outputs.STAGE_ID }} --require-approval never --outputs-file=test.output.json",
|
|
52
|
-
env: {
|
|
53
|
-
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_TEST_ACCOUNT }}",
|
|
54
|
-
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: "Configure AWS credentials for test account",
|
|
59
|
-
uses: "aws-actions/configure-aws-credentials@v1",
|
|
60
|
-
with: {
|
|
61
|
-
"role-to-assume": "arn:aws:iam::${{ secrets.AWS_TEST_ACCOUNT }}:role/github-actions-role",
|
|
62
|
-
"aws-region": "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
name: "Verify identity (TEST)",
|
|
67
|
-
run: "aws sts get-caller-identity",
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
name: "Verify IoT endpoint (TEST)",
|
|
71
|
-
run: "aws iot describe-endpoint --endpoint-type iot:Data-ATS",
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
name: "Run E2E Tests",
|
|
75
|
-
run: "npm run test:e2e",
|
|
76
|
-
env: {
|
|
77
|
-
STAGE: "${{ steps.stage.outputs.STAGE_ID }}",
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
name: "Destroy Test Stack",
|
|
82
|
-
if: "always()",
|
|
83
|
-
run: "npm run destroy -- -c stage=${{ steps.stage.outputs.STAGE_ID }} --force",
|
|
84
|
-
env: {
|
|
85
|
-
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_TEST_ACCOUNT }}",
|
|
86
|
-
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
],
|
|
90
|
-
},
|
|
91
|
-
deploy_dev: {
|
|
92
|
-
...jobDefaults,
|
|
93
|
-
needs: ["test"],
|
|
94
|
-
if: "github.event_name == 'pull_request'",
|
|
95
|
-
steps: [
|
|
96
|
-
...jobDefaults.steps,
|
|
97
|
-
{
|
|
98
|
-
name: "Configure AWS credentials",
|
|
99
|
-
uses: "aws-actions/configure-aws-credentials@v4",
|
|
100
|
-
with: {
|
|
101
|
-
"aws-access-key-id": "${{ secrets.AWS_ACCESS_KEY_ID }}",
|
|
102
|
-
"aws-secret-access-key": "${{ secrets.AWS_SECRET_ACCESS_KEY }}",
|
|
103
|
-
"aws-region": "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
104
|
-
},
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
name: "Deploy Dev",
|
|
108
|
-
run: "npm run deploy -- -c stage=dev --require-approval never --outputs-file=test.output.json",
|
|
109
|
-
env: {
|
|
110
|
-
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_DEV_ACCOUNT }}",
|
|
111
|
-
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
112
|
-
},
|
|
113
|
-
},
|
|
114
|
-
],
|
|
115
|
-
},
|
|
116
|
-
deploy_prod: {
|
|
117
|
-
...jobDefaults,
|
|
118
|
-
needs: ["test"],
|
|
119
|
-
if: "github.ref == 'refs/heads/main' && github.event_name == 'push'",
|
|
120
|
-
steps: [
|
|
121
|
-
...jobDefaults.steps,
|
|
122
|
-
{
|
|
123
|
-
name: "Configure AWS credentials",
|
|
124
|
-
uses: "aws-actions/configure-aws-credentials@v4",
|
|
125
|
-
with: {
|
|
126
|
-
"aws-access-key-id": "${{ secrets.AWS_ACCESS_KEY_ID }}",
|
|
127
|
-
"aws-secret-access-key": "${{ secrets.AWS_SECRET_ACCESS_KEY }}",
|
|
128
|
-
"aws-region": "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
name: "Deploy Prod",
|
|
133
|
-
run: "npm run deploy -- -c stage=prod --require-approval never --outputs-file=test.output.json",
|
|
134
|
-
env: {
|
|
135
|
-
CDK_DEPLOY_ACCOUNT: "${{ secrets.AWS_PROD_ACCOUNT }}",
|
|
136
|
-
CDK_DEPLOY_REGION: "${{ secrets.AWS_REGION || 'eu-central-1' }}",
|
|
137
|
-
},
|
|
138
|
-
},
|
|
139
|
-
],
|
|
140
|
-
},
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3dzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dvcmtmbG93cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLDRCQThJQztBQWpKRCx1RUFBaUU7QUFHakUsU0FBZ0IsUUFBUSxDQUFDLE9BQWdCO0lBQ3ZDLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRXpELG9EQUFvRDtJQUNwRCxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQ2QsV0FBVyxFQUFFLEVBQUU7UUFDZixJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRTtLQUM3QixDQUFDLENBQUE7SUFFRix3QkFBd0I7SUFDeEIsTUFBTSxXQUFXLEdBQUc7UUFDbEIsTUFBTSxFQUFFLENBQUMsZUFBZSxDQUFDO1FBQ3pCLFdBQVcsRUFBRTtZQUNYLFFBQVEsRUFBRSwrQkFBYSxDQUFDLEtBQUs7WUFDN0IsT0FBTyxFQUFFLCtCQUFhLENBQUMsS0FBSztTQUM3QjtRQUNELEtBQUssRUFBRTtZQUNMLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDakQ7Z0JBQ0UsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSx1QkFBdUI7Z0JBQzdCLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUU7YUFDL0I7WUFDRCxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFO1NBQ2hEO0tBQ0YsQ0FBQTtJQUVELG9EQUFvRDtJQUNwRCxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQ25CLElBQUksRUFBRTtZQUNKLEdBQUcsV0FBVztZQUNkLEtBQUssRUFBRTtnQkFDTCxHQUFHLFdBQVcsQ0FBQyxLQUFLO2dCQUNwQjtvQkFDRSxJQUFJLEVBQUUsa0NBQWtDO29CQUN4QyxJQUFJLEVBQUUsMENBQTBDO29CQUNoRCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsdUNBQXVDO3dCQUM1RCx1QkFBdUIsRUFDckIsMkNBQTJDO3dCQUM3QyxZQUFZLEVBQUUsNkNBQTZDO3FCQUM1RDtpQkFDRjtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsMEJBQTBCO29CQUNoQyxFQUFFLEVBQUUsT0FBTztvQkFDWCxHQUFHLEVBQUUsb0VBQW9FO2lCQUMxRTtnQkFDRDtvQkFDRSxJQUFJLEVBQUUsbUJBQW1CO29CQUN6QixHQUFHLEVBQUUseUhBQXlIO29CQUM5SCxHQUFHLEVBQUU7d0JBQ0gsa0JBQWtCLEVBQUUsaUNBQWlDO3dCQUNyRCxpQkFBaUIsRUFBRSw2Q0FBNkM7cUJBQ2pFO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSw0Q0FBNEM7b0JBQ2xELElBQUksRUFBRSwwQ0FBMEM7b0JBQ2hELElBQUksRUFBRTt3QkFDSixnQkFBZ0IsRUFDZCx1RUFBdUU7d0JBQ3pFLFlBQVksRUFBRSw2Q0FBNkM7cUJBQzVEO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSx3QkFBd0I7b0JBQzlCLEdBQUcsRUFBRSw2QkFBNkI7aUJBQ25DO2dCQUNEO29CQUNFLElBQUksRUFBRSw0QkFBNEI7b0JBQ2xDLEdBQUcsRUFBRSx3REFBd0Q7aUJBQzlEO2dCQUNEO29CQUNFLElBQUksRUFBRSxlQUFlO29CQUNyQixHQUFHLEVBQUUsa0JBQWtCO29CQUN2QixHQUFHLEVBQUU7d0JBQ0gsS0FBSyxFQUFFLHFDQUFxQztxQkFDN0M7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLG9CQUFvQjtvQkFDMUIsRUFBRSxFQUFFLFVBQVU7b0JBQ2QsR0FBRyxFQUFFLHlFQUF5RTtvQkFDOUUsR0FBRyxFQUFFO3dCQUNILGtCQUFrQixFQUFFLGlDQUFpQzt3QkFDckQsaUJBQWlCLEVBQUUsNkNBQTZDO3FCQUNqRTtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxVQUFVLEVBQUU7WUFDVixHQUFHLFdBQVc7WUFDZCxLQUFLLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDZixFQUFFLEVBQUUscUNBQXFDO1lBQ3pDLEtBQUssRUFBRTtnQkFDTCxHQUFHLFdBQVcsQ0FBQyxLQUFLO2dCQUNwQjtvQkFDRSxJQUFJLEVBQUUsMkJBQTJCO29CQUNqQyxJQUFJLEVBQUUsMENBQTBDO29CQUNoRCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsa0NBQWtDO3dCQUN2RCx1QkFBdUIsRUFBRSxzQ0FBc0M7d0JBQy9ELFlBQVksRUFBRSw2Q0FBNkM7cUJBQzVEO2lCQUNGO2dCQUNEO29CQUNFLElBQUksRUFBRSxZQUFZO29CQUNsQixHQUFHLEVBQUUseUZBQXlGO29CQUM5RixHQUFHLEVBQUU7d0JBQ0gsa0JBQWtCLEVBQUUsZ0NBQWdDO3dCQUNwRCxpQkFBaUIsRUFBRSw2Q0FBNkM7cUJBQ2pFO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELFdBQVcsRUFBRTtZQUNYLEdBQUcsV0FBVztZQUNkLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNmLEVBQUUsRUFBRSxnRUFBZ0U7WUFDcEUsS0FBSyxFQUFFO2dCQUNMLEdBQUcsV0FBVyxDQUFDLEtBQUs7Z0JBQ3BCO29CQUNFLElBQUksRUFBRSwyQkFBMkI7b0JBQ2pDLElBQUksRUFBRSwwQ0FBMEM7b0JBQ2hELElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxrQ0FBa0M7d0JBQ3ZELHVCQUF1QixFQUFFLHNDQUFzQzt3QkFDL0QsWUFBWSxFQUFFLDZDQUE2QztxQkFDNUQ7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsSUFBSSxFQUFFLGFBQWE7b0JBQ25CLEdBQUcsRUFBRSwwRkFBMEY7b0JBQy9GLEdBQUcsRUFBRTt3QkFDSCxrQkFBa0IsRUFBRSxpQ0FBaUM7d0JBQ3JELGlCQUFpQixFQUFFLDZDQUE2QztxQkFDakU7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpvYlBlcm1pc3Npb24gfSBmcm9tIFwicHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsXCJcbmltcG9ydCB7IFByb2phbGYgfSBmcm9tIFwiLi9Qcm9qYWxmXCJcblxuZXhwb3J0IGZ1bmN0aW9uIHdvcmtmbG93KHByb2plY3Q6IFByb2phbGYpIHtcbiAgY29uc3QgY2ljZFdvcmtmbG93ID0gcHJvamVjdC5naXRodWIhLmFkZFdvcmtmbG93KFwiY2ktY2RcIilcblxuICAvLyBTaW5nbGUgd29ya2Zsb3cgLSB0cmlnZ2VycyBvbiBQUiBhbmQgcHVzaCB0byBtYWluXG4gIGNpY2RXb3JrZmxvdy5vbih7XG4gICAgcHVsbFJlcXVlc3Q6IHt9LFxuICAgIHB1c2g6IHsgYnJhbmNoZXM6IFtcIm1haW5cIl0gfSxcbiAgfSlcblxuICAvLyBSZXVzYWJsZSBqb2IgdGVtcGxhdGVcbiAgY29uc3Qgam9iRGVmYXVsdHMgPSB7XG4gICAgcnVuc09uOiBbXCJ1YnVudHUtbGF0ZXN0XCJdLFxuICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICBjb250ZW50czogSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgIGlkVG9rZW46IEpvYlBlcm1pc3Npb24uV1JJVEUsXG4gICAgfSxcbiAgICBzdGVwczogW1xuICAgICAgeyBuYW1lOiBcIkNoZWNrb3V0XCIsIHVzZXM6IFwiYWN0aW9ucy9jaGVja291dEB2NFwiIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiU2V0dXAgTm9kZS5qc1wiLFxuICAgICAgICB1c2VzOiBcImFjdGlvbnMvc2V0dXAtbm9kZUB2NFwiLFxuICAgICAgICB3aXRoOiB7IFwibm9kZS12ZXJzaW9uXCI6IFwiMjBcIiB9LFxuICAgICAgfSxcbiAgICAgIHsgbmFtZTogXCJJbnN0YWxsIGRlcGVuZGVuY2llc1wiLCBydW46IFwibnBtIGNpXCIgfSxcbiAgICBdLFxuICB9XG5cbiAgLy8gQWxsIGpvYnMgaW4gb25lIHdvcmtmbG93IHdpdGggcHJvcGVyIGRlcGVuZGVuY2llc1xuICBjaWNkV29ya2Zsb3cuYWRkSm9icyh7XG4gICAgdGVzdDoge1xuICAgICAgLi4uam9iRGVmYXVsdHMsXG4gICAgICBzdGVwczogW1xuICAgICAgICAuLi5qb2JEZWZhdWx0cy5zdGVwcyxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiQ29uZmlndXJlIEFXUyBjcmVkZW50aWFscyAodGVzdClcIixcbiAgICAgICAgICB1c2VzOiBcImF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjRcIixcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBcImF3cy1hY2Nlc3Mta2V5LWlkXCI6IFwiJHt7IHNlY3JldHMuVEVTVF9BV1NfQUNDRVNTX0tFWV9JRCB9fVwiLFxuICAgICAgICAgICAgXCJhd3Mtc2VjcmV0LWFjY2Vzcy1rZXlcIjpcbiAgICAgICAgICAgICAgXCIke3sgc2VjcmV0cy5URVNUX0FXU19TRUNSRVRfQUNDRVNTX0tFWSB9fVwiLFxuICAgICAgICAgICAgXCJhd3MtcmVnaW9uXCI6IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkdlbmVyYXRlIHJhbmRvbSBzdGFnZSBJRFwiLFxuICAgICAgICAgIGlkOiBcInN0YWdlXCIsXG4gICAgICAgICAgcnVuOiAnZWNobyBcIlNUQUdFX0lEPXRlc3QtJChzaHVmIC1pIDEwMDAwLTk5OTk5IC1uIDEpXCIgPj4gJEdJVEhVQl9PVVRQVVQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJEZXBsb3kgVGVzdCBTdGFja1wiLFxuICAgICAgICAgIHJ1bjogXCJucG0gcnVuIGRlcGxveSAtLSAtYyBzdGFnZT0ke3sgc3RlcHMuc3RhZ2Uub3V0cHV0cy5TVEFHRV9JRCB9fSAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1vdXRwdXRzLWZpbGU9dGVzdC5vdXRwdXQuanNvblwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgQ0RLX0RFUExPWV9BQ0NPVU5UOiBcIiR7eyBzZWNyZXRzLkFXU19URVNUX0FDQ09VTlQgfX1cIixcbiAgICAgICAgICAgIENES19ERVBMT1lfUkVHSU9OOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJDb25maWd1cmUgQVdTIGNyZWRlbnRpYWxzIGZvciB0ZXN0IGFjY291bnRcIixcbiAgICAgICAgICB1c2VzOiBcImF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjFcIixcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBcInJvbGUtdG8tYXNzdW1lXCI6XG4gICAgICAgICAgICAgIFwiYXJuOmF3czppYW06OiR7eyBzZWNyZXRzLkFXU19URVNUX0FDQ09VTlQgfX06cm9sZS9naXRodWItYWN0aW9ucy1yb2xlXCIsXG4gICAgICAgICAgICBcImF3cy1yZWdpb25cIjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICdldS1jZW50cmFsLTEnIH19XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiVmVyaWZ5IGlkZW50aXR5IChURVNUKVwiLFxuICAgICAgICAgIHJ1bjogXCJhd3Mgc3RzIGdldC1jYWxsZXItaWRlbnRpdHlcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiVmVyaWZ5IElvVCBlbmRwb2ludCAoVEVTVClcIixcbiAgICAgICAgICBydW46IFwiYXdzIGlvdCBkZXNjcmliZS1lbmRwb2ludCAtLWVuZHBvaW50LXR5cGUgaW90OkRhdGEtQVRTXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIlJ1biBFMkUgVGVzdHNcIixcbiAgICAgICAgICBydW46IFwibnBtIHJ1biB0ZXN0OmUyZVwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgU1RBR0U6IFwiJHt7IHN0ZXBzLnN0YWdlLm91dHB1dHMuU1RBR0VfSUQgfX1cIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJEZXN0cm95IFRlc3QgU3RhY2tcIixcbiAgICAgICAgICBpZjogXCJhbHdheXMoKVwiLFxuICAgICAgICAgIHJ1bjogXCJucG0gcnVuIGRlc3Ryb3kgLS0gLWMgc3RhZ2U9JHt7IHN0ZXBzLnN0YWdlLm91dHB1dHMuU1RBR0VfSUQgfX0gLS1mb3JjZVwiLFxuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgQ0RLX0RFUExPWV9BQ0NPVU5UOiBcIiR7eyBzZWNyZXRzLkFXU19URVNUX0FDQ09VTlQgfX1cIixcbiAgICAgICAgICAgIENES19ERVBMT1lfUkVHSU9OOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGRlcGxveV9kZXY6IHtcbiAgICAgIC4uLmpvYkRlZmF1bHRzLFxuICAgICAgbmVlZHM6IFtcInRlc3RcIl0sXG4gICAgICBpZjogXCJnaXRodWIuZXZlbnRfbmFtZSA9PSAncHVsbF9yZXF1ZXN0J1wiLFxuICAgICAgc3RlcHM6IFtcbiAgICAgICAgLi4uam9iRGVmYXVsdHMuc3RlcHMsXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkNvbmZpZ3VyZSBBV1MgY3JlZGVudGlhbHNcIixcbiAgICAgICAgICB1c2VzOiBcImF3cy1hY3Rpb25zL2NvbmZpZ3VyZS1hd3MtY3JlZGVudGlhbHNAdjRcIixcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBcImF3cy1hY2Nlc3Mta2V5LWlkXCI6IFwiJHt7IHNlY3JldHMuQVdTX0FDQ0VTU19LRVlfSUQgfX1cIixcbiAgICAgICAgICAgIFwiYXdzLXNlY3JldC1hY2Nlc3Mta2V5XCI6IFwiJHt7IHNlY3JldHMuQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZIH19XCIsXG4gICAgICAgICAgICBcImF3cy1yZWdpb25cIjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICdldS1jZW50cmFsLTEnIH19XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiRGVwbG95IERldlwiLFxuICAgICAgICAgIHJ1bjogXCJucG0gcnVuIGRlcGxveSAtLSAtYyBzdGFnZT1kZXYgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlPXRlc3Qub3V0cHV0Lmpzb25cIixcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfQUNDT1VOVDogXCIke3sgc2VjcmV0cy5BV1NfREVWX0FDQ09VTlQgfX1cIixcbiAgICAgICAgICAgIENES19ERVBMT1lfUkVHSU9OOiBcIiR7eyBzZWNyZXRzLkFXU19SRUdJT04gfHwgJ2V1LWNlbnRyYWwtMScgfX1cIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGRlcGxveV9wcm9kOiB7XG4gICAgICAuLi5qb2JEZWZhdWx0cyxcbiAgICAgIG5lZWRzOiBbXCJ0ZXN0XCJdLFxuICAgICAgaWY6IFwiZ2l0aHViLnJlZiA9PSAncmVmcy9oZWFkcy9tYWluJyAmJiBnaXRodWIuZXZlbnRfbmFtZSA9PSAncHVzaCdcIixcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIC4uLmpvYkRlZmF1bHRzLnN0ZXBzLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJDb25maWd1cmUgQVdTIGNyZWRlbnRpYWxzXCIsXG4gICAgICAgICAgdXNlczogXCJhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0XCIsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgXCJhd3MtYWNjZXNzLWtleS1pZFwiOiBcIiR7eyBzZWNyZXRzLkFXU19BQ0NFU1NfS0VZX0lEIH19XCIsXG4gICAgICAgICAgICBcImF3cy1zZWNyZXQtYWNjZXNzLWtleVwiOiBcIiR7eyBzZWNyZXRzLkFXU19TRUNSRVRfQUNDRVNTX0tFWSB9fVwiLFxuICAgICAgICAgICAgXCJhd3MtcmVnaW9uXCI6IFwiJHt7IHNlY3JldHMuQVdTX1JFR0lPTiB8fCAnZXUtY2VudHJhbC0xJyB9fVwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcIkRlcGxveSBQcm9kXCIsXG4gICAgICAgICAgcnVuOiBcIm5wbSBydW4gZGVwbG95IC0tIC1jIHN0YWdlPXByb2QgLS1yZXF1aXJlLWFwcHJvdmFsIG5ldmVyIC0tb3V0cHV0cy1maWxlPXRlc3Qub3V0cHV0Lmpzb25cIixcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIENES19ERVBMT1lfQUNDT1VOVDogXCIke3sgc2VjcmV0cy5BV1NfUFJPRF9BQ0NPVU5UIH19XCIsXG4gICAgICAgICAgICBDREtfREVQTE9ZX1JFR0lPTjogXCIke3sgc2VjcmV0cy5BV1NfUkVHSU9OIHx8ICdldS1jZW50cmFsLTEnIH19XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
|