@glicogh/healthcare-cdk 0.1.34 → 0.1.36
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/dist/@types/common.d.ts +1 -1
- package/dist/@types/common.js +2 -1
- package/dist/lib/microservice-mongodb.d.ts +5 -0
- package/dist/lib/microservice-mongodb.js +42 -0
- package/dist/lib/microservice-network.js +11 -1
- package/dist/scripts/post-deployment-laravel-based.sh +11 -12
- package/dist/scripts/post-deployment-mongodb.sh +21 -0
- package/dist/scripts/post-deployment-policy-service.sh +37 -1
- package/dist/util/constants.d.ts +2 -1
- package/dist/util/constants.js +2 -1
- package/dist/util/initCdkStack.js +5 -1
- package/package.json +1 -1
- package/scripts/post-deployment-laravel-based.sh +11 -12
- package/scripts/post-deployment-mongodb.sh +21 -0
- package/scripts/post-deployment-policy-service.sh +37 -1
package/dist/@types/common.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export type BuildConfig = {
|
|
|
16
16
|
};
|
|
17
17
|
};
|
|
18
18
|
export type Microservice = 'account' | 'plan' | 'policy' | 'claims' | 'notification' | 'reporting';
|
|
19
|
-
export type OtherCDKService = 'network' | 'api-gateway' | 'redis' | 'mysql' | 'portal';
|
|
19
|
+
export type OtherCDKService = 'network' | 'api-gateway' | 'redis' | 'mysql' | 'mongodb' | 'portal';
|
|
20
20
|
export declare const MicroserviceEnum: Record<Microservice, Microservice>;
|
|
21
21
|
export declare const MicroserviceList: Microservice[];
|
|
22
22
|
export declare const LaravelBasedServiceList: ("account" | "plan" | "policy" | "claims" | "reporting")[];
|
package/dist/@types/common.js
CHANGED
|
@@ -16,7 +16,8 @@ exports.OtherCDKServiceEnum = {
|
|
|
16
16
|
'api-gateway': 'api-gateway',
|
|
17
17
|
redis: 'redis',
|
|
18
18
|
mysql: 'mysql',
|
|
19
|
+
mongodb: 'mongodb',
|
|
19
20
|
portal: 'portal',
|
|
20
21
|
};
|
|
21
22
|
exports.OtherCDKServiceList = Object.values(exports.OtherCDKServiceEnum);
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vQHR5cGVzL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxQmEsUUFBQSxnQkFBZ0IsR0FBdUM7SUFDbEUsT0FBTyxFQUFFLFNBQVM7SUFDbEIsSUFBSSxFQUFFLE1BQU07SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixZQUFZLEVBQUUsY0FBYztJQUM1QixTQUFTLEVBQUUsV0FBVztJQUN0QixNQUFNLEVBQUUsUUFBUTtDQUNqQixDQUFDO0FBRVcsUUFBQSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLHdCQUFnQixDQUFDLENBQUM7QUFFbkQsUUFBQSx1QkFBdUIsR0FBRyx3QkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxjQUFjLENBQUMsQ0FBQztBQUUvRSxRQUFBLG1CQUFtQixHQUE2QztJQUMzRSxPQUFPLEVBQUUsU0FBUztJQUNsQixhQUFhLEVBQUUsYUFBYTtJQUM1QixLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsTUFBTSxFQUFFLFFBQVE7Q0FDakIsQ0FBQztBQUVXLFFBQUEsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQywyQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRW52TmFtZSA9ICd1YXQnIHwgJ3Byb2QnO1xuZXhwb3J0IHR5cGUgUmVwb0JyYW5jaCA9ICdtYXN0ZXInIHwgJ3JlbGVhc2UnO1xuZXhwb3J0IHR5cGUgQnVpbGRDb25maWcgPSB7XG4gIGFwcE5hbWU6IHN0cmluZztcbiAgYXBwVmVyc2lvbjogc3RyaW5nO1xuICBidWlsZElkOiBzdHJpbmc7XG4gIGZvcm1hdHRlZEJ1aWxkSWQ6IHN0cmluZztcbiAgZW52TmFtZTogRW52TmFtZTtcbiAgZW52UGF0aDogc3RyaW5nO1xuICBzZXJ2aWNlTmFtZTogTWljcm9zZXJ2aWNlIHwgT3RoZXJDREtTZXJ2aWNlO1xuICBicmFuY2g/OiBzdHJpbmc7XG4gIGNvbXBhbnlOYW1lOiBzdHJpbmc7XG4gIGF3czoge1xuICAgIGFjY291bnQ6IHN0cmluZztcbiAgICByZWdpb246IHN0cmluZztcbiAgfTtcbn07XG5leHBvcnQgdHlwZSBNaWNyb3NlcnZpY2UgPSAnYWNjb3VudCcgfCAncGxhbicgfCAncG9saWN5JyB8ICdjbGFpbXMnIHwgJ25vdGlmaWNhdGlvbicgfCAncmVwb3J0aW5nJztcblxuZXhwb3J0IHR5cGUgT3RoZXJDREtTZXJ2aWNlID0gJ25ldHdvcmsnIHwgJ2FwaS1nYXRld2F5JyB8ICdyZWRpcycgfCAnbXlzcWwnIHwgJ21vbmdvZGInIHwgJ3BvcnRhbCc7XG5cbmV4cG9ydCBjb25zdCBNaWNyb3NlcnZpY2VFbnVtOiBSZWNvcmQ8TWljcm9zZXJ2aWNlLCBNaWNyb3NlcnZpY2U+ID0ge1xuICBhY2NvdW50OiAnYWNjb3VudCcsXG4gIHBsYW46ICdwbGFuJyxcbiAgcG9saWN5OiAncG9saWN5JyxcbiAgbm90aWZpY2F0aW9uOiAnbm90aWZpY2F0aW9uJyxcbiAgcmVwb3J0aW5nOiAncmVwb3J0aW5nJyxcbiAgY2xhaW1zOiAnY2xhaW1zJyxcbn07XG5cbmV4cG9ydCBjb25zdCBNaWNyb3NlcnZpY2VMaXN0ID0gT2JqZWN0LnZhbHVlcyhNaWNyb3NlcnZpY2VFbnVtKTtcblxuZXhwb3J0IGNvbnN0IExhcmF2ZWxCYXNlZFNlcnZpY2VMaXN0ID0gTWljcm9zZXJ2aWNlTGlzdC5maWx0ZXIoKGkpID0+IGkgIT09ICdub3RpZmljYXRpb24nKTtcblxuZXhwb3J0IGNvbnN0IE90aGVyQ0RLU2VydmljZUVudW06IFJlY29yZDxPdGhlckNES1NlcnZpY2UsIE90aGVyQ0RLU2VydmljZT4gPSB7XG4gIG5ldHdvcms6ICduZXR3b3JrJyxcbiAgJ2FwaS1nYXRld2F5JzogJ2FwaS1nYXRld2F5JyxcbiAgcmVkaXM6ICdyZWRpcycsXG4gIG15c3FsOiAnbXlzcWwnLFxuICBtb25nb2RiOiAnbW9uZ29kYicsXG4gIHBvcnRhbDogJ3BvcnRhbCcsXG59O1xuXG5leHBvcnQgY29uc3QgT3RoZXJDREtTZXJ2aWNlTGlzdCA9IE9iamVjdC52YWx1ZXMoT3RoZXJDREtTZXJ2aWNlRW51bSk7XG5cbmV4cG9ydCB0eXBlIFJlcG9VcmxzID0geyBba2V5IGluIEJ1aWxkQ29uZmlnWydzZXJ2aWNlTmFtZSddXT86IHN0cmluZyB9O1xuZXhwb3J0IHR5cGUgUmVwb0JyYW5jaGVzID0geyBba2V5IGluIEVudk5hbWVdOiBSZXBvQnJhbmNoIH07XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MicroserviceMongoDB = void 0;
|
|
4
|
+
const cdk = require("aws-cdk-lib");
|
|
5
|
+
const constants_1 = require("../util/constants");
|
|
6
|
+
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
7
|
+
const getInstanceType_1 = require("../util/getInstanceType");
|
|
8
|
+
const getEc2UserData_1 = require("../util/getEc2UserData");
|
|
9
|
+
const getInstanceStorage_1 = require("../util/getInstanceStorage");
|
|
10
|
+
class MicroserviceMongoDB extends cdk.Stack {
|
|
11
|
+
constructor(scope, id, props) {
|
|
12
|
+
super(scope, id, props);
|
|
13
|
+
if (!initBuildConfig_1.buildConfig) {
|
|
14
|
+
throw new Error('BuildConfig not set');
|
|
15
|
+
}
|
|
16
|
+
const vpc = cdk.aws_ec2.Vpc.fromLookup(this, 'VPCLookup', {
|
|
17
|
+
vpcName: (0, constants_1.getEnvConstant)('vpcId'),
|
|
18
|
+
});
|
|
19
|
+
const secGroup = cdk.aws_ec2.SecurityGroup.fromLookupByName(this, 'SecGroupLookup', (0, constants_1.getEnvConstant)('mongoDBSecurityGroupId'), vpc);
|
|
20
|
+
const instance = new cdk.aws_ec2.Instance(this, `ec2-mongodb-${initBuildConfig_1.buildConfig.envName}`, {
|
|
21
|
+
vpc,
|
|
22
|
+
securityGroup: secGroup,
|
|
23
|
+
instanceType: new cdk.aws_ec2.InstanceType((0, getInstanceType_1.getInstanceType)('mongodb')),
|
|
24
|
+
machineImage: cdk.aws_ec2.MachineImage.genericLinux({
|
|
25
|
+
[initBuildConfig_1.buildConfig.aws.region]: (0, constants_1.getConstant)('defaultImageAmi'),
|
|
26
|
+
}),
|
|
27
|
+
vpcSubnets: { subnetType: cdk.aws_ec2.SubnetType.PRIVATE_WITH_EGRESS },
|
|
28
|
+
associatePublicIpAddress: false,
|
|
29
|
+
userData: cdk.aws_ec2.UserData.custom((0, getEc2UserData_1.getEc2UserData)('mongodb')),
|
|
30
|
+
role: cdk.aws_iam.Role.fromRoleName(this, 'BaseRoleLookup', (0, constants_1.getConstant)('baseRoleName')),
|
|
31
|
+
blockDevices: (0, getInstanceStorage_1.getInstanceStorage)('mongodb'),
|
|
32
|
+
});
|
|
33
|
+
new cdk.CfnOutput(this, 'internal-domain', {
|
|
34
|
+
value: instance.instancePrivateDnsName,
|
|
35
|
+
});
|
|
36
|
+
new cdk.CfnOutput(this, 'internal-ip', {
|
|
37
|
+
value: instance.instancePrivateIp,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.MicroserviceMongoDB = MicroserviceMongoDB;
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW1vbmdvZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLW1vbmdvZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLGlEQUFnRTtBQUNoRSw2REFBc0Q7QUFDdEQsNkRBQTBEO0FBQzFELDJEQUF3RDtBQUN4RCxtRUFBZ0U7QUFFaEUsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyw2QkFBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUN4RCxPQUFPLEVBQUUsSUFBQSwwQkFBYyxFQUFDLE9BQU8sQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBQSwwQkFBYyxFQUFDLHdCQUF3QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFbkksTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZUFBZSw2QkFBVyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BGLEdBQUc7WUFDSCxhQUFhLEVBQUUsUUFBUTtZQUN2QixZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFBLGlDQUFlLEVBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEUsWUFBWSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQztnQkFDbEQsQ0FBQyw2QkFBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFBLHVCQUFXLEVBQUMsaUJBQWlCLENBQVc7YUFDbkUsQ0FBQztZQUNGLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRTtZQUN0RSx3QkFBd0IsRUFBRSxLQUFLO1lBQy9CLFFBQVEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBQSwrQkFBYyxFQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hFLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUEsdUJBQVcsRUFBQyxjQUFjLENBQVcsQ0FBQztZQUNsRyxZQUFZLEVBQUUsSUFBQSx1Q0FBa0IsRUFBQyxTQUFTLENBQUM7U0FDNUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUN6QyxLQUFLLEVBQUUsUUFBUSxDQUFDLHNCQUFzQjtTQUN2QyxDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNyQyxLQUFLLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtTQUNsQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFwQ0Qsa0RBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBnZXRJbnN0YW5jZVR5cGUgfSBmcm9tICcuLi91dGlsL2dldEluc3RhbmNlVHlwZSc7XG5pbXBvcnQgeyBnZXRFYzJVc2VyRGF0YSB9IGZyb20gJy4uL3V0aWwvZ2V0RWMyVXNlckRhdGEnO1xuaW1wb3J0IHsgZ2V0SW5zdGFuY2VTdG9yYWdlIH0gZnJvbSAnLi4vdXRpbC9nZXRJbnN0YW5jZVN0b3JhZ2UnO1xuXG5leHBvcnQgY2xhc3MgTWljcm9zZXJ2aWNlTW9uZ29EQiBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogY2RrLlN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmICghYnVpbGRDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQnVpbGRDb25maWcgbm90IHNldCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHZwYyA9IGNkay5hd3NfZWMyLlZwYy5mcm9tTG9va3VwKHRoaXMsICdWUENMb29rdXAnLCB7XG4gICAgICB2cGNOYW1lOiBnZXRFbnZDb25zdGFudCgndnBjSWQnKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlY0dyb3VwID0gY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cC5mcm9tTG9va3VwQnlOYW1lKHRoaXMsICdTZWNHcm91cExvb2t1cCcsIGdldEVudkNvbnN0YW50KCdtb25nb0RCU2VjdXJpdHlHcm91cElkJyksIHZwYyk7XG5cbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBjZGsuYXdzX2VjMi5JbnN0YW5jZSh0aGlzLCBgZWMyLW1vbmdvZGItJHtidWlsZENvbmZpZy5lbnZOYW1lfWAsIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXA6IHNlY0dyb3VwLFxuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgY2RrLmF3c19lYzIuSW5zdGFuY2VUeXBlKGdldEluc3RhbmNlVHlwZSgnbW9uZ29kYicpKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogY2RrLmF3c19lYzIuTWFjaGluZUltYWdlLmdlbmVyaWNMaW51eCh7XG4gICAgICAgIFtidWlsZENvbmZpZy5hd3MucmVnaW9uXTogZ2V0Q29uc3RhbnQoJ2RlZmF1bHRJbWFnZUFtaScpIGFzIHN0cmluZyxcbiAgICAgIH0pLFxuICAgICAgdnBjU3VibmV0czogeyBzdWJuZXRUeXBlOiBjZGsuYXdzX2VjMi5TdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1MgfSxcbiAgICAgIGFzc29jaWF0ZVB1YmxpY0lwQWRkcmVzczogZmFsc2UsXG4gICAgICB1c2VyRGF0YTogY2RrLmF3c19lYzIuVXNlckRhdGEuY3VzdG9tKGdldEVjMlVzZXJEYXRhKCdtb25nb2RiJykpLFxuICAgICAgcm9sZTogY2RrLmF3c19pYW0uUm9sZS5mcm9tUm9sZU5hbWUodGhpcywgJ0Jhc2VSb2xlTG9va3VwJywgZ2V0Q29uc3RhbnQoJ2Jhc2VSb2xlTmFtZScpIGFzIHN0cmluZyksXG4gICAgICBibG9ja0RldmljZXM6IGdldEluc3RhbmNlU3RvcmFnZSgnbW9uZ29kYicpLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ2ludGVybmFsLWRvbWFpbicsIHtcbiAgICAgIHZhbHVlOiBpbnN0YW5jZS5pbnN0YW5jZVByaXZhdGVEbnNOYW1lLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ2ludGVybmFsLWlwJywge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlUHJpdmF0ZUlwLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -86,6 +86,16 @@ class MicroserviceNetwork extends cdk.Stack {
|
|
|
86
86
|
mysqlSecGrp.addIngressRule(cdk.aws_ec2.Peer.ipv4(vpc.vpcCidrBlock), cdk.aws_ec2.Port.tcp(22), 'SSH from within VPC');
|
|
87
87
|
// add rule for MySQL access
|
|
88
88
|
mysqlSecGrp.addIngressRule(cdk.aws_ec2.Peer.ipv4(vpc.vpcCidrBlock), cdk.aws_ec2.Port.tcp(3306), 'MySQL from within VPC');
|
|
89
|
+
// security group for MongoDB server
|
|
90
|
+
const mongodbSecGrp = new cdk.aws_ec2.SecurityGroup(this, (0, constants_1.getEnvConstant)('mongoDBSecurityGroupId'), {
|
|
91
|
+
vpc,
|
|
92
|
+
securityGroupName: (0, constants_1.getEnvConstant)('mongoDBSecurityGroupId'),
|
|
93
|
+
allowAllOutbound: true,
|
|
94
|
+
});
|
|
95
|
+
// add rule for SSH access
|
|
96
|
+
mongodbSecGrp.addIngressRule(cdk.aws_ec2.Peer.ipv4(vpc.vpcCidrBlock), cdk.aws_ec2.Port.tcp(22), 'SSH from within VPC');
|
|
97
|
+
// add rule for MongoDB access
|
|
98
|
+
mongodbSecGrp.addIngressRule(cdk.aws_ec2.Peer.ipv4(vpc.vpcCidrBlock), cdk.aws_ec2.Port.tcp(27017), 'MongoDB from within VPC');
|
|
89
99
|
// security group for Notification service
|
|
90
100
|
const notificationSecGrp = new cdk.aws_ec2.SecurityGroup(this, (0, constants_1.getEnvConstant)('notificationServiceSecurityGroupId'), {
|
|
91
101
|
vpc,
|
|
@@ -124,4 +134,4 @@ class MicroserviceNetwork extends cdk.Stack {
|
|
|
124
134
|
}
|
|
125
135
|
}
|
|
126
136
|
exports.MicroserviceNetwork = MicroserviceNetwork;
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLW5ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLGlEQUFnRTtBQUNoRSw2REFBc0Q7QUFFdEQsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyw2QkFBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDNUMsVUFBVSxFQUFFLElBQUEsdUJBQVcsRUFBQyxrQkFBa0IsQ0FBVztZQUNyRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsVUFBVTtZQUMxRCxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPO1lBQ3hDLElBQUksRUFBRTtnQkFDSjtvQkFDRSxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7b0JBQ3JCLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO29CQUN4RyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7b0JBQ3JCLGNBQWMsRUFBRSxFQUFFO2lCQUNuQjthQUNGO1NBQ0YsQ0FBQyxDQUFD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QyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUVoSCxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsSUFBSSxFQUFFLElBQUEsMEJBQWMsRUFBQyw4QkFBOEIsQ0FBQyxFQUFFO1lBQy9GLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztZQUM3QyxRQUFRLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2hDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF6SUQsa0RBeUlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb3NlcnZpY2VOZXR3b3JrIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIHB1YmxpYyBzMyBidWNrZXRcbiAgICBuZXcgY2RrLmF3c19zMy5CdWNrZXQodGhpcywgJ1B1YmxpY1MzQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogZ2V0Q29uc3RhbnQoJ3B1YmxpY0J1Y2tldE5hbWUnKSBhcyBzdHJpbmcsXG4gICAgICBwdWJsaWNSZWFkQWNjZXNzOiB0cnVlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IGNkay5hd3NfczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUNMUyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBjb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd2VkSGVhZGVyczogWycqJ10sXG4gICAgICAgICAgYWxsb3dlZE1ldGhvZHM6IFtjZGsuYXdzX3MzLkh0dHBNZXRob2RzLlBPU1QsIGNkay5hd3NfczMuSHR0cE1ldGhvZHMuUFVULCBjZGsuYXdzX3MzLkh0dHBNZXRob2RzLkRFTEVURV0sXG4gICAgICAgICAgYWxsb3dlZE9yaWdpbnM6IFsnKiddLFxuICAgICAgICAgIGV4cG9zZWRIZWFkZXJzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB2cGMgPSBuZXcgY2RrLmF3c19lYzIuVnBjKHRoaXMsIGdldEVudkNvbnN0YW50KCd2cGNJZCcpLCB7XG4gICAgICB2cGNOYW1lOiBnZXRFbnZDb25zdGFudCgndnBjSWQnKSxcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICBtYXhBenM6IDEsXG4gICAgICBuYXRHYXRld2F5czogMSxcbiAgICAgIC8vIHByb3Zpc2lvbiBhbmQgdXNlIGFuIEVDMiBpbnN0YW5jZSBhcyBOQVQgZ2F0ZXdheSBpbiBub24tcHJvZCBlbnZpcm9ubWVudHNcbiAgICAgIC8vIGluIHByb2QsIHRoZSBkZWZhdWx0IG1vcmUgc2NhbGFibGUvZXhwZW5zaXZlIE5BVCBnYXRld2F5IHdpbGwgYmUgdXNlZFxuICAgICAgLi4uKGJ1aWxkQ29uZmlnLmVudk5hbWUgIT09ICdwcm9kJyAmJiB7XG4gICAgICAgIG5hdEdhdGV3YXlQcm92aWRlcjogbmV3IGNkay5hd3NfZWMyLk5hdEluc3RhbmNlUHJvdmlkZXJWMih7XG4gICAgICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgY2RrLmF3c19lYzIuSW5zdGFuY2VUeXBlKCd0NGcubmFubycpLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgcmVzdHJpY3REZWZhdWx0U2VjdXJpdHlHcm91cDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBQb3J0YWxcbiAgICBjb25zdCBwb3J0YWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgncG9ydGFsU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgncG9ydGFsU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFAgYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MCksICdIVFRQIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUFMgYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg0NDMpLCAnSFRUUFMgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIEFQSSBHYXRld2F5XG4gICAgY29uc3QgYXBpR2F0ZXdheVNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdhcGlHYXRld2F5U2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnYXBpR2F0ZXdheVNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQIGFjY2Vzc1xuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5hbnlJcHY0KCksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwKSwgJ0hUVFAgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQUyBhY2Nlc3NcbiAgICBhcGlHYXRld2F5U2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg0NDMpLCAnSFRUUFMgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgYXBpR2F0ZXdheVNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmFueUlwdjQoKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgaW50ZXJuYWwgY29tbXVuaWNhdGlvblxuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MDgxKSwgJ0ludGVybmFsIG1pY3Jvc2VydmljZSBjb21tdW5pY2F0aW9uIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIFJlZGlzIHNlcnZlclxuICAgIGNvbnN0IHJlZGlzU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ3JlZGlzU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgncmVkaXNTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIHJlZGlzU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBSZWRpcyBhY2Nlc3NcbiAgICByZWRpc1NlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDYzNzkpLCAnUmVkaXMgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTXlTUUwgc2VydmVyXG4gICAgY29uc3QgbXlzcWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbXlzcWxTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdteXNxbFNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgbXlzcWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIE15U1FMIGFjY2Vzc1xuICAgIG15c3FsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMzMwNiksICdNeVNRTCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBOb3RpZmljYXRpb24gc2VydmljZVxuICAgIGNvbnN0IG5vdGlmaWNhdGlvblNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdub3RpZmljYXRpb25TZXJ2aWNlU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnbm90aWZpY2F0aW9uU2VydmljZVNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgbm90aWZpY2F0aW9uU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQIGFjY2Vzc1xuICAgIG5vdGlmaWNhdGlvblNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwODApLCAnSFRUUCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBMYXJhdmVsLWJhc2VkIHNlcnZpY2VzXG4gICAgY29uc3QgbGFyYXZlbFNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdsYXJhdmVsQmFzZWRTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdsYXJhdmVsQmFzZWRTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIGxhcmF2ZWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFBcbiAgICBsYXJhdmVsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoODA4MCksICdIVFRQIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIEluc3RhbmNlIENvbm5lY3Rpb24gRW5kcG9pbnRcbiAgICBjb25zdCBpY2VTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnZWMySW5zdGFuY2VDb25uZWN0RW5kcG9pbnRTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdlYzJJbnN0YW5jZUNvbm5lY3RFbmRwb2ludFNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogZmFsc2UsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3Igb3V0Ym91bmQgU1NIXG4gICAgaWNlU2VjR3JwLmFkZEVncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggdG8gd2l0aGluIFZQQycpO1xuXG4gICAgbmV3IGNkay5hd3NfZWMyLkNmbkluc3RhbmNlQ29ubmVjdEVuZHBvaW50KHRoaXMsIGdldEVudkNvbnN0YW50KCdlYzJJbnN0YW5jZUNvbm5lY3RFbmRwb2ludElkJyksIHtcbiAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IFtpY2VTZWNHcnAuc2VjdXJpdHlHcm91cElkXSxcbiAgICAgIHN1Ym5ldElkOiB2cGMucHJpdmF0ZVN1Ym5ldHNbMF0uc3VibmV0SWQsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAndnBjIElEJywge1xuICAgICAgdmFsdWU6IHZwYy52cGNJZCxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW5ldHdvcmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLW5ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLGlEQUFnRTtBQUNoRSw2REFBc0Q7QUFFdEQsTUFBYSxtQkFBb0IsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyw2QkFBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCwwQkFBMEI7UUFDMUIsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDNUMsVUFBVSxFQUFFLElBQUEsdUJBQVcsRUFBQyxrQkFBa0IsQ0FBVztZQUNyRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsVUFBVTtZQUMxRCxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPO1lBQ3hDLElBQUksRUFBRTtnQkFDSjtvQkFDRSxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7b0JBQ3JCLGNBQWMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO29CQUN4RyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7b0JBQ3JCLGNBQWMsRUFBRSxFQUFFO2lCQUNuQjthQUNGO1NBQ0YsQ0FBQyxDQUFD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QUMsQ0FBQztRQUVILElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2hDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztTQUNqQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFySkQsa0RBcUpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb3NlcnZpY2VOZXR3b3JrIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIHB1YmxpYyBzMyBidWNrZXRcbiAgICBuZXcgY2RrLmF3c19zMy5CdWNrZXQodGhpcywgJ1B1YmxpY1MzQnVja2V0Jywge1xuICAgICAgYnVja2V0TmFtZTogZ2V0Q29uc3RhbnQoJ3B1YmxpY0J1Y2tldE5hbWUnKSBhcyBzdHJpbmcsXG4gICAgICBwdWJsaWNSZWFkQWNjZXNzOiB0cnVlLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IGNkay5hd3NfczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUNMUyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IGNkay5SZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICBjb3JzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd2VkSGVhZGVyczogWycqJ10sXG4gICAgICAgICAgYWxsb3dlZE1ldGhvZHM6IFtjZGsuYXdzX3MzLkh0dHBNZXRob2RzLlBPU1QsIGNkay5hd3NfczMuSHR0cE1ldGhvZHMuUFVULCBjZGsuYXdzX3MzLkh0dHBNZXRob2RzLkRFTEVURV0sXG4gICAgICAgICAgYWxsb3dlZE9yaWdpbnM6IFsnKiddLFxuICAgICAgICAgIGV4cG9zZWRIZWFkZXJzOiBbXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBjb25zdCB2cGMgPSBuZXcgY2RrLmF3c19lYzIuVnBjKHRoaXMsIGdldEVudkNvbnN0YW50KCd2cGNJZCcpLCB7XG4gICAgICB2cGNOYW1lOiBnZXRFbnZDb25zdGFudCgndnBjSWQnKSxcbiAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgIGVuYWJsZURuc1N1cHBvcnQ6IHRydWUsXG4gICAgICBtYXhBenM6IDEsXG4gICAgICBuYXRHYXRld2F5czogMSxcbiAgICAgIC8vIHByb3Zpc2lvbiBhbmQgdXNlIGFuIEVDMiBpbnN0YW5jZSBhcyBOQVQgZ2F0ZXdheSBpbiBub24tcHJvZCBlbnZpcm9ubWVudHNcbiAgICAgIC8vIGluIHByb2QsIHRoZSBkZWZhdWx0IG1vcmUgc2NhbGFibGUvZXhwZW5zaXZlIE5BVCBnYXRld2F5IHdpbGwgYmUgdXNlZFxuICAgICAgLi4uKGJ1aWxkQ29uZmlnLmVudk5hbWUgIT09ICdwcm9kJyAmJiB7XG4gICAgICAgIG5hdEdhdGV3YXlQcm92aWRlcjogbmV3IGNkay5hd3NfZWMyLk5hdEluc3RhbmNlUHJvdmlkZXJWMih7XG4gICAgICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgY2RrLmF3c19lYzIuSW5zdGFuY2VUeXBlKCd0NGcubmFubycpLFxuICAgICAgICB9KSxcbiAgICAgIH0pLFxuICAgICAgcmVzdHJpY3REZWZhdWx0U2VjdXJpdHlHcm91cDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBQb3J0YWxcbiAgICBjb25zdCBwb3J0YWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgncG9ydGFsU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgncG9ydGFsU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIEhUVFAgYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MCksICdIVFRQIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUFMgYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg0NDMpLCAnSFRUUFMgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgcG9ydGFsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIEFQSSBHYXRld2F5XG4gICAgY29uc3QgYXBpR2F0ZXdheVNlY0dycCA9IG5ldyBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwKHRoaXMsIGdldEVudkNvbnN0YW50KCdhcGlHYXRld2F5U2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnYXBpR2F0ZXdheVNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQIGFjY2Vzc1xuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5hbnlJcHY0KCksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwKSwgJ0hUVFAgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQUyBhY2Nlc3NcbiAgICBhcGlHYXRld2F5U2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuYW55SXB2NCgpLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg0NDMpLCAnSFRUUFMgZnJvbSBhbnl3aGVyZScpO1xuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgYXBpR2F0ZXdheVNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmFueUlwdjQoKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gYW55d2hlcmUnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgaW50ZXJuYWwgY29tbXVuaWNhdGlvblxuICAgIGFwaUdhdGV3YXlTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MDgxKSwgJ0ludGVybmFsIG1pY3Jvc2VydmljZSBjb21tdW5pY2F0aW9uIGZyb20gd2l0aGluIFZQQycpO1xuXG4gICAgLy8gc2VjdXJpdHkgZ3JvdXAgZm9yIFJlZGlzIHNlcnZlclxuICAgIGNvbnN0IHJlZGlzU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ3JlZGlzU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgncmVkaXNTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIHJlZGlzU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBSZWRpcyBhY2Nlc3NcbiAgICByZWRpc1NlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDYzNzkpLCAnUmVkaXMgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTXlTUUwgc2VydmVyXG4gICAgY29uc3QgbXlzcWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbXlzcWxTZWN1cml0eUdyb3VwSWQnKSwge1xuICAgICAgdnBjLFxuICAgICAgc2VjdXJpdHlHcm91cE5hbWU6IGdldEVudkNvbnN0YW50KCdteXNxbFNlY3VyaXR5R3JvdXBJZCcpLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBydWxlIGZvciBTU0ggYWNjZXNzXG4gICAgbXlzcWxTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIE15U1FMIGFjY2Vzc1xuICAgIG15c3FsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMzMwNiksICdNeVNRTCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBNb25nb0RCIHNlcnZlclxuICAgIGNvbnN0IG1vbmdvZGJTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbW9uZ29EQlNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ21vbmdvREJTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIG1vbmdvZGJTZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCgyMiksICdTU0ggZnJvbSB3aXRoaW4gVlBDJyk7XG4gICAgLy8gYWRkIHJ1bGUgZm9yIE1vbmdvREIgYWNjZXNzXG4gICAgbW9uZ29kYlNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDI3MDE3KSwgJ01vbmdvREIgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTm90aWZpY2F0aW9uIHNlcnZpY2VcbiAgICBjb25zdCBub3RpZmljYXRpb25TZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbm90aWZpY2F0aW9uU2VydmljZVNlY3VyaXR5R3JvdXBJZCcpLCB7XG4gICAgICB2cGMsXG4gICAgICBzZWN1cml0eUdyb3VwTmFtZTogZ2V0RW52Q29uc3RhbnQoJ25vdGlmaWNhdGlvblNlcnZpY2VTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgcnVsZSBmb3IgU1NIIGFjY2Vzc1xuICAgIG5vdGlmaWNhdGlvblNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDIyKSwgJ1NTSCBmcm9tIHdpdGhpbiBWUEMnKTtcbiAgICAvLyBhZGQgcnVsZSBmb3IgSFRUUCBhY2Nlc3NcbiAgICBub3RpZmljYXRpb25TZWNHcnAuYWRkSW5ncmVzc1J1bGUoY2RrLmF3c19lYzIuUGVlci5pcHY0KHZwYy52cGNDaWRyQmxvY2spLCBjZGsuYXdzX2VjMi5Qb3J0LnRjcCg4MDgwKSwgJ0hUVFAgZnJvbSB3aXRoaW4gVlBDJyk7XG5cbiAgICAvLyBzZWN1cml0eSBncm91cCBmb3IgTGFyYXZlbC1iYXNlZCBzZXJ2aWNlc1xuICAgIGNvbnN0IGxhcmF2ZWxTZWNHcnAgPSBuZXcgY2RrLmF3c19lYzIuU2VjdXJpdHlHcm91cCh0aGlzLCBnZXRFbnZDb25zdGFudCgnbGFyYXZlbEJhc2VkU2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnbGFyYXZlbEJhc2VkU2VjdXJpdHlHcm91cElkJyksXG4gICAgICBhbGxvd0FsbE91dGJvdW5kOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIFNTSCBhY2Nlc3NcbiAgICBsYXJhdmVsU2VjR3JwLmFkZEluZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIGZyb20gd2l0aGluIFZQQycpO1xuICAgIC8vIGFkZCBydWxlIGZvciBIVFRQXG4gICAgbGFyYXZlbFNlY0dycC5hZGRJbmdyZXNzUnVsZShjZGsuYXdzX2VjMi5QZWVyLmlwdjQodnBjLnZwY0NpZHJCbG9jayksIGNkay5hd3NfZWMyLlBvcnQudGNwKDgwODApLCAnSFRUUCBmcm9tIHdpdGhpbiBWUEMnKTtcblxuICAgIC8vIHNlY3VyaXR5IGdyb3VwIGZvciBJbnN0YW5jZSBDb25uZWN0aW9uIEVuZHBvaW50XG4gICAgY29uc3QgaWNlU2VjR3JwID0gbmV3IGNkay5hd3NfZWMyLlNlY3VyaXR5R3JvdXAodGhpcywgZ2V0RW52Q29uc3RhbnQoJ2VjMkluc3RhbmNlQ29ubmVjdEVuZHBvaW50U2VjdXJpdHlHcm91cElkJyksIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXBOYW1lOiBnZXRFbnZDb25zdGFudCgnZWMySW5zdGFuY2VDb25uZWN0RW5kcG9pbnRTZWN1cml0eUdyb3VwSWQnKSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIHJ1bGUgZm9yIG91dGJvdW5kIFNTSFxuICAgIGljZVNlY0dycC5hZGRFZ3Jlc3NSdWxlKGNkay5hd3NfZWMyLlBlZXIuaXB2NCh2cGMudnBjQ2lkckJsb2NrKSwgY2RrLmF3c19lYzIuUG9ydC50Y3AoMjIpLCAnU1NIIHRvIHdpdGhpbiBWUEMnKTtcblxuICAgIG5ldyBjZGsuYXdzX2VjMi5DZm5JbnN0YW5jZUNvbm5lY3RFbmRwb2ludCh0aGlzLCBnZXRFbnZDb25zdGFudCgnZWMySW5zdGFuY2VDb25uZWN0RW5kcG9pbnRJZCcpLCB7XG4gICAgICBzZWN1cml0eUdyb3VwSWRzOiBbaWNlU2VjR3JwLnNlY3VyaXR5R3JvdXBJZF0sXG4gICAgICBzdWJuZXRJZDogdnBjLnByaXZhdGVTdWJuZXRzWzBdLnN1Ym5ldElkLFxuICAgIH0pO1xuXG4gICAgbmV3IGNkay5DZm5PdXRwdXQodGhpcywgJ3ZwYyBJRCcsIHtcbiAgICAgIHZhbHVlOiB2cGMudnBjSWQsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -24,8 +24,7 @@ sudo cat $configuration_dir/local.env >> .env
|
|
|
24
24
|
sudo chown -R ubuntu:ubuntu $microservices_dir
|
|
25
25
|
su - ubuntu -c "ssh-keyscan -t rsa,dsa github.com >> ~/.ssh/known_hosts"
|
|
26
26
|
su - ubuntu -c "composer config --global github-oauth.github.com $github_api_key"
|
|
27
|
-
su - ubuntu -c "cd $service_dir && composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev"
|
|
28
|
-
#su - ubuntu -c "cd $service_dir && composer require glicogh/healthcare-laravel-package:dev-master --no-interaction --prefer-dist --optimize-autoloader"
|
|
27
|
+
su - ubuntu -c "cd $service_dir/laravel && composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev"
|
|
29
28
|
|
|
30
29
|
# remove redundant packages
|
|
31
30
|
sudo apt remove apache2 -yq
|
|
@@ -37,24 +36,24 @@ sudo apt remove apache2 -yq
|
|
|
37
36
|
# sudo ln -sf /etc/php/8.3/mods-available/openswoole.ini /etc/php/8.3/cli/conf.d/20-openswoole.ini
|
|
38
37
|
# echo '::: Openswoole installation complete'
|
|
39
38
|
|
|
40
|
-
php $service_dir/artisan octane:install --server swoole --no-interaction
|
|
39
|
+
php $service_dir/laravel/artisan octane:install --server swoole --no-interaction
|
|
41
40
|
|
|
42
41
|
# optimize and start laravel
|
|
43
|
-
php $service_dir/artisan migrate --force
|
|
42
|
+
php $service_dir/laravel/artisan migrate --force
|
|
44
43
|
if [[ ${env_name} != "prod" ]]; then
|
|
45
44
|
php artisan db:seed
|
|
46
45
|
fi
|
|
47
46
|
|
|
48
|
-
# php $service_dir/artisan cache:clear
|
|
49
|
-
php $service_dir/artisan route:cache
|
|
50
|
-
php $service_dir/artisan config:cache
|
|
51
|
-
php $service_dir/artisan view:cache
|
|
47
|
+
# php $service_dir/laravel/artisan cache:clear
|
|
48
|
+
php $service_dir/laravel/artisan route:cache
|
|
49
|
+
php $service_dir/laravel/artisan config:cache
|
|
50
|
+
php $service_dir/laravel/artisan view:cache
|
|
52
51
|
|
|
53
52
|
# create supervisor config for generic queue
|
|
54
53
|
cat > $configuration_dir/supervisor.{{serviceName}}-service-generic-queue.conf <<EOL
|
|
55
54
|
[program:{{serviceName}}-service-generic-queue]
|
|
56
55
|
process_name=%(program_name)s_%(process_num)02d
|
|
57
|
-
command=php $service_dir/artisan queue:work --sleep=3 --tries=3
|
|
56
|
+
command=php $service_dir/laravel/artisan queue:work --sleep=3 --tries=3
|
|
58
57
|
autostart=true
|
|
59
58
|
autorestart=true
|
|
60
59
|
stopasgroup=true
|
|
@@ -70,7 +69,7 @@ sudo ln -sf $configuration_dir/supervisor.{{serviceName}}-service-generic-queue.
|
|
|
70
69
|
cat > $configuration_dir/supervisor.{{serviceName}}-service-server.conf <<EOL
|
|
71
70
|
[program:{{serviceName}}-service-server]
|
|
72
71
|
process_name=%(program_name)s_%(process_num)02d
|
|
73
|
-
command=php $service_dir/artisan octane:start --port $microservice_port --host $instance_private_ip
|
|
72
|
+
command=php $service_dir/laravel/artisan octane:start --port $microservice_port --host $instance_private_ip
|
|
74
73
|
autostart=true
|
|
75
74
|
autorestart=true
|
|
76
75
|
stopasgroup=true
|
|
@@ -85,11 +84,11 @@ sudo ln -sf $configuration_dir/supervisor.{{serviceName}}-service-server.conf /e
|
|
|
85
84
|
sudo systemctl restart supervisor
|
|
86
85
|
|
|
87
86
|
# register cron
|
|
88
|
-
cron_command="cd $service_dir && php artisan schedule:run >> $logs_dir/{{serviceName}}-cron.log"
|
|
87
|
+
cron_command="cd $service_dir/laravel && php artisan schedule:run >> $logs_dir/{{serviceName}}-cron.log"
|
|
89
88
|
cron_job="* * * * * $cron_command"
|
|
90
89
|
( ( crontab -l || true ) | ( grep -v -F "$cron_command" || true ) ; echo "$cron_job" ) | crontab -
|
|
91
90
|
|
|
92
91
|
# service discovery
|
|
93
|
-
php $service_dir/artisan glico:healthcare:microservice:discovery
|
|
92
|
+
php $service_dir/laravel/artisan glico:healthcare:microservice:discovery
|
|
94
93
|
|
|
95
94
|
sudo chown -R ubuntu:ubuntu $service_dir
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
sudo apt install gnupg curl -yq
|
|
2
|
+
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
|
|
3
|
+
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
|
|
4
|
+
--dearmor
|
|
5
|
+
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
|
|
6
|
+
sudo apt update -yq
|
|
7
|
+
sudo apt install mongodb-org -yq
|
|
8
|
+
|
|
9
|
+
ulimit -f unlimited
|
|
10
|
+
ulimit -t unlimited
|
|
11
|
+
ulimit -v unlimited
|
|
12
|
+
ulimit -l unlimited
|
|
13
|
+
ulimit -n 64000
|
|
14
|
+
ulimit -m unlimited
|
|
15
|
+
ulimit -u 64000
|
|
16
|
+
|
|
17
|
+
sudo sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/g' /etc/mongod.conf
|
|
18
|
+
|
|
19
|
+
sudo systemctl daemon-reload
|
|
20
|
+
sudo systemctl restart mongod
|
|
21
|
+
sudo systemctl enable mongod
|
|
@@ -1,7 +1,43 @@
|
|
|
1
1
|
cd ~
|
|
2
2
|
curl -fsSL https://deb.nodesource.com/setup_current.x -o nodesource_setup.sh
|
|
3
3
|
sudo -E bash nodesource_setup.sh
|
|
4
|
-
sudo apt install nodejs
|
|
4
|
+
sudo apt install nodejs -yq
|
|
5
|
+
|
|
6
|
+
# begin chromium installation
|
|
7
|
+
sudo apt remove chromium chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg
|
|
8
|
+
sudo snap remove --purge chromium-browser
|
|
9
|
+
sudo snap remove --purge chromium
|
|
10
|
+
|
|
11
|
+
cat > /etc/apt/sources.list.d/debian.list <<EOL
|
|
12
|
+
deb [trusted=yes] http://deb.debian.org/debian bullseye main
|
|
13
|
+
deb [trusted=yes] http://deb.debian.org/debian bullseye-updates main
|
|
14
|
+
deb [trusted=yes] http://deb.debian.org/debian-security/ bullseye-security main
|
|
15
|
+
EOL
|
|
16
|
+
|
|
17
|
+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 6ED0E7B82643E131
|
|
18
|
+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 605C66F00D6C9793
|
|
19
|
+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 0E98404D386FA1D9
|
|
20
|
+
|
|
21
|
+
cat > /etc/apt/preferences.d/chromium.pref <<EOL
|
|
22
|
+
# Note: 2 blank lines are required between entries
|
|
23
|
+
Package: *
|
|
24
|
+
Pin: release a=eoan
|
|
25
|
+
Pin-Priority: 500
|
|
26
|
+
|
|
27
|
+
Package: *
|
|
28
|
+
Pin: origin "deb.debian.org"
|
|
29
|
+
Pin-Priority: 300
|
|
30
|
+
|
|
31
|
+
# Pattern includes 'chromium', 'chromium-browser' and similarly
|
|
32
|
+
# named dependencies:
|
|
33
|
+
Package: chromium*
|
|
34
|
+
Pin: origin "deb.debian.org"
|
|
35
|
+
Pin-Priority: 700
|
|
36
|
+
EOL
|
|
37
|
+
|
|
38
|
+
sudo apt update -yq
|
|
39
|
+
sudo apt install chromium -yq
|
|
40
|
+
# end chromium installation
|
|
5
41
|
|
|
6
42
|
cd $service_dir/node-scripts
|
|
7
43
|
|
package/dist/util/constants.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ declare const CONSTANTS: {
|
|
|
7
7
|
readonly laravelBasedSecurityGroupId: "Laravel-Based-SG";
|
|
8
8
|
readonly notificationServiceSecurityGroupId: "Notification-Service-SG";
|
|
9
9
|
readonly mysqlSecurityGroupId: "MySQL-SG";
|
|
10
|
+
readonly mongoDBSecurityGroupId: "MongoDB-SG";
|
|
10
11
|
readonly ec2InstanceConnectEndpointId: "Instance-Connect-Endpoint";
|
|
11
12
|
readonly ec2InstanceConnectEndpointSecurityGroupId: "Instance-Connect-Endpoint-SG";
|
|
12
13
|
readonly defaultImageAmi: "ami-0e182bc1c32ba03c3";
|
|
@@ -21,7 +22,7 @@ declare const CONSTANTS: {
|
|
|
21
22
|
readonly gitBranches: RepoBranches;
|
|
22
23
|
};
|
|
23
24
|
};
|
|
24
|
-
export declare function getConstant(key: keyof typeof CONSTANTS): 8 | "gp3" | "Microservice-VPC" | "API-Gateway-SG" | "Portal-SG" | "Redis-SG" | "Laravel-Based-SG" | "Notification-Service-SG" | "MySQL-SG" | "Instance-Connect-Endpoint" | "Instance-Connect-Endpoint-SG" | "ami-0e182bc1c32ba03c3" | "t4g.nano" | "isa" | "EC2-Instance-Base-Role" | "glicogh-healthcare-files" | {
|
|
25
|
+
export declare function getConstant(key: keyof typeof CONSTANTS): 8 | "gp3" | "Microservice-VPC" | "API-Gateway-SG" | "Portal-SG" | "Redis-SG" | "Laravel-Based-SG" | "Notification-Service-SG" | "MySQL-SG" | "MongoDB-SG" | "Instance-Connect-Endpoint" | "Instance-Connect-Endpoint-SG" | "ami-0e182bc1c32ba03c3" | "t4g.nano" | "isa" | "EC2-Instance-Base-Role" | "glicogh-healthcare-files" | {
|
|
25
26
|
readonly githubRepoPaths: RepoUrls;
|
|
26
27
|
readonly gitBranches: RepoBranches;
|
|
27
28
|
};
|
package/dist/util/constants.js
CHANGED
|
@@ -25,6 +25,7 @@ const CONSTANTS = {
|
|
|
25
25
|
laravelBasedSecurityGroupId: 'Laravel-Based-SG',
|
|
26
26
|
notificationServiceSecurityGroupId: 'Notification-Service-SG',
|
|
27
27
|
mysqlSecurityGroupId: 'MySQL-SG',
|
|
28
|
+
mongoDBSecurityGroupId: 'MongoDB-SG',
|
|
28
29
|
ec2InstanceConnectEndpointId: 'Instance-Connect-Endpoint',
|
|
29
30
|
ec2InstanceConnectEndpointSecurityGroupId: 'Instance-Connect-Endpoint-SG',
|
|
30
31
|
defaultImageAmi: 'ami-0e182bc1c32ba03c3', // ARM based
|
|
@@ -45,4 +46,4 @@ function getConstant(key) {
|
|
|
45
46
|
function getEnvConstant(key) {
|
|
46
47
|
return `${getConstant(key)}-${initBuildConfig_1.buildConfig?.envName}`;
|
|
47
48
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdXRpbC9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUEyQ0Esa0NBRUM7QUFFRCx3Q0FFQztBQWhERCx1REFBZ0Q7QUFFaEQsTUFBTSxTQUFTLEdBQWE7SUFDMUIsT0FBTyxFQUFFLDZDQUE2QztJQUN0RCxJQUFJLEVBQUUsMENBQTBDO0lBQ2hELE1BQU0sRUFBRSw0Q0FBNEM7SUFDcEQsTUFBTSxFQUFFLDRDQUE0QztJQUNwRCxTQUFTLEVBQUUsK0NBQStDO0lBQzFELFlBQVksRUFBRSxrREFBa0Q7SUFDaEUsYUFBYSxFQUFFLG9DQUFvQztJQUNuRCxNQUFNLEVBQUUsK0JBQStCO0NBQ3hDLENBQUM7QUFFRixNQUFNLFlBQVksR0FBaUI7SUFDakMsR0FBRyxFQUFFLFFBQVE7SUFDYixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUc7SUFDaEIsS0FBSyxFQUFFLGtCQUFrQjtJQUN6Qix5QkFBeUIsRUFBRSxnQkFBZ0I7SUFDM0MscUJBQXFCLEVBQUUsV0FBVztJQUNsQyxvQkFBb0IsRUFBRSxVQUFVO0lBQ2hDLDJCQUEyQixFQUFFLGtCQUFrQjtJQUMvQyxrQ0FBa0MsRUFBRSx5QkFBeUI7SUFDN0Qsb0JBQW9CLEVBQUUsVUFBVTtJQUNoQyxzQkFBc0IsRUFBRSxZQUFZO0lBQ3BDLDRCQUE0QixFQUFFLDJCQUEyQjtJQUN6RCx5Q0FBeUMsRUFBRSw4QkFBOEI7SUFDekUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLFlBQVk7SUFDdEQsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFlBQVk7SUFDN0Msa0JBQWtCLEVBQUUsQ0FBQztJQUNyQixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFlBQVksRUFBRSx3QkFBd0I7SUFDdEMsZ0JBQWdCLEVBQUUsMEJBQTBCO0lBQzVDLFVBQVUsRUFBRTtRQUNWLGVBQWUsRUFBRSxTQUFTO1FBQzFCLFdBQVcsRUFBRSxZQUFZO0tBQzFCO0NBQ08sQ0FBQztBQUVYLFNBQWdCLFdBQVcsQ0FBQyxHQUEyQjtJQUNyRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLEdBQTJCO0lBQ3hELE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksNkJBQVcsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwb0JyYW5jaGVzLCBSZXBvVXJscyB9IGZyb20gJy4uL0B0eXBlcy9jb21tb24nO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuL2luaXRCdWlsZENvbmZpZyc7XG5cbmNvbnN0IHJlcG9QYXRoczogUmVwb1VybHMgPSB7XG4gIGFjY291bnQ6ICdnbGljb2doL2hlYWx0aGNhcmUtbWljcm9zZXJ2aWNlLWFjY291bnQuZ2l0JyxcbiAgcGxhbjogJ2dsaWNvZ2gvaGVhbHRoY2FyZS1taWNyb3NlcnZpY2UtcGxhbi5naXQnLFxuICBwb2xpY3k6ICdnbGljb2doL2hlYWx0aGNhcmUtbWljcm9zZXJ2aWNlLXBvbGljeS5naXQnLFxuICBjbGFpbXM6ICdnbGljb2doL2hlYWx0aGNhcmUtbWljcm9zZXJ2aWNlLWNsYWltcy5naXQnLFxuICByZXBvcnRpbmc6ICdnbGljb2doL2hlYWx0aGNhcmUtbWljcm9zZXJ2aWNlLXJlcG9ydGluZy5naXQnLFxuICBub3RpZmljYXRpb246ICdnbGljb2doL2hlYWx0aGNhcmUtbWljcm9zZXJ2aWNlLW5vdGlmaWNhdGlvbi5naXQnLFxuICAnYXBpLWdhdGV3YXknOiAnZ2xpY29naC9oZWFsdGhjYXJlLWFwaS1nYXRld2F5LmdpdCcsXG4gIHBvcnRhbDogJ2dsaWNvZ2gvaGVhbHRoY2FyZS1wb3J0YWwuZ2l0Jyxcbn07XG5cbmNvbnN0IHJlcG9CcmFuY2hlczogUmVwb0JyYW5jaGVzID0ge1xuICB1YXQ6ICdtYXN0ZXInLFxuICBwcm9kOiAncmVsZWFzZScsXG59O1xuXG5jb25zdCBDT05TVEFOVFMgPSB7XG4gIHZwY0lkOiAnTWljcm9zZXJ2aWNlLVZQQycsXG4gIGFwaUdhdGV3YXlTZWN1cml0eUdyb3VwSWQ6ICdBUEktR2F0ZXdheS1TRycsXG4gIHBvcnRhbFNlY3VyaXR5R3JvdXBJZDogJ1BvcnRhbC1TRycsXG4gIHJlZGlzU2VjdXJpdHlHcm91cElkOiAnUmVkaXMtU0cnLFxuICBsYXJhdmVsQmFzZWRTZWN1cml0eUdyb3VwSWQ6ICdMYXJhdmVsLUJhc2VkLVNHJyxcbiAgbm90aWZpY2F0aW9uU2VydmljZVNlY3VyaXR5R3JvdXBJZDogJ05vdGlmaWNhdGlvbi1TZXJ2aWNlLVNHJyxcbiAgbXlzcWxTZWN1cml0eUdyb3VwSWQ6ICdNeVNRTC1TRycsXG4gIG1vbmdvREJTZWN1cml0eUdyb3VwSWQ6ICdNb25nb0RCLVNHJyxcbiAgZWMySW5zdGFuY2VDb25uZWN0RW5kcG9pbnRJZDogJ0luc3RhbmNlLUNvbm5lY3QtRW5kcG9pbnQnLFxuICBlYzJJbnN0YW5jZUNvbm5lY3RFbmRwb2ludFNlY3VyaXR5R3JvdXBJZDogJ0luc3RhbmNlLUNvbm5lY3QtRW5kcG9pbnQtU0cnLFxuICBkZWZhdWx0SW1hZ2VBbWk6ICdhbWktMGUxODJiYzFjMzJiYTAzYzMnLCAvLyBBUk0gYmFzZWRcbiAgZGVmYXVsdEluc3RhbmNlU2l6ZTogJ3Q0Zy5uYW5vJywgLy8gQVJNIGJhc2VkXG4gIGRlZmF1bHRTdG9yYWdlU2l6ZTogOCxcbiAgZGVmYXVsdFN0b3JhZ2VUeXBlOiAnZ3AzJyxcbiAga2V5UGFpck5hbWU6ICdpc2EnLFxuICBiYXNlUm9sZU5hbWU6ICdFQzItSW5zdGFuY2UtQmFzZS1Sb2xlJyxcbiAgcHVibGljQnVja2V0TmFtZTogJ2dsaWNvZ2gtaGVhbHRoY2FyZS1maWxlcycsXG4gIGRlcGxveW1lbnQ6IHtcbiAgICBnaXRodWJSZXBvUGF0aHM6IHJlcG9QYXRocyxcbiAgICBnaXRCcmFuY2hlczogcmVwb0JyYW5jaGVzLFxuICB9LFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbnN0YW50KGtleToga2V5b2YgdHlwZW9mIENPTlNUQU5UUykge1xuICByZXR1cm4gQ09OU1RBTlRTW2tleV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnZDb25zdGFudChrZXk6IGtleW9mIHR5cGVvZiBDT05TVEFOVFMpIHtcbiAgcmV0dXJuIGAke2dldENvbnN0YW50KGtleSl9LSR7YnVpbGRDb25maWc/LmVudk5hbWV9YDtcbn1cbiJdfQ==
|
|
@@ -14,6 +14,7 @@ const isLaravelBased_1 = require("./isLaravelBased");
|
|
|
14
14
|
const microservice_mysql_1 = require("../lib/microservice-mysql");
|
|
15
15
|
const microservice_portal_1 = require("../lib/microservice-portal");
|
|
16
16
|
const microservice_infra_auth_1 = require("../lib/microservice-infra-auth");
|
|
17
|
+
const microservice_mongodb_1 = require("../lib/microservice-mongodb");
|
|
17
18
|
function initCdkStack() {
|
|
18
19
|
const app = new cdk.App();
|
|
19
20
|
const buildConfig = (0, initBuildConfig_1.initBuildConfig)(app);
|
|
@@ -64,6 +65,9 @@ function initCdkStack() {
|
|
|
64
65
|
new microservice_mysql_1.MicroserviceMySql(app, `MicroserviceMySQL${buildConfig.formattedBuildId ? '-' + buildConfig.formattedBuildId : ''}`, {
|
|
65
66
|
env: buildConfig.aws,
|
|
66
67
|
});
|
|
68
|
+
new microservice_mongodb_1.MicroserviceMongoDB(app, `MicroserviceMongoDB${buildConfig.formattedBuildId ? '-' + buildConfig.formattedBuildId : ''}`, {
|
|
69
|
+
env: buildConfig.aws,
|
|
70
|
+
});
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdENka1N0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdXRpbC9pbml0Q2RrU3RhY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFlQSxvQ0FzREM7QUFyRUQsdUNBQXFDO0FBQ3JDLG1DQUFtQztBQUNuQyx1REFBb0Q7QUFDcEQsMkNBQXVEO0FBQ3ZELGtGQUE2RTtBQUM3RSxzRUFBa0U7QUFDbEUsOEVBQXlFO0FBQ3pFLGtFQUE4RDtBQUM5RCxnR0FBMkY7QUFDM0YscURBQWtEO0FBQ2xELGtFQUE4RDtBQUM5RCxvRUFBZ0U7QUFDaEUsNEVBQXVFO0FBQ3ZFLHNFQUFrRTtBQUVsRSxTQUFnQixZQUFZO0lBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLE1BQU0sV0FBVyxHQUFHLElBQUEsaUNBQWUsRUFBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxJQUFBLHFCQUFTLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFFZixJQUFJLElBQUEsK0JBQWMsR0FBRSxFQUFFLENBQUM7UUFDckIsSUFBQSx5QkFBYSxFQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUkscURBQXdCLENBQUMsR0FBRyxFQUFFLDRCQUE0QixXQUFXLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1lBQ3ZILEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztZQUNwQjs7NkVBRWlFO1lBRWpFOytFQUNtRTtZQUNuRSw2RkFBNkY7WUFFN0Y7OENBQ2tDO1lBQ2xDLHlEQUF5RDtZQUV6RCw4RkFBOEY7U0FDL0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLElBQUksV0FBVyxDQUFDLFdBQVcsS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUN0RCxJQUFBLHlCQUFhLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxtRUFBK0IsQ0FBQyxHQUFHLEVBQUUsbUNBQW1DLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1lBQzFHLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO1NBQU0sSUFBSSxXQUFXLENBQUMsV0FBVyxLQUFLLGFBQWEsRUFBRSxDQUFDO1FBQ3JELElBQUksaURBQXNCLENBQUMsR0FBRyxFQUFFLHlCQUF5QixXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ2pJLEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDO1NBQU0sSUFBSSxXQUFXLENBQUMsV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hELElBQUEseUJBQWEsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLHdDQUFrQixDQUFDLEdBQUcsRUFBRSxxQkFBcUIsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN6SCxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUc7U0FDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDTixJQUFJLDBDQUFtQixDQUFDLEdBQUcsRUFBRSxxQkFBcUIsRUFBRTtZQUNsRCxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUc7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSwrQ0FBcUIsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLEVBQUU7WUFDdEQsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1NBQ3JCLENBQUMsQ0FBQztRQUNILElBQUksc0NBQWlCLENBQUMsR0FBRyxFQUFFLG9CQUFvQixXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3ZILEdBQUcsRUFBRSxXQUFXLENBQUMsR0FBRztTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLHNDQUFpQixDQUFDLEdBQUcsRUFBRSxvQkFBb0IsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN2SCxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUc7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSwwQ0FBbUIsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDM0gsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdzb3VyY2UtbWFwLXN1cHBvcnQvcmVnaXN0ZXInO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IGluaXRCdWlsZENvbmZpZyB9IGZyb20gJy4vaW5pdEJ1aWxkQ29uZmlnJztcbmltcG9ydCB7IGFkZFJlcG9Ub1RhZ3MsIGFwcGx5VGFncyB9IGZyb20gJy4vYXBwbHlUYWdzJztcbmltcG9ydCB7IE1pY3Jvc2VydmljZUxhcmF2ZWxCYXNlZCB9IGZyb20gJy4uL2xpYi9taWNyb3NlcnZpY2UtbGFyYXZlbC1iYXNlZCc7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VOZXR3b3JrIH0gZnJvbSAnLi4vbGliL21pY3Jvc2VydmljZS1uZXR3b3JrJztcbmltcG9ydCB7IE1pY3Jvc2VydmljZUFwaUdhdGV3YXkgfSBmcm9tICcuLi9saWIvbWljcm9zZXJ2aWNlLWFwaS1nYXRld2F5JztcbmltcG9ydCB7IE1pY3Jvc2VydmljZVJlZGlzIH0gZnJvbSAnLi4vbGliL21pY3Jvc2VydmljZS1yZWRpcyc7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vbGliL21pY3Jvc2VydmljZS1ub3RpZmljYXRpb24tc2VydmljZSc7XG5pbXBvcnQgeyBpc0xhcmF2ZWxCYXNlZCB9IGZyb20gJy4vaXNMYXJhdmVsQmFzZWQnO1xuaW1wb3J0IHsgTWljcm9zZXJ2aWNlTXlTcWwgfSBmcm9tICcuLi9saWIvbWljcm9zZXJ2aWNlLW15c3FsJztcbmltcG9ydCB7IE1pY3Jvc2VydmljZVBvcnRhbCB9IGZyb20gJy4uL2xpYi9taWNyb3NlcnZpY2UtcG9ydGFsJztcbmltcG9ydCB7IE1pY3Jvc2VydmljZUluZnJhQXV0aCB9IGZyb20gJy4uL2xpYi9taWNyb3NlcnZpY2UtaW5mcmEtYXV0aCc7XG5pbXBvcnQgeyBNaWNyb3NlcnZpY2VNb25nb0RCIH0gZnJvbSAnLi4vbGliL21pY3Jvc2VydmljZS1tb25nb2RiJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRDZGtTdGFjaygpIHtcbiAgY29uc3QgYXBwID0gbmV3IGNkay5BcHAoKTtcbiAgY29uc3QgYnVpbGRDb25maWcgPSBpbml0QnVpbGRDb25maWcoYXBwKTtcbiAgYXBwbHlUYWdzKGFwcCk7XG5cbiAgaWYgKGlzTGFyYXZlbEJhc2VkKCkpIHtcbiAgICBhZGRSZXBvVG9UYWdzKGFwcCk7XG4gICAgbmV3IE1pY3Jvc2VydmljZUxhcmF2ZWxCYXNlZChhcHAsIGBNaWNyb3NlcnZpY2VMYXJhdmVsQmFzZWQtJHtidWlsZENvbmZpZy5zZXJ2aWNlTmFtZX0tJHtidWlsZENvbmZpZy5mb3JtYXR0ZWRCdWlsZElkfWAsIHtcbiAgICAgIGVudjogYnVpbGRDb25maWcuYXdzLFxuICAgICAgLyogSWYgeW91IGRvbid0IHNwZWNpZnkgJ2VudicsIHRoaXMgc3RhY2sgd2lsbCBiZSBlbnZpcm9ubWVudC1hZ25vc3RpYy5cbiAgICAgICAqIEFjY291bnQvUmVnaW9uLWRlcGVuZGVudCBmZWF0dXJlcyBhbmQgY29udGV4dCBsb29rdXBzIHdpbGwgbm90IHdvcmssXG4gICAgICAgKiBidXQgYSBzaW5nbGUgc3ludGhlc2l6ZWQgdGVtcGxhdGUgY2FuIGJlIGRlcGxveWVkIGFueXdoZXJlLiAqL1xuXG4gICAgICAvKiBVbmNvbW1lbnQgdGhlIG5leHQgbGluZSB0byBzcGVjaWFsaXplIHRoaXMgc3RhY2sgZm9yIHRoZSBBV1MgQWNjb3VudFxuICAgICAgICogYW5kIFJlZ2lvbiB0aGF0IGFyZSBpbXBsaWVkIGJ5IHRoZSBjdXJyZW50IENMSSBjb25maWd1cmF0aW9uLiAqL1xuICAgICAgLy8gZW52OiB7IGFjY291bnQ6IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQsIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfUkVHSU9OIH0sXG5cbiAgICAgIC8qIFVuY29tbWVudCB0aGUgbmV4dCBsaW5lIGlmIHlvdSBrbm93IGV4YWN0bHkgd2hhdCBBY2NvdW50IGFuZCBSZWdpb24geW91XG4gICAgICAgKiB3YW50IHRvIGRlcGxveSB0aGUgc3RhY2sgdG8uICovXG4gICAgICAvLyBlbnY6IHsgYWNjb3VudDogJzEyMzQ1Njc4OTAxMicsIHJlZ2lvbjogJ3VzLWVhc3QtMScgfSxcblxuICAgICAgLyogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2xhdGVzdC9ndWlkZS9lbnZpcm9ubWVudHMuaHRtbCAqL1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKGJ1aWxkQ29uZmlnLnNlcnZpY2VOYW1lID09PSAnbm90aWZpY2F0aW9uJykge1xuICAgIGFkZFJlcG9Ub1RhZ3MoYXBwKTtcbiAgICBuZXcgTWljcm9zZXJ2aWNlTm90aWZpY2F0aW9uU2VydmljZShhcHAsIGBNaWNyb3NlcnZpY2VOb3RpZmljYXRpb25TZXJ2aWNlLSR7YnVpbGRDb25maWcuZm9ybWF0dGVkQnVpbGRJZH1gLCB7XG4gICAgICBlbnY6IGJ1aWxkQ29uZmlnLmF3cyxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChidWlsZENvbmZpZy5zZXJ2aWNlTmFtZSA9PT0gJ2FwaS1nYXRld2F5Jykge1xuICAgIG5ldyBNaWNyb3NlcnZpY2VBcGlHYXRld2F5KGFwcCwgYE1pY3Jvc2VydmljZUFwaUdhdGV3YXkke2J1aWxkQ29uZmlnLmZvcm1hdHRlZEJ1aWxkSWQgPyAnLScgKyBidWlsZENvbmZpZy5mb3JtYXR0ZWRCdWlsZElkIDogJyd9YCwge1xuICAgICAgZW52OiBidWlsZENvbmZpZy5hd3MsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoYnVpbGRDb25maWcuc2VydmljZU5hbWUgPT09ICdwb3J0YWwnKSB7XG4gICAgYWRkUmVwb1RvVGFncyhhcHApO1xuICAgIG5ldyBNaWNyb3NlcnZpY2VQb3J0YWwoYXBwLCBgTWljcm9zZXJ2aWNlUG9ydGFsJHtidWlsZENvbmZpZy5mb3JtYXR0ZWRCdWlsZElkID8gJy0nICsgYnVpbGRDb25maWcuZm9ybWF0dGVkQnVpbGRJZCA6ICcnfWAsIHtcbiAgICAgIGVudjogYnVpbGRDb25maWcuYXdzLFxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG5ldyBNaWNyb3NlcnZpY2VOZXR3b3JrKGFwcCwgJ01pY3Jvc2VydmljZU5ldHdvcmsnLCB7XG4gICAgICBlbnY6IGJ1aWxkQ29uZmlnLmF3cyxcbiAgICB9KTtcbiAgICBuZXcgTWljcm9zZXJ2aWNlSW5mcmFBdXRoKGFwcCwgJ01pY3Jvc2VydmljZUluZnJhQXV0aCcsIHtcbiAgICAgIGVudjogYnVpbGRDb25maWcuYXdzLFxuICAgIH0pO1xuICAgIG5ldyBNaWNyb3NlcnZpY2VSZWRpcyhhcHAsIGBNaWNyb3NlcnZpY2VSZWRpcyR7YnVpbGRDb25maWcuZm9ybWF0dGVkQnVpbGRJZCA/ICctJyArIGJ1aWxkQ29uZmlnLmZvcm1hdHRlZEJ1aWxkSWQgOiAnJ31gLCB7XG4gICAgICBlbnY6IGJ1aWxkQ29uZmlnLmF3cyxcbiAgICB9KTtcbiAgICBuZXcgTWljcm9zZXJ2aWNlTXlTcWwoYXBwLCBgTWljcm9zZXJ2aWNlTXlTUUwke2J1aWxkQ29uZmlnLmZvcm1hdHRlZEJ1aWxkSWQgPyAnLScgKyBidWlsZENvbmZpZy5mb3JtYXR0ZWRCdWlsZElkIDogJyd9YCwge1xuICAgICAgZW52OiBidWlsZENvbmZpZy5hd3MsXG4gICAgfSk7XG4gICAgbmV3IE1pY3Jvc2VydmljZU1vbmdvREIoYXBwLCBgTWljcm9zZXJ2aWNlTW9uZ29EQiR7YnVpbGRDb25maWcuZm9ybWF0dGVkQnVpbGRJZCA/ICctJyArIGJ1aWxkQ29uZmlnLmZvcm1hdHRlZEJ1aWxkSWQgOiAnJ31gLCB7XG4gICAgICBlbnY6IGJ1aWxkQ29uZmlnLmF3cyxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -24,8 +24,7 @@ sudo cat $configuration_dir/local.env >> .env
|
|
|
24
24
|
sudo chown -R ubuntu:ubuntu $microservices_dir
|
|
25
25
|
su - ubuntu -c "ssh-keyscan -t rsa,dsa github.com >> ~/.ssh/known_hosts"
|
|
26
26
|
su - ubuntu -c "composer config --global github-oauth.github.com $github_api_key"
|
|
27
|
-
su - ubuntu -c "cd $service_dir && composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev"
|
|
28
|
-
#su - ubuntu -c "cd $service_dir && composer require glicogh/healthcare-laravel-package:dev-master --no-interaction --prefer-dist --optimize-autoloader"
|
|
27
|
+
su - ubuntu -c "cd $service_dir/laravel && composer install --no-interaction --prefer-dist --optimize-autoloader --no-dev"
|
|
29
28
|
|
|
30
29
|
# remove redundant packages
|
|
31
30
|
sudo apt remove apache2 -yq
|
|
@@ -37,24 +36,24 @@ sudo apt remove apache2 -yq
|
|
|
37
36
|
# sudo ln -sf /etc/php/8.3/mods-available/openswoole.ini /etc/php/8.3/cli/conf.d/20-openswoole.ini
|
|
38
37
|
# echo '::: Openswoole installation complete'
|
|
39
38
|
|
|
40
|
-
php $service_dir/artisan octane:install --server swoole --no-interaction
|
|
39
|
+
php $service_dir/laravel/artisan octane:install --server swoole --no-interaction
|
|
41
40
|
|
|
42
41
|
# optimize and start laravel
|
|
43
|
-
php $service_dir/artisan migrate --force
|
|
42
|
+
php $service_dir/laravel/artisan migrate --force
|
|
44
43
|
if [[ ${env_name} != "prod" ]]; then
|
|
45
44
|
php artisan db:seed
|
|
46
45
|
fi
|
|
47
46
|
|
|
48
|
-
# php $service_dir/artisan cache:clear
|
|
49
|
-
php $service_dir/artisan route:cache
|
|
50
|
-
php $service_dir/artisan config:cache
|
|
51
|
-
php $service_dir/artisan view:cache
|
|
47
|
+
# php $service_dir/laravel/artisan cache:clear
|
|
48
|
+
php $service_dir/laravel/artisan route:cache
|
|
49
|
+
php $service_dir/laravel/artisan config:cache
|
|
50
|
+
php $service_dir/laravel/artisan view:cache
|
|
52
51
|
|
|
53
52
|
# create supervisor config for generic queue
|
|
54
53
|
cat > $configuration_dir/supervisor.{{serviceName}}-service-generic-queue.conf <<EOL
|
|
55
54
|
[program:{{serviceName}}-service-generic-queue]
|
|
56
55
|
process_name=%(program_name)s_%(process_num)02d
|
|
57
|
-
command=php $service_dir/artisan queue:work --sleep=3 --tries=3
|
|
56
|
+
command=php $service_dir/laravel/artisan queue:work --sleep=3 --tries=3
|
|
58
57
|
autostart=true
|
|
59
58
|
autorestart=true
|
|
60
59
|
stopasgroup=true
|
|
@@ -70,7 +69,7 @@ sudo ln -sf $configuration_dir/supervisor.{{serviceName}}-service-generic-queue.
|
|
|
70
69
|
cat > $configuration_dir/supervisor.{{serviceName}}-service-server.conf <<EOL
|
|
71
70
|
[program:{{serviceName}}-service-server]
|
|
72
71
|
process_name=%(program_name)s_%(process_num)02d
|
|
73
|
-
command=php $service_dir/artisan octane:start --port $microservice_port --host $instance_private_ip
|
|
72
|
+
command=php $service_dir/laravel/artisan octane:start --port $microservice_port --host $instance_private_ip
|
|
74
73
|
autostart=true
|
|
75
74
|
autorestart=true
|
|
76
75
|
stopasgroup=true
|
|
@@ -85,11 +84,11 @@ sudo ln -sf $configuration_dir/supervisor.{{serviceName}}-service-server.conf /e
|
|
|
85
84
|
sudo systemctl restart supervisor
|
|
86
85
|
|
|
87
86
|
# register cron
|
|
88
|
-
cron_command="cd $service_dir && php artisan schedule:run >> $logs_dir/{{serviceName}}-cron.log"
|
|
87
|
+
cron_command="cd $service_dir/laravel && php artisan schedule:run >> $logs_dir/{{serviceName}}-cron.log"
|
|
89
88
|
cron_job="* * * * * $cron_command"
|
|
90
89
|
( ( crontab -l || true ) | ( grep -v -F "$cron_command" || true ) ; echo "$cron_job" ) | crontab -
|
|
91
90
|
|
|
92
91
|
# service discovery
|
|
93
|
-
php $service_dir/artisan glico:healthcare:microservice:discovery
|
|
92
|
+
php $service_dir/laravel/artisan glico:healthcare:microservice:discovery
|
|
94
93
|
|
|
95
94
|
sudo chown -R ubuntu:ubuntu $service_dir
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
sudo apt install gnupg curl -yq
|
|
2
|
+
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
|
|
3
|
+
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
|
|
4
|
+
--dearmor
|
|
5
|
+
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
|
|
6
|
+
sudo apt update -yq
|
|
7
|
+
sudo apt install mongodb-org -yq
|
|
8
|
+
|
|
9
|
+
ulimit -f unlimited
|
|
10
|
+
ulimit -t unlimited
|
|
11
|
+
ulimit -v unlimited
|
|
12
|
+
ulimit -l unlimited
|
|
13
|
+
ulimit -n 64000
|
|
14
|
+
ulimit -m unlimited
|
|
15
|
+
ulimit -u 64000
|
|
16
|
+
|
|
17
|
+
sudo sed -i 's/bindIp: 127.0.0.1/bindIp: 0.0.0.0/g' /etc/mongod.conf
|
|
18
|
+
|
|
19
|
+
sudo systemctl daemon-reload
|
|
20
|
+
sudo systemctl restart mongod
|
|
21
|
+
sudo systemctl enable mongod
|
|
@@ -1,7 +1,43 @@
|
|
|
1
1
|
cd ~
|
|
2
2
|
curl -fsSL https://deb.nodesource.com/setup_current.x -o nodesource_setup.sh
|
|
3
3
|
sudo -E bash nodesource_setup.sh
|
|
4
|
-
sudo apt install nodejs
|
|
4
|
+
sudo apt install nodejs -yq
|
|
5
|
+
|
|
6
|
+
# begin chromium installation
|
|
7
|
+
sudo apt remove chromium chromium-browser chromium-browser-l10n chromium-codecs-ffmpeg
|
|
8
|
+
sudo snap remove --purge chromium-browser
|
|
9
|
+
sudo snap remove --purge chromium
|
|
10
|
+
|
|
11
|
+
cat > /etc/apt/sources.list.d/debian.list <<EOL
|
|
12
|
+
deb [trusted=yes] http://deb.debian.org/debian bullseye main
|
|
13
|
+
deb [trusted=yes] http://deb.debian.org/debian bullseye-updates main
|
|
14
|
+
deb [trusted=yes] http://deb.debian.org/debian-security/ bullseye-security main
|
|
15
|
+
EOL
|
|
16
|
+
|
|
17
|
+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 6ED0E7B82643E131
|
|
18
|
+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 605C66F00D6C9793
|
|
19
|
+
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 0E98404D386FA1D9
|
|
20
|
+
|
|
21
|
+
cat > /etc/apt/preferences.d/chromium.pref <<EOL
|
|
22
|
+
# Note: 2 blank lines are required between entries
|
|
23
|
+
Package: *
|
|
24
|
+
Pin: release a=eoan
|
|
25
|
+
Pin-Priority: 500
|
|
26
|
+
|
|
27
|
+
Package: *
|
|
28
|
+
Pin: origin "deb.debian.org"
|
|
29
|
+
Pin-Priority: 300
|
|
30
|
+
|
|
31
|
+
# Pattern includes 'chromium', 'chromium-browser' and similarly
|
|
32
|
+
# named dependencies:
|
|
33
|
+
Package: chromium*
|
|
34
|
+
Pin: origin "deb.debian.org"
|
|
35
|
+
Pin-Priority: 700
|
|
36
|
+
EOL
|
|
37
|
+
|
|
38
|
+
sudo apt update -yq
|
|
39
|
+
sudo apt install chromium -yq
|
|
40
|
+
# end chromium installation
|
|
5
41
|
|
|
6
42
|
cd $service_dir/node-scripts
|
|
7
43
|
|