@glicogh/healthcare-cdk 0.1.10 → 0.1.12
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/README.md +31 -2
- package/dist/lib/microservice-infra-auth.d.ts +5 -0
- package/dist/lib/microservice-infra-auth.js +81 -0
- package/dist/lib/microservice-laravel-based.js +5 -3
- package/dist/lib/microservice-mysql.js +5 -3
- package/dist/lib/microservice-network.js +1 -24
- package/dist/lib/microservice-notification-service.js +3 -1
- package/dist/lib/microservice-portal.js +3 -1
- package/dist/lib/microservice-redis.js +3 -1
- package/dist/scripts/post-deployment-after-all.sh +2 -0
- package/dist/scripts/post-deployment-api-gateway.sh +35 -0
- package/dist/scripts/post-deployment-before-all.sh +166 -0
- package/dist/scripts/post-deployment-clone-repo.sh +12 -0
- package/dist/scripts/post-deployment-laravel-based.sh +87 -0
- package/dist/scripts/post-deployment-mysql.sh +22 -0
- package/dist/scripts/post-deployment-notification-service.sh +28 -0
- package/dist/scripts/post-deployment-portal.sh +32 -0
- package/dist/scripts/post-deployment-redis.sh +9 -0
- package/dist/util/constants.d.ts +3 -1
- package/dist/util/constants.js +3 -1
- package/dist/util/getEc2UserData.js +3 -3
- package/dist/util/getInstanceStorage.d.ts +5 -0
- package/dist/util/getInstanceStorage.js +37 -0
- package/dist/util/initCdkStack.js +5 -1
- package/package.json +2 -2
- package/scripts/post-deployment-after-all.sh +2 -0
- package/scripts/post-deployment-api-gateway.sh +35 -0
- package/scripts/post-deployment-before-all.sh +166 -0
- package/scripts/post-deployment-clone-repo.sh +12 -0
- package/scripts/post-deployment-laravel-based.sh +87 -0
- package/scripts/post-deployment-mysql.sh +22 -0
- package/scripts/post-deployment-notification-service.sh +28 -0
- package/scripts/post-deployment-portal.sh +32 -0
- package/scripts/post-deployment-redis.sh +9 -0
package/README.md
CHANGED
|
@@ -87,7 +87,7 @@ MicroserviceMySQL
|
|
|
87
87
|
The following stack are meant to be deployed once and shared across the microservices. These would typically be deployed from a local machine as opposed to within a CI/CD pipeline
|
|
88
88
|
|
|
89
89
|
- MicroserviceNetwork
|
|
90
|
-
-
|
|
90
|
+
- MicroserviceInfraAuth
|
|
91
91
|
- MicroserviceRedis
|
|
92
92
|
- MicroserviceMySQL
|
|
93
93
|
|
|
@@ -99,8 +99,9 @@ cdk --profile glicogh-uat --context env=uat deploy MicroserviceNetwork
|
|
|
99
99
|
|
|
100
100
|
### Pipeline-based stack
|
|
101
101
|
|
|
102
|
-
The following stack on the other hand, are meant to deploy a new set of resources on each CDK deployment
|
|
102
|
+
The following stack on the other hand, are meant to deploy a new set of resources on each CDK deployment. These can also be thought of as the stack that have a GIT repository.
|
|
103
103
|
|
|
104
|
+
- MicroserviceApiGateway
|
|
104
105
|
- MicroserviceLaravelBased
|
|
105
106
|
- MicroserviceNotificationService
|
|
106
107
|
|
|
@@ -110,6 +111,34 @@ These are typically microservice stack and will be triggered each time code is m
|
|
|
110
111
|
cdk --profile glicogh-uat --context env=uat --context version=1.0.1 --context service=account deploy
|
|
111
112
|
```
|
|
112
113
|
|
|
114
|
+
These stack can also be versioned.
|
|
115
|
+
|
|
113
116
|
> The service option can also be passed in a .env
|
|
114
117
|
|
|
115
118
|
The above command is what you would run in the CDK CLI. However, you would typically be running the deployment in a CI/CD pipeline such as Github Actions, in which case the command may be different. You would have to refer to the CI/CD platform's documentation for how to achieve this.
|
|
119
|
+
|
|
120
|
+
#### Using as dependency
|
|
121
|
+
|
|
122
|
+
Follow these steps to setup CDK in a repository.
|
|
123
|
+
|
|
124
|
+
> This assumes you are in the root of the project
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
# delete CDK folder if it already exists
|
|
128
|
+
rm -rf .infra/cdk
|
|
129
|
+
# create CDK folder
|
|
130
|
+
mkdir -p .infra/cdk
|
|
131
|
+
# change working directory to the CDK directory
|
|
132
|
+
cd .infra/cdk
|
|
133
|
+
# initialize CDK
|
|
134
|
+
cdk init app --language typescript
|
|
135
|
+
# install package as a dependency
|
|
136
|
+
npm i @glicogh/healthcare-cdk
|
|
137
|
+
# copy env
|
|
138
|
+
cp node_modules/@glicogh/healthcare-cdk/.env.example .env.uat
|
|
139
|
+
cp node_modules/@glicogh/healthcare-cdk/.env.example .env.prod
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Now you can edit the .env files for each of the enviroments that apply to your project. The content of `.env.example` has variables that apply to all supported services/projects, so you may edit the ones that apply to your target service/project. Also, the copy commands only target the `uat` and `prod` environements, but you may copy it for additional environments if needed.
|
|
143
|
+
|
|
144
|
+
> For the laravel-based projects, the [package](https://github.com/glicogh/healthcare-laravel-package) is able to perform all the steps/commands for you by running `php artisan glico:healthcare:microservice:cdk`
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MicroserviceInfraAuth = void 0;
|
|
4
|
+
const cdk = require("aws-cdk-lib");
|
|
5
|
+
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
6
|
+
const constants_1 = require("../util/constants");
|
|
7
|
+
class MicroserviceInfraAuth extends cdk.Stack {
|
|
8
|
+
constructor(scope, id, props) {
|
|
9
|
+
super(scope, id, props);
|
|
10
|
+
if (!initBuildConfig_1.buildConfig) {
|
|
11
|
+
throw new Error('BuildConfig not set');
|
|
12
|
+
}
|
|
13
|
+
// create base role for microservice ec2 instances
|
|
14
|
+
new cdk.aws_iam.Role(this, (0, constants_1.getConstant)('baseRoleName'), {
|
|
15
|
+
roleName: (0, constants_1.getConstant)('baseRoleName'),
|
|
16
|
+
assumedBy: new cdk.aws_iam.ServicePrincipal('ec2.amazonaws.com'),
|
|
17
|
+
managedPolicies: [],
|
|
18
|
+
inlinePolicies: {
|
|
19
|
+
microserviceEc2InstanceRolePolicy: new cdk.aws_iam.PolicyDocument({
|
|
20
|
+
statements: [
|
|
21
|
+
new cdk.aws_iam.PolicyStatement({
|
|
22
|
+
sid: 'AllowInstanceToReadEnvFromS3',
|
|
23
|
+
resources: [`arn:aws:s3:::${(0, constants_1.getConstant)('publicBucketName')}/*`],
|
|
24
|
+
actions: ['s3:*'],
|
|
25
|
+
effect: cdk.aws_iam.Effect.ALLOW,
|
|
26
|
+
}),
|
|
27
|
+
new cdk.aws_iam.PolicyStatement({
|
|
28
|
+
sid: 'AllowInstanceToReadSSMParameters',
|
|
29
|
+
resources: [`arn:aws:ssm:${initBuildConfig_1.buildConfig.aws.region}:${initBuildConfig_1.buildConfig.aws.account}:parameter/${initBuildConfig_1.buildConfig.envName}/microservices/*`],
|
|
30
|
+
actions: ['ssm:GetParameter*'],
|
|
31
|
+
}),
|
|
32
|
+
],
|
|
33
|
+
}),
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
// create role/permissions for Github to invoke CDK
|
|
37
|
+
const githubProvider = new cdk.aws_iam.OpenIdConnectProvider(this, 'GithubOpenIdProvider', {
|
|
38
|
+
url: 'https://token.actions.githubusercontent.com',
|
|
39
|
+
clientIds: ['sts.amazonaws.com'],
|
|
40
|
+
});
|
|
41
|
+
const githubPrincipal = new cdk.aws_iam.OpenIdConnectPrincipal(githubProvider).withConditions({
|
|
42
|
+
StringLike: {
|
|
43
|
+
'token.actions.githubusercontent.com:sub': 'repo:glicogh/*',
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
new cdk.aws_iam.Role(this, 'GithubCdkDeploymentRole', {
|
|
47
|
+
assumedBy: githubPrincipal,
|
|
48
|
+
description: 'Role assumed by Github for deploying with CDK',
|
|
49
|
+
roleName: 'github-cdk-deployment-role',
|
|
50
|
+
maxSessionDuration: cdk.Duration.hours(1),
|
|
51
|
+
inlinePolicies: {
|
|
52
|
+
GithubCdkDeploymentPolicy: new cdk.aws_iam.PolicyDocument({
|
|
53
|
+
statements: [
|
|
54
|
+
new cdk.aws_iam.PolicyStatement({
|
|
55
|
+
sid: 'AssumeExistingCdkRoles',
|
|
56
|
+
effect: cdk.aws_iam.Effect.ALLOW,
|
|
57
|
+
actions: ['sts:AssumeRole'],
|
|
58
|
+
resources: [`arn:aws:iam::${this.account}:role/cdk-*`],
|
|
59
|
+
}),
|
|
60
|
+
// new cdk.aws_iam.PolicyStatement({
|
|
61
|
+
// sid: 'AllowAccessToExistingCfnCdkToolkit',
|
|
62
|
+
// effect: cdk.aws_iam.Effect.ALLOW,
|
|
63
|
+
// actions: [
|
|
64
|
+
// 'cloudformation:DescribeStacks',
|
|
65
|
+
// 'cloudformation:GetTemplate',
|
|
66
|
+
// 'cloudformation:DeleteChangeSet',
|
|
67
|
+
// 'cloudformation:CreateChangeSet',
|
|
68
|
+
// 'cloudformation:DescribeChangeSet',
|
|
69
|
+
// 'cloudformation:ExecuteChangeSet',
|
|
70
|
+
// 'cloudformation:DescribeStackEvents',
|
|
71
|
+
// ],
|
|
72
|
+
// resources: [`arn:aws:cloudformation:${this.region}:${this.account}:stack/CDKToolkit/*`],
|
|
73
|
+
// }),
|
|
74
|
+
],
|
|
75
|
+
}),
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.MicroserviceInfraAuth = MicroserviceInfraAuth;
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLWluZnJhLWF1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLWluZnJhLWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLDZEQUFzRDtBQUN0RCxpREFBZ0Q7QUFFaEQsTUFBYSxxQkFBc0IsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyw2QkFBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxrREFBa0Q7UUFDbEQsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBQSx1QkFBVyxFQUFDLGNBQWMsQ0FBVyxFQUFFO1lBQ2hFLFFBQVEsRUFBRSxJQUFBLHVCQUFXLEVBQUMsY0FBYyxDQUFXO1lBQy9DLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLENBQUM7WUFDaEUsZUFBZSxFQUFFLEVBQUU7WUFDbkIsY0FBYyxFQUFFO2dCQUNkLGlDQUFpQyxFQUFFLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7b0JBQ2hFLFVBQVUsRUFBRTt3QkFDVixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDOzRCQUM5QixHQUFHLEVBQUUsOEJBQThCOzRCQUNuQyxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsSUFBQSx1QkFBVyxFQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQzs0QkFDaEUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDOzRCQUNqQixNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSzt5QkFDakMsQ0FBQzt3QkFDRixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDOzRCQUM5QixHQUFHLEVBQUUsa0NBQWtDOzRCQUN2QyxTQUFTLEVBQUUsQ0FBQyxlQUFlLDZCQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSw2QkFBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLGNBQWMsNkJBQVcsQ0FBQyxPQUFPLGtCQUFrQixDQUFDOzRCQUNoSSxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt5QkFDL0IsQ0FBQztxQkFDSDtpQkFDRixDQUFDO2FBQ0g7U0FDRixDQUFDLENBQUM7UUFFSCxtREFBbUQ7UUFDbkQsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRTtZQUN6RixHQUFHLEVBQUUsNkNBQTZDO1lBQ2xELFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUVILE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxjQUFjLENBQUM7WUFDNUYsVUFBVSxFQUFFO2dCQUNWLHlDQUF5QyxFQUFFLGdCQUFnQjthQUM1RDtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO1lBQ3BELFNBQVMsRUFBRSxlQUFlO1lBQzFCLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsUUFBUSxFQUFFLDRCQUE0QjtZQUN0QyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDekMsY0FBYyxFQUFFO2dCQUNkLHlCQUF5QixFQUFFLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUM7b0JBQ3hELFVBQVUsRUFBRTt3QkFDVixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDOzRCQUM5QixHQUFHLEVBQUUsd0JBQXdCOzRCQUM3QixNQUFNLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSzs0QkFDaEMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7NEJBQzNCLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixJQUFJLENBQUMsT0FBTyxhQUFhLENBQUM7eUJBQ3ZELENBQUM7d0JBQ0Ysb0NBQW9DO3dCQUNwQywrQ0FBK0M7d0JBQy9DLHNDQUFzQzt3QkFDdEMsZUFBZTt3QkFDZix1Q0FBdUM7d0JBQ3ZDLG9DQUFvQzt3QkFDcEMsd0NBQXdDO3dCQUN4Qyx3Q0FBd0M7d0JBQ3hDLDBDQUEwQzt3QkFDMUMseUNBQXlDO3dCQUN6Qyw0Q0FBNEM7d0JBQzVDLE9BQU87d0JBQ1AsNkZBQTZGO3dCQUM3RixNQUFNO3FCQUNQO2lCQUNGLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQTdFRCxzREE2RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBidWlsZENvbmZpZyB9IGZyb20gJy4uL3V0aWwvaW5pdEJ1aWxkQ29uZmlnJztcbmltcG9ydCB7IGdldENvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuXG5leHBvcnQgY2xhc3MgTWljcm9zZXJ2aWNlSW5mcmFBdXRoIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIGJhc2Ugcm9sZSBmb3IgbWljcm9zZXJ2aWNlIGVjMiBpbnN0YW5jZXNcbiAgICBuZXcgY2RrLmF3c19pYW0uUm9sZSh0aGlzLCBnZXRDb25zdGFudCgnYmFzZVJvbGVOYW1lJykgYXMgc3RyaW5nLCB7XG4gICAgICByb2xlTmFtZTogZ2V0Q29uc3RhbnQoJ2Jhc2VSb2xlTmFtZScpIGFzIHN0cmluZyxcbiAgICAgIGFzc3VtZWRCeTogbmV3IGNkay5hd3NfaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2VjMi5hbWF6b25hd3MuY29tJyksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtdLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgbWljcm9zZXJ2aWNlRWMySW5zdGFuY2VSb2xlUG9saWN5OiBuZXcgY2RrLmF3c19pYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0luc3RhbmNlVG9SZWFkRW52RnJvbVMzJyxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6czM6Ojoke2dldENvbnN0YW50KCdwdWJsaWNCdWNrZXROYW1lJyl9LypgXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzMzoqJ10sXG4gICAgICAgICAgICAgIGVmZmVjdDogY2RrLmF3c19pYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dJbnN0YW5jZVRvUmVhZFNTTVBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzc206JHtidWlsZENvbmZpZy5hd3MucmVnaW9ufToke2J1aWxkQ29uZmlnLmF3cy5hY2NvdW50fTpwYXJhbWV0ZXIvJHtidWlsZENvbmZpZy5lbnZOYW1lfS9taWNyb3NlcnZpY2VzLypgXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzc206R2V0UGFyYW1ldGVyKiddLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gY3JlYXRlIHJvbGUvcGVybWlzc2lvbnMgZm9yIEdpdGh1YiB0byBpbnZva2UgQ0RLXG4gICAgY29uc3QgZ2l0aHViUHJvdmlkZXIgPSBuZXcgY2RrLmF3c19pYW0uT3BlbklkQ29ubmVjdFByb3ZpZGVyKHRoaXMsICdHaXRodWJPcGVuSWRQcm92aWRlcicsIHtcbiAgICAgIHVybDogJ2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20nLFxuICAgICAgY2xpZW50SWRzOiBbJ3N0cy5hbWF6b25hd3MuY29tJ10sXG4gICAgfSk7XG5cbiAgICBjb25zdCBnaXRodWJQcmluY2lwYWwgPSBuZXcgY2RrLmF3c19pYW0uT3BlbklkQ29ubmVjdFByaW5jaXBhbChnaXRodWJQcm92aWRlcikud2l0aENvbmRpdGlvbnMoe1xuICAgICAgU3RyaW5nTGlrZToge1xuICAgICAgICAndG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb206c3ViJzogJ3JlcG86Z2xpY29naC8qJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLmF3c19pYW0uUm9sZSh0aGlzLCAnR2l0aHViQ2RrRGVwbG95bWVudFJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IGdpdGh1YlByaW5jaXBhbCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUm9sZSBhc3N1bWVkIGJ5IEdpdGh1YiBmb3IgZGVwbG95aW5nIHdpdGggQ0RLJyxcbiAgICAgIHJvbGVOYW1lOiAnZ2l0aHViLWNkay1kZXBsb3ltZW50LXJvbGUnLFxuICAgICAgbWF4U2Vzc2lvbkR1cmF0aW9uOiBjZGsuRHVyYXRpb24uaG91cnMoMSksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBHaXRodWJDZGtEZXBsb3ltZW50UG9saWN5OiBuZXcgY2RrLmF3c19pYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBc3N1bWVFeGlzdGluZ0Nka1JvbGVzJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBjZGsuYXdzX2lhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsnc3RzOkFzc3VtZVJvbGUnXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6aWFtOjoke3RoaXMuYWNjb3VudH06cm9sZS9jZGstKmBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvLyBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIC8vICAgc2lkOiAnQWxsb3dBY2Nlc3NUb0V4aXN0aW5nQ2ZuQ2RrVG9vbGtpdCcsXG4gICAgICAgICAgICAvLyAgIGVmZmVjdDogY2RrLmF3c19pYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgLy8gICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAvLyAgICAgJ2Nsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tzJyxcbiAgICAgICAgICAgIC8vICAgICAnY2xvdWRmb3JtYXRpb246R2V0VGVtcGxhdGUnLFxuICAgICAgICAgICAgLy8gICAgICdjbG91ZGZvcm1hdGlvbjpEZWxldGVDaGFuZ2VTZXQnLFxuICAgICAgICAgICAgLy8gICAgICdjbG91ZGZvcm1hdGlvbjpDcmVhdGVDaGFuZ2VTZXQnLFxuICAgICAgICAgICAgLy8gICAgICdjbG91ZGZvcm1hdGlvbjpEZXNjcmliZUNoYW5nZVNldCcsXG4gICAgICAgICAgICAvLyAgICAgJ2Nsb3VkZm9ybWF0aW9uOkV4ZWN1dGVDaGFuZ2VTZXQnLFxuICAgICAgICAgICAgLy8gICAgICdjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrRXZlbnRzJyxcbiAgICAgICAgICAgIC8vICAgXSxcbiAgICAgICAgICAgIC8vICAgcmVzb3VyY2VzOiBbYGFybjphd3M6Y2xvdWRmb3JtYXRpb246JHt0aGlzLnJlZ2lvbn06JHt0aGlzLmFjY291bnR9OnN0YWNrL0NES1Rvb2xraXQvKmBdLFxuICAgICAgICAgICAgLy8gfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -6,6 +6,7 @@ const constants_1 = require("../util/constants");
|
|
|
6
6
|
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
7
7
|
const getInstanceType_1 = require("../util/getInstanceType");
|
|
8
8
|
const getEc2UserData_1 = require("../util/getEc2UserData");
|
|
9
|
+
const getInstanceStorage_1 = require("../util/getInstanceStorage");
|
|
9
10
|
class MicroserviceLaravelBased extends cdk.Stack {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id, props);
|
|
@@ -27,14 +28,15 @@ class MicroserviceLaravelBased extends cdk.Stack {
|
|
|
27
28
|
associatePublicIpAddress: false,
|
|
28
29
|
userData: cdk.aws_ec2.UserData.custom((0, getEc2UserData_1.getEc2UserData)()),
|
|
29
30
|
role: cdk.aws_iam.Role.fromRoleName(this, 'BaseRoleLookup', (0, constants_1.getConstant)('baseRoleName')),
|
|
31
|
+
blockDevices: (0, getInstanceStorage_1.getInstanceStorage)(initBuildConfig_1.buildConfig.serviceName),
|
|
30
32
|
});
|
|
31
|
-
new cdk.CfnOutput(this,
|
|
33
|
+
new cdk.CfnOutput(this, `internal-domain`, {
|
|
32
34
|
value: instance.instancePrivateDnsName,
|
|
33
35
|
});
|
|
34
|
-
new cdk.CfnOutput(this,
|
|
36
|
+
new cdk.CfnOutput(this, `internal-ip`, {
|
|
35
37
|
value: instance.instancePrivateIp,
|
|
36
38
|
});
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
exports.MicroserviceLaravelBased = MicroserviceLaravelBased;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLWxhcmF2ZWwtYmFzZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLWxhcmF2ZWwtYmFzZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLGlEQUFnRTtBQUNoRSw2REFBc0Q7QUFDdEQsNkRBQTBEO0FBQzFELDJEQUF3RDtBQUN4RCxtRUFBZ0U7QUFFaEUsTUFBYSx3QkFBeUIsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNyRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyw2QkFBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUN4RCxPQUFPLEVBQUUsSUFBQSwwQkFBYyxFQUFDLE9BQU8sQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBQSwwQkFBYyxFQUFDLDZCQUE2QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFeEksTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyw2QkFBVyxDQUFDLFdBQVcsWUFBWSw2QkFBVyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQy9HLEdBQUc7WUFDSCxhQUFhLEVBQUUsUUFBUTtZQUN2QixZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFBLGlDQUFlLEVBQUMsNkJBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwRixZQUFZLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO2dCQUNsRCxDQUFDLDZCQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUEsdUJBQVcsRUFBQyxpQkFBaUIsQ0FBVzthQUNuRSxDQUFDO1lBQ0YsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RFLHdCQUF3QixFQUFFLEtBQUs7WUFDL0IsUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFBLCtCQUFjLEdBQUUsQ0FBQztZQUN2RCxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFBLHVCQUFXLEVBQUMsY0FBYyxDQUFXLENBQUM7WUFDbEcsWUFBWSxFQUFFLElBQUEsdUNBQWtCLEVBQUMsNkJBQVcsQ0FBQyxXQUFXLENBQUM7U0FDMUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUN6QyxLQUFLLEVBQUUsUUFBUSxDQUFDLHNCQUFzQjtTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNyQyxLQUFLLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuQ0QsNERBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBnZXRJbnN0YW5jZVR5cGUgfSBmcm9tICcuLi91dGlsL2dldEluc3RhbmNlVHlwZSc7XG5pbXBvcnQgeyBnZXRFYzJVc2VyRGF0YSB9IGZyb20gJy4uL3V0aWwvZ2V0RWMyVXNlckRhdGEnO1xuaW1wb3J0IHsgZ2V0SW5zdGFuY2VTdG9yYWdlIH0gZnJvbSAnLi4vdXRpbC9nZXRJbnN0YW5jZVN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgTWljcm9zZXJ2aWNlTGFyYXZlbEJhc2VkIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjID0gY2RrLmF3c19lYzIuVnBjLmZyb21Mb29rdXAodGhpcywgJ1ZQQ0xvb2t1cCcsIHtcbiAgICAgIHZwY05hbWU6IGdldEVudkNvbnN0YW50KCd2cGNJZCcpLFxuICAgIH0pO1xuICAgIGNvbnN0IHNlY0dyb3VwID0gY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cC5mcm9tTG9va3VwQnlOYW1lKHRoaXMsICdTZWNHcm91cExvb2t1cCcsIGdldEVudkNvbnN0YW50KCdsYXJhdmVsQmFzZWRTZWN1cml0eUdyb3VwSWQnKSwgdnBjKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IGNkay5hd3NfZWMyLkluc3RhbmNlKHRoaXMsIGBlYzItJHtidWlsZENvbmZpZy5zZXJ2aWNlTmFtZX0tc2VydmljZS0ke2J1aWxkQ29uZmlnLmVudk5hbWV9YCwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cDogc2VjR3JvdXAsXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBjZGsuYXdzX2VjMi5JbnN0YW5jZVR5cGUoZ2V0SW5zdGFuY2VUeXBlKGJ1aWxkQ29uZmlnLnNlcnZpY2VOYW1lKSksXG4gICAgICBtYWNoaW5lSW1hZ2U6IGNkay5hd3NfZWMyLk1hY2hpbmVJbWFnZS5nZW5lcmljTGludXgoe1xuICAgICAgICBbYnVpbGRDb25maWcuYXdzLnJlZ2lvbl06IGdldENvbnN0YW50KCdkZWZhdWx0SW1hZ2VBbWknKSBhcyBzdHJpbmcsXG4gICAgICB9KSxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogY2RrLmF3c19lYzIuU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTIH0sXG4gICAgICBhc3NvY2lhdGVQdWJsaWNJcEFkZHJlc3M6IGZhbHNlLFxuICAgICAgdXNlckRhdGE6IGNkay5hd3NfZWMyLlVzZXJEYXRhLmN1c3RvbShnZXRFYzJVc2VyRGF0YSgpKSxcbiAgICAgIHJvbGU6IGNkay5hd3NfaWFtLlJvbGUuZnJvbVJvbGVOYW1lKHRoaXMsICdCYXNlUm9sZUxvb2t1cCcsIGdldENvbnN0YW50KCdiYXNlUm9sZU5hbWUnKSBhcyBzdHJpbmcpLFxuICAgICAgYmxvY2tEZXZpY2VzOiBnZXRJbnN0YW5jZVN0b3JhZ2UoYnVpbGRDb25maWcuc2VydmljZU5hbWUpLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgYGludGVybmFsLWRvbWFpbmAsIHtcbiAgICAgIHZhbHVlOiBpbnN0YW5jZS5pbnN0YW5jZVByaXZhdGVEbnNOYW1lLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgYGludGVybmFsLWlwYCwge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlUHJpdmF0ZUlwLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -6,6 +6,7 @@ const constants_1 = require("../util/constants");
|
|
|
6
6
|
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
7
7
|
const getInstanceType_1 = require("../util/getInstanceType");
|
|
8
8
|
const getEc2UserData_1 = require("../util/getEc2UserData");
|
|
9
|
+
const getInstanceStorage_1 = require("../util/getInstanceStorage");
|
|
9
10
|
class MicroserviceMySql extends cdk.Stack {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id, props);
|
|
@@ -27,14 +28,15 @@ class MicroserviceMySql extends cdk.Stack {
|
|
|
27
28
|
associatePublicIpAddress: false,
|
|
28
29
|
userData: cdk.aws_ec2.UserData.custom((0, getEc2UserData_1.getEc2UserData)('mysql')),
|
|
29
30
|
role: cdk.aws_iam.Role.fromRoleName(this, 'BaseRoleLookup', (0, constants_1.getConstant)('baseRoleName')),
|
|
31
|
+
blockDevices: (0, getInstanceStorage_1.getInstanceStorage)('mysql'),
|
|
30
32
|
});
|
|
31
|
-
new cdk.CfnOutput(this, '
|
|
33
|
+
new cdk.CfnOutput(this, 'internal-domain', {
|
|
32
34
|
value: instance.instancePrivateDnsName,
|
|
33
35
|
});
|
|
34
|
-
new cdk.CfnOutput(this, '
|
|
36
|
+
new cdk.CfnOutput(this, 'internal-ip', {
|
|
35
37
|
value: instance.instancePrivateIp,
|
|
36
38
|
});
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
exports.MicroserviceMySql = MicroserviceMySql;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW15c3FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL21pY3Jvc2VydmljZS1teXNxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFFbkMsaURBQWdFO0FBQ2hFLDZEQUFzRDtBQUN0RCw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBQ3hELG1FQUFnRTtBQUVoRSxNQUFhLGlCQUFrQixTQUFRLEdBQUcsQ0FBQyxLQUFLO0lBQzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLDZCQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3hELE9BQU8sRUFBRSxJQUFBLDBCQUFjLEVBQUMsT0FBTyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFBLDBCQUFjLEVBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqSSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLDZCQUFXLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEYsR0FBRztZQUNILGFBQWEsRUFBRSxRQUFRO1lBQ3ZCLFlBQVksRUFBRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUEsaUNBQWUsRUFBQyxPQUFPLENBQUMsQ0FBQztZQUNwRSxZQUFZLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO2dCQUNsRCxDQUFDLDZCQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUEsdUJBQVcsRUFBQyxpQkFBaUIsQ0FBVzthQUNuRSxDQUFDO1lBQ0YsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RFLHdCQUF3QixFQUFFLEtBQUs7WUFDL0IsUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFBLCtCQUFjLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBQSx1QkFBVyxFQUFDLGNBQWMsQ0FBVyxDQUFDO1lBQ2xHLFlBQVksRUFBRSxJQUFBLHVDQUFrQixFQUFDLE9BQU8sQ0FBQztTQUMxQyxDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ3pDLEtBQUssRUFBRSxRQUFRLENBQUMsc0JBQXNCO1NBQ3ZDLENBQUMsQ0FBQztRQUVILElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3JDLEtBQUssRUFBRSxRQUFRLENBQUMsaUJBQWlCO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBDRCw4Q0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBnZXRDb25zdGFudCwgZ2V0RW52Q29uc3RhbnQgfSBmcm9tICcuLi91dGlsL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBidWlsZENvbmZpZyB9IGZyb20gJy4uL3V0aWwvaW5pdEJ1aWxkQ29uZmlnJztcbmltcG9ydCB7IGdldEluc3RhbmNlVHlwZSB9IGZyb20gJy4uL3V0aWwvZ2V0SW5zdGFuY2VUeXBlJztcbmltcG9ydCB7IGdldEVjMlVzZXJEYXRhIH0gZnJvbSAnLi4vdXRpbC9nZXRFYzJVc2VyRGF0YSc7XG5pbXBvcnQgeyBnZXRJbnN0YW5jZVN0b3JhZ2UgfSBmcm9tICcuLi91dGlsL2dldEluc3RhbmNlU3RvcmFnZSc7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb3NlcnZpY2VNeVNxbCBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogY2RrLlN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmICghYnVpbGRDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQnVpbGRDb25maWcgbm90IHNldCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHZwYyA9IGNkay5hd3NfZWMyLlZwYy5mcm9tTG9va3VwKHRoaXMsICdWUENMb29rdXAnLCB7XG4gICAgICB2cGNOYW1lOiBnZXRFbnZDb25zdGFudCgndnBjSWQnKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlY0dyb3VwID0gY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cC5mcm9tTG9va3VwQnlOYW1lKHRoaXMsICdTZWNHcm91cExvb2t1cCcsIGdldEVudkNvbnN0YW50KCdteXNxbFNlY3VyaXR5R3JvdXBJZCcpLCB2cGMpO1xuXG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgY2RrLmF3c19lYzIuSW5zdGFuY2UodGhpcywgYGVjMi1teXNxbC0ke2J1aWxkQ29uZmlnLmVudk5hbWV9YCwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cDogc2VjR3JvdXAsXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBjZGsuYXdzX2VjMi5JbnN0YW5jZVR5cGUoZ2V0SW5zdGFuY2VUeXBlKCdteXNxbCcpKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogY2RrLmF3c19lYzIuTWFjaGluZUltYWdlLmdlbmVyaWNMaW51eCh7XG4gICAgICAgIFtidWlsZENvbmZpZy5hd3MucmVnaW9uXTogZ2V0Q29uc3RhbnQoJ2RlZmF1bHRJbWFnZUFtaScpIGFzIHN0cmluZyxcbiAgICAgIH0pLFxuICAgICAgdnBjU3VibmV0czogeyBzdWJuZXRUeXBlOiBjZGsuYXdzX2VjMi5TdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1MgfSxcbiAgICAgIGFzc29jaWF0ZVB1YmxpY0lwQWRkcmVzczogZmFsc2UsXG4gICAgICB1c2VyRGF0YTogY2RrLmF3c19lYzIuVXNlckRhdGEuY3VzdG9tKGdldEVjMlVzZXJEYXRhKCdteXNxbCcpKSxcbiAgICAgIHJvbGU6IGNkay5hd3NfaWFtLlJvbGUuZnJvbVJvbGVOYW1lKHRoaXMsICdCYXNlUm9sZUxvb2t1cCcsIGdldENvbnN0YW50KCdiYXNlUm9sZU5hbWUnKSBhcyBzdHJpbmcpLFxuICAgICAgYmxvY2tEZXZpY2VzOiBnZXRJbnN0YW5jZVN0b3JhZ2UoJ215c3FsJyksXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnaW50ZXJuYWwtZG9tYWluJywge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlUHJpdmF0ZURuc05hbWUsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnaW50ZXJuYWwtaXAnLCB7XG4gICAgICB2YWx1ZTogaW5zdGFuY2UuaW5zdGFuY2VQcml2YXRlSXAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -17,29 +17,6 @@ class MicroserviceNetwork extends cdk.Stack {
|
|
|
17
17
|
blockPublicAccess: cdk.aws_s3.BlockPublicAccess.BLOCK_ACLS,
|
|
18
18
|
removalPolicy: cdk.RemovalPolicy.DESTROY,
|
|
19
19
|
});
|
|
20
|
-
// create base role
|
|
21
|
-
new cdk.aws_iam.Role(this, (0, constants_1.getConstant)('baseRoleName'), {
|
|
22
|
-
roleName: (0, constants_1.getConstant)('baseRoleName'),
|
|
23
|
-
assumedBy: new cdk.aws_iam.ServicePrincipal('ec2.amazonaws.com'),
|
|
24
|
-
managedPolicies: [],
|
|
25
|
-
inlinePolicies: {
|
|
26
|
-
microserviceEc2InstanceRolePolicy: new cdk.aws_iam.PolicyDocument({
|
|
27
|
-
statements: [
|
|
28
|
-
new cdk.aws_iam.PolicyStatement({
|
|
29
|
-
sid: 'AllowInstanceToReadEnvFromS3',
|
|
30
|
-
resources: [`arn:aws:s3:::${(0, constants_1.getConstant)('publicBucketName')}/*`],
|
|
31
|
-
actions: ['s3:*'],
|
|
32
|
-
effect: cdk.aws_iam.Effect.ALLOW,
|
|
33
|
-
}),
|
|
34
|
-
new cdk.aws_iam.PolicyStatement({
|
|
35
|
-
sid: 'AllowInstanceToReadSSMParameters',
|
|
36
|
-
resources: [`arn:aws:ssm:${initBuildConfig_1.buildConfig.aws.region}:${initBuildConfig_1.buildConfig.aws.account}:parameter/${initBuildConfig_1.buildConfig.envName}/microservices/*`],
|
|
37
|
-
actions: ['ssm:GetParameter*'],
|
|
38
|
-
}),
|
|
39
|
-
],
|
|
40
|
-
}),
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
20
|
const vpc = new cdk.aws_ec2.Vpc(this, (0, constants_1.getEnvConstant)('vpcId'), {
|
|
44
21
|
vpcName: (0, constants_1.getEnvConstant)('vpcId'),
|
|
45
22
|
enableDnsHostnames: true,
|
|
@@ -137,4 +114,4 @@ class MicroserviceNetwork extends cdk.Stack {
|
|
|
137
114
|
}
|
|
138
115
|
}
|
|
139
116
|
exports.MicroserviceNetwork = MicroserviceNetwork;
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLW5ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLGlEQUFnRTtBQUNoRSw2REFBc0Q7QUFFdEQsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyw2QkFBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDNUMsVUFBVSxFQUFFLElBQUEsdUJBQVcsRUFBQyxrQkFBa0IsQ0FBVztZQUNyRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsVUFBVTtZQUMxRCxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPO1NBQ3pDLENBQUMsQ0FBQztRQUVILG1CQUFtQjtRQUNuQixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFBLHVCQUFXLEVBQUMsY0FBYyxDQUFXLEVBQUU7WUFDaEUsUUFBUSxFQUFFLElBQUEsdUJBQVcsRUFBQyxjQUFjLENBQVc7WUFDL0MsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztZQUNoRSxlQUFlLEVBQUUsRUFBRTtZQUNuQixjQUFjLEVBQUU7Z0JBQ2QsaUNBQWlDLEVBQUUsSUFB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dCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb3NlcnZpY2VOZXR3b3JrIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIHB1YmxpYyBzMyBidWNrZXRcbiAgICBuZXcgY2RrLmF3c19zMy5CdWNrZXQodGhpcywgJ1B1YmxpY1MzQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogZ2V0Q29uc3RhbnQoJ3B1YmxpY0J1Y2tldE5hbWUnKSBhcyBzdHJpbmcsXG4gICAgICBwdWJsaWNSZWFkQWNjZXNzOiB0cnVlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IGNkay5hd3NfczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUNMUyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgfSk7XG5cbiAgICAvLyBjcmVhdGUgYmFzZSByb2xlXG4gICAgbmV3IGNkay5hd3NfaWFtLlJvbGUodGhpcywgZ2V0Q29uc3RhbnQoJ2Jhc2VSb2xlTmFtZScpIGFzIHN0cmluZywge1xuICAgICAgcm9sZU5hbWU6IGdldENvbnN0YW50KCdiYXNlUm9sZU5hbWUnKSBhcyBzdHJpbmcsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuYXdzX2lhbS5TZXJ2aWNlUHJpbmNpcGFsKCdlYzIuYW1hem9uYXdzLmNvbScpLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIG1pY3Jvc2VydmljZUVjMkluc3RhbmNlUm9sZVBvbGljeTogbmV3IGNkay5hd3NfaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dJbnN0YW5jZVRvUmVhZEVudkZyb21TMycsXG4gICAgICAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnMzOjo6JHtnZXRDb25zdGFudCgncHVibGljQnVja2V0TmFtZScpfS8qYF0sXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsnczM6KiddLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGNkay5hd3NfaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGNkay5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93SW5zdGFuY2VUb1JlYWRTU01QYXJhbWV0ZXJzJyxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6c3NtOiR7YnVpbGRDb25maWcuYXdzLnJlZ2lvbn06JHtidWlsZENvbmZpZy5hd3MuYWNjb3VudH06cGFyYW1ldGVyLyR7YnVpbGRDb25maWcuZW52TmFtZX0vbWljcm9zZXJ2aWNlcy8qYF0sXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsnc3NtOkdldFBhcmFtZXRlcionXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHZwYyA9IG5ldyBjZGsuYXdzX2VjMi5WcGModGhpcywgZ2V0RW52Q29uc3RhbnQoJ3ZwY0lkJyksIHtcbiAgICAgIHZwY05hbWU6IGdldEVudkNvbnN0YW50KCd2cGNJZCcpLFxuICAgICAgZW5hYmxlRG5zSG9zdG5hbWVzOiB0cnVlLFxuICAgICAgZW5hYmxlRG5zU3VwcG9ydDogdHJ1ZSxcbiAgICAgIG1heEF6czogMSxcbiAgICAgIG5hdEdhdGV3YXlzOiAxLFxuICAgICAgLy8gcHJvdmlzaW9uIGFuZCB1c2UgYW4gRUMyIGluc3RhbmNlIGFzIE5BVCBnYXRld2F5IGluIG5vbi1wcm9kIGVudmlyb25tZW50c1xuICAgICAgLy8gaW4gcHJvZCwgdGhlIGRlZmF1bHQgbW9yZSBzY2FsYWJsZS9leHBlbnNpdmUgTkFUIGdhdGV3YXkgd2lsbCBiZSB1c2VkXG4gICAgICAuLi4oYnVpbGRDb25maWcuZW52TmFtZSAhPT0gJ3Byb2QnICYmIHtcbiAgICAgICAgbmF0R2F0ZXdheVByb3ZpZGVyOiBuZXcgY2RrLmF3c19lYzIuTmF0SW5zdGFuY2VQcm92aWRlclYyKHtcbiAgICAgICAgICBpbnN0YW5jZVR5cGU6IG5ldyBjZGsuYXdzX2VjMi5JbnN0YW5jZVR5cGUoJ3Q0Zy5uYW5vJyksXG4gICAgICAgIH0pLFxuICAgICAgfSksXG4gICAgICByZXN0cmljdERlZmF1bHRTZWN1cml0eUdyb3VwOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIFBvcnRhbFxuICAgIGNvbnN0IHBvcnRhbFNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdwb3J0YWxTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdwb3J0YWxTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUCBhY2Nlc3NcbiAgICBwb3J0YWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5hbnlJcHY0KCksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwKSwgJ0hUVFAgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQUyBhY2Nlc3NcbiAgICBwb3J0YWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5hbnlJcHY0KCksIGNkay5hd3NfZWMyLlBvcnQudGNwKDQ0MyksICdIVFRQUyBmcm9tIGFueXdoZXJlJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIFNTSCBhY2Nlc3NcbiAgICBwb3J0YWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgQVBJIEdhdGV3YXlcbiAgICBjb25zdCBhcGlHYXRld2F5U2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ2FwaUdhdGV3YXlTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdhcGlHYXRld2F5U2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFAgYWNjZXNzXG4gICAgYXBpR2F0ZXdheVNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmFueUlwdjQoKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoODApLCAnSFRUUCBmcm9tIGFueXdoZXJlJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFBTIGFjY2Vzc1xuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5hbnlJcHY0KCksIGNkay5hd3NfZWMyLlBvcnQudGNwKDQ0MyksICdIVFRQUyBmcm9tIGFueXdoZXJlJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIFNTSCBhY2Nlc3NcbiAgICBhcGlHYXRld2F5U2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBpbnRlcm5hbCBjb21tdW5pY2F0aW9uXG4gICAgYXBpR2F0ZXdheVNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwODEpLCAnSW50ZXJuYWwgbWljcm9zZXJ2aWNlIGNvbW11bmljYXRpb24gZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgUmVkaXMgc2VydmVyXG4gICAgY29uc3QgcmVkaXNTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgncmVkaXNTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdyZWRpc1NlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgcmVkaXNTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIFJlZGlzIGFjY2Vzc1xuICAgIHJlZGlzU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoNjM3OSksICdSZWRpcyBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBNeVNRTCBzZXJ2ZXJcbiAgICBjb25zdCBteXNxbFNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdteXNxbFNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ215c3FsU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIFNTSCBhY2Nlc3NcbiAgICBteXNxbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCBmcm9tIHdpdGhpbiBWUEMnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgTXlTUUwgYWNjZXNzXG4gICAgbXlzcWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgzMzA2KSwgJ015U1FMIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIE5vdGlmaWNhdGlvbiBzZXJ2aWNlXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ25vdGlmaWNhdGlvblNlcnZpY2VTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdub3RpZmljYXRpb25TZXJ2aWNlU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIFNTSCBhY2Nlc3NcbiAgICBub3RpZmljYXRpb25TZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTGFyYXZlbC1iYXNlZCBzZXJ2aWNlc1xuICAgIGNvbnN0IGxhcmF2ZWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbGFyYXZlbEJhc2VkU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnbGFyYXZlbEJhc2VkU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIFNTSCBhY2Nlc3NcbiAgICBsYXJhdmVsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQXG4gICAgbGFyYXZlbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwODApLCAnSFRUUCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBJbnN0YW5jZSBDb25uZWN0aW9uIEVuZHBvaW50XG4gICAgY29uc3QgaWNlU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ2VjMkluc3RhbmNlQ29ubmVjdEVuZHBvaW50U2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnZWMySW5zdGFuY2VDb25uZWN0RW5kcG9pbnRTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIG91dGJvdW5kIFNTSFxuICAgIGljZVNlY0dycC5hZGRFZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIHRvIHdpdGhpbiBWUEMnKTtcblxuICAgIG5ldyBjZGsuYXdzX2VjMi5DZm5JbnN0YW5jZUNvbm5lY3RFbmRwb2ludCh0aGlzLCBnZXRFbnZDb25zdGFudCgnZWMySW5zdGFuY2VDb25uZWN0RW5kcG9pbnRJZCcpLCB7XG4gICAgICBzZWN1cml0eUdyb3VwSWRzOiBbaWNlU2VjR3JwLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgICBzdWJuZXRJZDogdnBjLnByaXZhdGVTdWJuZXRzWzBdLnN1Ym5ldElkLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ3ZwYyBJRCcsIHtcbiAgICAgIHZhbHVlOiB2cGMudnBjSWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLW5ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLGlEQUFnRTtBQUNoRSw2REFBc0Q7QUFFdEQsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyw2QkFBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDNUMsVUFBVSxFQUFFLElBQUEsdUJBQVcsRUFBQyxrQkFBa0IsQ0FBVztZQUNyRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsVUFBVTtZQUMxRCxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPO1NBQ3pDLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUEsMEJBQWMsRUFBQyxPQUFPLENBQUMsRUFBRTtZQUM3RCxPQUFPLEVBQUUsSUFBQSwwQkFBYyxFQUFDLE9BQU8sQ0FBQztZQUNoQyxrQkFBa0IsRUFBRSxJQUFJO1lBQ3hCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsTUFBTSxFQUFFLENBQUM7WUFDVCxXQUFXLEVBQUUsQ0FBQztZQUNkLDRFQUE0RTtZQUM1RSx3RUFBd0U7WUFDeEUsR0FB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QUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEvSEQsa0RBK0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb3NlcnZpY2VOZXR3b3JrIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIHB1YmxpYyBzMyBidWNrZXRcbiAgICBuZXcgY2RrLmF3c19zMy5CdWNrZXQodGhpcywgJ1B1YmxpY1MzQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogZ2V0Q29uc3RhbnQoJ3B1YmxpY0J1Y2tldE5hbWUnKSBhcyBzdHJpbmcsXG4gICAgICBwdWJsaWNSZWFkQWNjZXNzOiB0cnVlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IGNkay5hd3NfczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUNMUyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgfSk7XG5cbiAgICBjb25zdCB2cGMgPSBuZXcgY2RrLmF3c19lYzIuVnBjKHRoaXMsIGdldEVudkNvbnN0YW50KCd2cGNJZCcpLCB7XG4gICAgICB2cGNOYW1lOiBnZXRFbnZDb25zdGFudCgndnBjSWQnKSxcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICBtYXhBenM6IDEsXG4gICAgICBuYXRHYXRld2F5czogMSxcbiAgICAgIC8vIHByb3Zpc2lvbiBhbmQgdXNlIGFuIEVDMiBpbnN0YW5jZSBhcyBOQVQgZ2F0ZXdheSBpbiBub24tcHJvZCBlbnZpcm9ubWVudHNcbiAgICAgIC8vIGluIHByb2QsIHRoZSBkZWZhdWx0IG1vcmUgc2NhbGFibGUvZXhwZW5zaXZlIE5BVCBnYXRld2F5IHdpbGwgYmUgdXNlZFxuICAgICAgLi4uKGJ1aWxkQ29uZmlnLmVudk5hbWUgIT09ICdwcm9kJyAmJiB7XG4gICAgICAgIG5hdEdhdGV3YXlQcm92aWRlcjogbmV3IGNkay5hd3NfZWMyLk5hdEluc3RhbmNlUHJvdmlkZXJWMih7XG4gICAgICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgY2RrLmF3c19lYzIuSW5zdGFuY2VUeXBlKCd0NGcubmFubycpLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgcmVzdHJpY3REZWZhdWx0U2VjdXJpdHlHcm91cDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBQb3J0YWxcbiAgICBjb25zdCBwb3J0YWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgncG9ydGFsU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgncG9ydGFsU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFAgYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MCksICdIVFRQIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUFMgYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg0NDMpLCAnSFRUUFMgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIEFQSSBHYXRld2F5XG4gICAgY29uc3QgYXBpR2F0ZXdheVNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdhcGlHYXRld2F5U2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnYXBpR2F0ZXdheVNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQIGFjY2Vzc1xuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5hbnlJcHY0KCksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwKSwgJ0hUVFAgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQUyBhY2Nlc3NcbiAgICBhcGlHYXRld2F5U2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg0NDMpLCAnSFRUUFMgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgYXBpR2F0ZXdheVNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmFueUlwdjQoKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgaW50ZXJuYWwgY29tbXVuaWNhdGlvblxuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MDgxKSwgJ0ludGVybmFsIG1pY3Jvc2VydmljZSBjb21tdW5pY2F0aW9uIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIFJlZGlzIHNlcnZlclxuICAgIGNvbnN0IHJlZGlzU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ3JlZGlzU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgncmVkaXNTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIHJlZGlzU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBSZWRpcyBhY2Nlc3NcbiAgICByZWRpc1NlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDYzNzkpLCAnUmVkaXMgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTXlTUUwgc2VydmVyXG4gICAgY29uc3QgbXlzcWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbXlzcWxTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdteXNxbFNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgbXlzcWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIE15U1FMIGFjY2Vzc1xuICAgIG15c3FsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMzMwNiksICdNeVNRTCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBOb3RpZmljYXRpb24gc2VydmljZVxuICAgIGNvbnN0IG5vdGlmaWNhdGlvblNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdub3RpZmljYXRpb25TZXJ2aWNlU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnbm90aWZpY2F0aW9uU2VydmljZVNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgbm90aWZpY2F0aW9uU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIExhcmF2ZWwtYmFzZWQgc2VydmljZXNcbiAgICBjb25zdCBsYXJhdmVsU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ2xhcmF2ZWxCYXNlZFNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ2xhcmF2ZWxCYXNlZFNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgbGFyYXZlbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCBmcm9tIHdpdGhpbiBWUEMnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUFxuICAgIGxhcmF2ZWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MDgwKSwgJ0hUVFAgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgSW5zdGFuY2UgQ29ubmVjdGlvbiBFbmRwb2ludFxuICAgIGNvbnN0IGljZVNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdlYzJJbnN0YW5jZUNvbm5lY3RFbmRwb2ludFNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ2VjMkluc3RhbmNlQ29ubmVjdEVuZHBvaW50U2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBvdXRib3VuZCBTU0hcbiAgICBpY2VTZWNHcnAuYWRkRWdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCB0byB3aXRoaW4gVlBDJyk7XG5cbiAgICBuZXcgY2RrLmF3c19lYzIuQ2ZuSW5zdGFuY2VDb25uZWN0RW5kcG9pbnQodGhpcywgZ2V0RW52Q29uc3RhbnQoJ2VjMkluc3RhbmNlQ29ubmVjdEVuZHBvaW50SWQnKSwge1xuICAgICAgc2VjdXJpdHlHcm91cElkczogW2ljZVNlY0dycC5zZWN1cml0eUdyb3VwSWRdLFxuICAgICAgc3VibmV0SWQ6IHZwYy5wcml2YXRlU3VibmV0c1swXS5zdWJuZXRJZCxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICd2cGMgSUQnLCB7XG4gICAgICB2YWx1ZTogdnBjLnZwY0lkLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -6,6 +6,7 @@ const constants_1 = require("../util/constants");
|
|
|
6
6
|
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
7
7
|
const getInstanceType_1 = require("../util/getInstanceType");
|
|
8
8
|
const getEc2UserData_1 = require("../util/getEc2UserData");
|
|
9
|
+
const getInstanceStorage_1 = require("../util/getInstanceStorage");
|
|
9
10
|
class MicroserviceNotificationService extends cdk.Stack {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id, props);
|
|
@@ -27,6 +28,7 @@ class MicroserviceNotificationService extends cdk.Stack {
|
|
|
27
28
|
associatePublicIpAddress: false,
|
|
28
29
|
userData: cdk.aws_ec2.UserData.custom((0, getEc2UserData_1.getEc2UserData)('notification')),
|
|
29
30
|
role: cdk.aws_iam.Role.fromRoleName(this, 'BaseRoleLookup', (0, constants_1.getConstant)('baseRoleName')),
|
|
31
|
+
blockDevices: (0, getInstanceStorage_1.getInstanceStorage)('notification'),
|
|
30
32
|
});
|
|
31
33
|
new cdk.CfnOutput(this, 'notification-service-internal-address', {
|
|
32
34
|
value: instance.instancePrivateDnsName,
|
|
@@ -37,4 +39,4 @@ class MicroserviceNotificationService extends cdk.Stack {
|
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
exports.MicroserviceNotificationService = MicroserviceNotificationService;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW5vdGlmaWNhdGlvbi1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL21pY3Jvc2VydmljZS1ub3RpZmljYXRpb24tc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFFbkMsaURBQWdFO0FBQ2hFLDZEQUFzRDtBQUN0RCw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBQ3hELG1FQUFnRTtBQUVoRSxNQUFhLCtCQUFnQyxTQUFRLEdBQUcsQ0FBQyxLQUFLO0lBQzVELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLDZCQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3hELE9BQU8sRUFBRSxJQUFBLDBCQUFjLEVBQUMsT0FBTyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFBLDBCQUFjLEVBQUMsb0NBQW9DLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUUvSSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSw0QkFBNEIsNkJBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNqRyxHQUFHO1lBQ0gsYUFBYSxFQUFFLFFBQVE7WUFDdkIsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBQSxpQ0FBZSxFQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzNFLFlBQVksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7Z0JBQ2xELENBQUMsNkJBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBQSx1QkFBVyxFQUFDLGlCQUFpQixDQUFXO2FBQ25FLENBQUM7WUFDRixVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUU7WUFDdEUsd0JBQXdCLEVBQUUsS0FBSztZQUMvQixRQUFRLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUEsK0JBQWMsRUFBQyxjQUFjLENBQUMsQ0FBQztZQUNyRSxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFBLHVCQUFXLEVBQUMsY0FBYyxDQUFXLENBQUM7WUFDbEcsWUFBWSxFQUFFLElBQUEsdUNBQWtCLEVBQUMsY0FBYyxDQUFDO1NBQ2pELENBQUMsQ0FBQztRQUVILElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsdUNBQXVDLEVBQUU7WUFDL0QsS0FBSyxFQUFFLFFBQVEsQ0FBQyxzQkFBc0I7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxrQ0FBa0MsRUFBRTtZQUMxRCxLQUFLLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFwQ0QsMEVBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBnZXRJbnN0YW5jZVR5cGUgfSBmcm9tICcuLi91dGlsL2dldEluc3RhbmNlVHlwZSc7XG5pbXBvcnQgeyBnZXRFYzJVc2VyRGF0YSB9IGZyb20gJy4uL3V0aWwvZ2V0RWMyVXNlckRhdGEnO1xuaW1wb3J0IHsgZ2V0SW5zdGFuY2VTdG9yYWdlIH0gZnJvbSAnLi4vdXRpbC9nZXRJbnN0YW5jZVN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgTWljcm9zZXJ2aWNlTm90aWZpY2F0aW9uU2VydmljZSBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogY2RrLlN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmICghYnVpbGRDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQnVpbGRDb25maWcgbm90IHNldCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHZwYyA9IGNkay5hd3NfZWMyLlZwYy5mcm9tTG9va3VwKHRoaXMsICdWUENMb29rdXAnLCB7XG4gICAgICB2cGNOYW1lOiBnZXRFbnZDb25zdGFudCgndnBjSWQnKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlY0dyb3VwID0gY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cC5mcm9tTG9va3VwQnlOYW1lKHRoaXMsICdTZWNHcm91cExvb2t1cCcsIGdldEVudkNvbnN0YW50KCdub3RpZmljYXRpb25TZXJ2aWNlU2VjdXJpdHlHcm91cElkJyksIHZwYyk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBjZGsuYXdzX2VjMi5JbnN0YW5jZSh0aGlzLCBgZWMyLW5vdGlmaWNhdGlvbi1zZXJ2aWNlLSR7YnVpbGRDb25maWcuZW52TmFtZX1gLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwOiBzZWNHcm91cCxcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IGNkay5hd3NfZWMyLkluc3RhbmNlVHlwZShnZXRJbnN0YW5jZVR5cGUoJ25vdGlmaWNhdGlvbicpKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogY2RrLmF3c19lYzIuTWFjaGluZUltYWdlLmdlbmVyaWNMaW51eCh7XG4gICAgICAgIFtidWlsZENvbmZpZy5hd3MucmVnaW9uXTogZ2V0Q29uc3RhbnQoJ2RlZmF1bHRJbWFnZUFtaScpIGFzIHN0cmluZyxcbiAgICAgIH0pLFxuICAgICAgdnBjU3VibmV0czogeyBzdWJuZXRUeXBlOiBjZGsuYXdzX2VjMi5TdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1MgfSxcbiAgICAgIGFzc29jaWF0ZVB1YmxpY0lwQWRkcmVzczogZmFsc2UsXG4gICAgICB1c2VyRGF0YTogY2RrLmF3c19lYzIuVXNlckRhdGEuY3VzdG9tKGdldEVjMlVzZXJEYXRhKCdub3RpZmljYXRpb24nKSksXG4gICAgICByb2xlOiBjZGsuYXdzX2lhbS5Sb2xlLmZyb21Sb2xlTmFtZSh0aGlzLCAnQmFzZVJvbGVMb29rdXAnLCBnZXRDb25zdGFudCgnYmFzZVJvbGVOYW1lJykgYXMgc3RyaW5nKSxcbiAgICAgIGJsb2NrRGV2aWNlczogZ2V0SW5zdGFuY2VTdG9yYWdlKCdub3RpZmljYXRpb24nKSxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdub3RpZmljYXRpb24tc2VydmljZS1pbnRlcm5hbC1hZGRyZXNzJywge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlUHJpdmF0ZURuc05hbWUsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAnbm90aWZpY2F0aW9uLXNlcnZpY2UtaW50ZXJuYWwtaXAnLCB7XG4gICAgICB2YWx1ZTogaW5zdGFuY2UuaW5zdGFuY2VQcml2YXRlSXAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,6 +6,7 @@ const constants_1 = require("../util/constants");
|
|
|
6
6
|
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
7
7
|
const getInstanceType_1 = require("../util/getInstanceType");
|
|
8
8
|
const getEc2UserData_1 = require("../util/getEc2UserData");
|
|
9
|
+
const getInstanceStorage_1 = require("../util/getInstanceStorage");
|
|
9
10
|
class MicroservicePortal extends cdk.Stack {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id, props);
|
|
@@ -27,6 +28,7 @@ class MicroservicePortal extends cdk.Stack {
|
|
|
27
28
|
associatePublicIpAddress: false,
|
|
28
29
|
userData: cdk.aws_ec2.UserData.custom((0, getEc2UserData_1.getEc2UserData)('portal')),
|
|
29
30
|
role: cdk.aws_iam.Role.fromRoleName(this, 'BaseRoleLookup', (0, constants_1.getConstant)('baseRoleName')),
|
|
31
|
+
blockDevices: (0, getInstanceStorage_1.getInstanceStorage)('portal'),
|
|
30
32
|
});
|
|
31
33
|
new cdk.aws_ec2.CfnEIP(this, 'AssignElasticIP', {
|
|
32
34
|
instanceId: instance.instanceId,
|
|
@@ -37,4 +39,4 @@ class MicroservicePortal extends cdk.Stack {
|
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
exports.MicroservicePortal = MicroservicePortal;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLXBvcnRhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9taWNyb3NlcnZpY2UtcG9ydGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUVuQyxpREFBZ0U7QUFDaEUsNkRBQXNEO0FBQ3RELDZEQUEwRDtBQUMxRCwyREFBd0Q7QUFDeEQsbUVBQWdFO0FBRWhFLE1BQWEsa0JBQW1CLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsNkJBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDeEQsT0FBTyxFQUFFLElBQUEsMEJBQWMsRUFBQyxPQUFPLENBQUM7U0FDakMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUEsMEJBQWMsRUFBQyx1QkFBdUIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRWxJLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsNkJBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuRixHQUFHO1lBQ0gsYUFBYSxFQUFFLFFBQVE7WUFDdkIsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBQSxpQ0FBZSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JFLFlBQVksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7Z0JBQ2xELENBQUMsNkJBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBQSx1QkFBVyxFQUFDLGlCQUFpQixDQUFXO2FBQ25FLENBQUM7WUFDRixVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ3pELHdCQUF3QixFQUFFLEtBQUs7WUFDL0IsUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFBLCtCQUFjLEVBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0QsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBQSx1QkFBVyxFQUFDLGNBQWMsQ0FBVyxDQUFDO1lBQ2xHLFlBQVksRUFBRSxJQUFBLHVDQUFrQixFQUFDLFFBQVEsQ0FBQztTQUMzQyxDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUM5QyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUMxQyxLQUFLLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuQ0QsZ0RBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBnZXRJbnN0YW5jZVR5cGUgfSBmcm9tICcuLi91dGlsL2dldEluc3RhbmNlVHlwZSc7XG5pbXBvcnQgeyBnZXRFYzJVc2VyRGF0YSB9IGZyb20gJy4uL3V0aWwvZ2V0RWMyVXNlckRhdGEnO1xuaW1wb3J0IHsgZ2V0SW5zdGFuY2VTdG9yYWdlIH0gZnJvbSAnLi4vdXRpbC9nZXRJbnN0YW5jZVN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgTWljcm9zZXJ2aWNlUG9ydGFsIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjID0gY2RrLmF3c19lYzIuVnBjLmZyb21Mb29rdXAodGhpcywgJ1ZQQ0xvb2t1cCcsIHtcbiAgICAgIHZwY05hbWU6IGdldEVudkNvbnN0YW50KCd2cGNJZCcpLFxuICAgIH0pO1xuICAgIGNvbnN0IHNlY0dyb3VwID0gY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cC5mcm9tTG9va3VwQnlOYW1lKHRoaXMsICdTZWNHcm91cExvb2t1cCcsIGdldEVudkNvbnN0YW50KCdwb3J0YWxTZWN1cml0eUdyb3VwSWQnKSwgdnBjKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IGNkay5hd3NfZWMyLkluc3RhbmNlKHRoaXMsIGBlYzItcG9ydGFsLSR7YnVpbGRDb25maWcuZW52TmFtZX1gLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwOiBzZWNHcm91cCxcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IGNkay5hd3NfZWMyLkluc3RhbmNlVHlwZShnZXRJbnN0YW5jZVR5cGUoJ3BvcnRhbCcpKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogY2RrLmF3c19lYzIuTWFjaGluZUltYWdlLmdlbmVyaWNMaW51eCh7XG4gICAgICAgIFtidWlsZENvbmZpZy5hd3MucmVnaW9uXTogZ2V0Q29uc3RhbnQoJ2RlZmF1bHRJbWFnZUFtaScpIGFzIHN0cmluZyxcbiAgICAgIH0pLFxuICAgICAgdnBjU3VibmV0czogeyBzdWJuZXRUeXBlOiBjZGsuYXdzX2VjMi5TdWJuZXRUeXBlLlBVQkxJQyB9LFxuICAgICAgYXNzb2NpYXRlUHVibGljSXBBZGRyZXNzOiBmYWxzZSxcbiAgICAgIHVzZXJEYXRhOiBjZGsuYXdzX2VjMi5Vc2VyRGF0YS5jdXN0b20oZ2V0RWMyVXNlckRhdGEoJ3BvcnRhbCcpKSxcbiAgICAgIHJvbGU6IGNkay5hd3NfaWFtLlJvbGUuZnJvbVJvbGVOYW1lKHRoaXMsICdCYXNlUm9sZUxvb2t1cCcsIGdldENvbnN0YW50KCdiYXNlUm9sZU5hbWUnKSBhcyBzdHJpbmcpLFxuICAgICAgYmxvY2tEZXZpY2VzOiBnZXRJbnN0YW5jZVN0b3JhZ2UoJ3BvcnRhbCcpLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5hd3NfZWMyLkNmbkVJUCh0aGlzLCAnQXNzaWduRWxhc3RpY0lQJywge1xuICAgICAgaW5zdGFuY2VJZDogaW5zdGFuY2UuaW5zdGFuY2VJZCxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdwb3J0YWwtcHVibGljLWlwJywge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlUHVibGljSXAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,6 +6,7 @@ const constants_1 = require("../util/constants");
|
|
|
6
6
|
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
7
7
|
const getInstanceType_1 = require("../util/getInstanceType");
|
|
8
8
|
const getEc2UserData_1 = require("../util/getEc2UserData");
|
|
9
|
+
const getInstanceStorage_1 = require("../util/getInstanceStorage");
|
|
9
10
|
class MicroserviceRedis extends cdk.Stack {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id, props);
|
|
@@ -27,6 +28,7 @@ class MicroserviceRedis extends cdk.Stack {
|
|
|
27
28
|
associatePublicIpAddress: false,
|
|
28
29
|
userData: cdk.aws_ec2.UserData.custom((0, getEc2UserData_1.getEc2UserData)('redis')),
|
|
29
30
|
role: cdk.aws_iam.Role.fromRoleName(this, 'BaseRoleLookup', (0, constants_1.getConstant)('baseRoleName')),
|
|
31
|
+
blockDevices: (0, getInstanceStorage_1.getInstanceStorage)('redis'),
|
|
30
32
|
});
|
|
31
33
|
new cdk.CfnOutput(this, 'redis-internal-address', {
|
|
32
34
|
value: instance.instancePrivateDnsName,
|
|
@@ -37,4 +39,4 @@ class MicroserviceRedis extends cdk.Stack {
|
|
|
37
39
|
}
|
|
38
40
|
}
|
|
39
41
|
exports.MicroserviceRedis = MicroserviceRedis;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLXJlZGlzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL21pY3Jvc2VydmljZS1yZWRpcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFFbkMsaURBQWdFO0FBQ2hFLDZEQUFzRDtBQUN0RCw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBQ3hELG1FQUFnRTtBQUVoRSxNQUFhLGlCQUFrQixTQUFRLEdBQUcsQ0FBQyxLQUFLO0lBQzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLDZCQUFXLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3hELE9BQU8sRUFBRSxJQUFBLDBCQUFjLEVBQUMsT0FBTyxDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxJQUFBLDBCQUFjLEVBQUMsc0JBQXNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqSSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLDZCQUFXLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDbEYsR0FBRztZQUNILGFBQWEsRUFBRSxRQUFRO1lBQ3ZCLFlBQVksRUFBRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUEsaUNBQWUsRUFBQyxPQUFPLENBQUMsQ0FBQztZQUNwRSxZQUFZLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO2dCQUNsRCxDQUFDLDZCQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUEsdUJBQVcsRUFBQyxpQkFBaUIsQ0FBVzthQUNuRSxDQUFDO1lBQ0YsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFO1lBQ3RFLHdCQUF3QixFQUFFLEtBQUs7WUFDL0IsUUFBUSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFBLCtCQUFjLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUQsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBQSx1QkFBVyxFQUFDLGNBQWMsQ0FBVyxDQUFDO1lBQ2xHLFlBQVksRUFBRSxJQUFBLHVDQUFrQixFQUFDLE9BQU8sQ0FBQztTQUMxQyxDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFO1lBQ2hELEtBQUssRUFBRSxRQUFRLENBQUMsc0JBQXNCO1NBQ3ZDLENBQUMsQ0FBQztRQUVILElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDM0MsS0FBSyxFQUFFLFFBQVEsQ0FBQyxpQkFBaUI7U0FDbEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBcENELDhDQW9DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGdldENvbnN0YW50LCBnZXRFbnZDb25zdGFudCB9IGZyb20gJy4uL3V0aWwvY29uc3RhbnRzJztcbmltcG9ydCB7IGJ1aWxkQ29uZmlnIH0gZnJvbSAnLi4vdXRpbC9pbml0QnVpbGRDb25maWcnO1xuaW1wb3J0IHsgZ2V0SW5zdGFuY2VUeXBlIH0gZnJvbSAnLi4vdXRpbC9nZXRJbnN0YW5jZVR5cGUnO1xuaW1wb3J0IHsgZ2V0RWMyVXNlckRhdGEgfSBmcm9tICcuLi91dGlsL2dldEVjMlVzZXJEYXRhJztcbmltcG9ydCB7IGdldEluc3RhbmNlU3RvcmFnZSB9IGZyb20gJy4uL3V0aWwvZ2V0SW5zdGFuY2VTdG9yYWdlJztcblxuZXhwb3J0IGNsYXNzIE1pY3Jvc2VydmljZVJlZGlzIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjID0gY2RrLmF3c19lYzIuVnBjLmZyb21Mb29rdXAodGhpcywgJ1ZQQ0xvb2t1cCcsIHtcbiAgICAgIHZwY05hbWU6IGdldEVudkNvbnN0YW50KCd2cGNJZCcpLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VjR3JvdXAgPSBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwLmZyb21Mb29rdXBCeU5hbWUodGhpcywgJ1NlY0dyb3VwTG9va3VwJywgZ2V0RW52Q29uc3RhbnQoJ3JlZGlzU2VjdXJpdHlHcm91cElkJyksIHZwYyk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBjZGsuYXdzX2VjMi5JbnN0YW5jZSh0aGlzLCBgZWMyLXJlZGlzLSR7YnVpbGRDb25maWcuZW52TmFtZX1gLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwOiBzZWNHcm91cCxcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IGNkay5hd3NfZWMyLkluc3RhbmNlVHlwZShnZXRJbnN0YW5jZVR5cGUoJ3JlZGlzJykpLFxuICAgICAgbWFjaGluZUltYWdlOiBjZGsuYXdzX2VjMi5NYWNoaW5lSW1hZ2UuZ2VuZXJpY0xpbnV4KHtcbiAgICAgICAgW2J1aWxkQ29uZmlnLmF3cy5yZWdpb25dOiBnZXRDb25zdGFudCgnZGVmYXVsdEltYWdlQW1pJykgYXMgc3RyaW5nLFxuICAgICAgfSksXG4gICAgICB2cGNTdWJuZXRzOiB7IHN1Ym5ldFR5cGU6IGNkay5hd3NfZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyB9LFxuICAgICAgYXNzb2NpYXRlUHVibGljSXBBZGRyZXNzOiBmYWxzZSxcbiAgICAgIHVzZXJEYXRhOiBjZGsuYXdzX2VjMi5Vc2VyRGF0YS5jdXN0b20oZ2V0RWMyVXNlckRhdGEoJ3JlZGlzJykpLFxuICAgICAgcm9sZTogY2RrLmF3c19pYW0uUm9sZS5mcm9tUm9sZU5hbWUodGhpcywgJ0Jhc2VSb2xlTG9va3VwJywgZ2V0Q29uc3RhbnQoJ2Jhc2VSb2xlTmFtZScpIGFzIHN0cmluZyksXG4gICAgICBibG9ja0RldmljZXM6IGdldEluc3RhbmNlU3RvcmFnZSgncmVkaXMnKSxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuQ2ZuT3V0cHV0KHRoaXMsICdyZWRpcy1pbnRlcm5hbC1hZGRyZXNzJywge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlUHJpdmF0ZURuc05hbWUsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAncmVkaXMtaW50ZXJuYWwtaXAnLCB7XG4gICAgICB2YWx1ZTogaW5zdGFuY2UuaW5zdGFuY2VQcml2YXRlSXAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# install nginx
|
|
2
|
+
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -yq
|
|
3
|
+
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
|
|
4
|
+
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
|
|
5
|
+
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
|
|
6
|
+
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx
|
|
7
|
+
sudo apt update -yq
|
|
8
|
+
sudo apt install nginx nodejs dnsmasq supervisor -yq
|
|
9
|
+
|
|
10
|
+
# copy appropriate server_name.conf based on env
|
|
11
|
+
cat $service_dir/nginx/microservices/server_name.{{envName}}.conf | sudo tee $service_dir/nginx/microservices/server_name.conf
|
|
12
|
+
|
|
13
|
+
# remove default virtual host
|
|
14
|
+
sudo rm -rf /etc/nginx/sites-enabled/default /etc/nginx/conf.d/default.conf
|
|
15
|
+
# create symlinks
|
|
16
|
+
sudo ln -sf $service_dir/nginx/microservices /etc/nginx/microservices
|
|
17
|
+
sudo ln -sf $service_dir/nginx/conf.d/microservices.conf /etc/nginx/conf.d/microservices.conf
|
|
18
|
+
|
|
19
|
+
# configure dnsmasq
|
|
20
|
+
echo "# ================================" | sudo tee -a /etc/dnsmasq.conf
|
|
21
|
+
echo "conf-dir=/etc/dnsmasq.d/,*.conf" | sudo tee -a /etc/dnsmasq.conf
|
|
22
|
+
echo "conf-dir=$service_dir/dnsmasq/conf.d/,*.conf" | sudo tee -a /etc/dnsmasq.conf
|
|
23
|
+
echo "port=5353" | sudo tee -a /etc/dnsmasq.conf
|
|
24
|
+
|
|
25
|
+
# configure supervisor
|
|
26
|
+
sudo sed -i "s|files = .*|files = /etc/supervisor/conf.d/*.conf ${service_dir}/supervisor/conf.d/*.conf|" /etc/supervisor/supervisord.conf
|
|
27
|
+
|
|
28
|
+
# start supervisor
|
|
29
|
+
sudo systemctl restart supervisor
|
|
30
|
+
|
|
31
|
+
# start dnsmasq
|
|
32
|
+
sudo systemctl restart dnsmasq
|
|
33
|
+
|
|
34
|
+
# start nginx server
|
|
35
|
+
sudo systemctl restart nginx
|