@glicogh/healthcare-cdk 0.1.91 → 0.1.93
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/lib/microservice-infra-auth.js +13 -1
- package/dist/scripts/post-deployment-laravel-based.sh +0 -1
- package/dist/scripts/post-deployment-portal.sh +26 -10
- package/dist/util/getEc2UserData.js +4 -2
- package/package.json +1 -1
- package/scripts/post-deployment-laravel-based.sh +0 -1
- package/scripts/post-deployment-portal.sh +26 -10
|
@@ -66,6 +66,18 @@ class MicroserviceInfraAuth extends cdk.Stack {
|
|
|
66
66
|
actions: ['sts:AssumeRole'],
|
|
67
67
|
resources: [`arn:aws:iam::${this.account}:role/cdk-*`],
|
|
68
68
|
}),
|
|
69
|
+
new cdk.aws_iam.PolicyStatement({
|
|
70
|
+
sid: 'AllowGithubToUploadDeploymentArtifacts',
|
|
71
|
+
effect: cdk.aws_iam.Effect.ALLOW,
|
|
72
|
+
actions: ['s3:PutObject'],
|
|
73
|
+
resources: [`arn:aws:s3:::${(0, getPublicBucketName_1.getPublicBucketName)()}/portal/builds/*`],
|
|
74
|
+
}),
|
|
75
|
+
new cdk.aws_iam.PolicyStatement({
|
|
76
|
+
sid: 'AllowGithubToReadSSMParameters',
|
|
77
|
+
effect: cdk.aws_iam.Effect.ALLOW,
|
|
78
|
+
actions: ['ssm:GetParameter*'],
|
|
79
|
+
resources: [`arn:aws:ssm:${initBuildConfig_1.buildConfig.aws.region}:${initBuildConfig_1.buildConfig.aws.account}:parameter/${initBuildConfig_1.buildConfig.envName}/microservices/*`],
|
|
80
|
+
}),
|
|
69
81
|
// new cdk.aws_iam.PolicyStatement({
|
|
70
82
|
// sid: 'AllowAccessToExistingCfnCdkToolkit',
|
|
71
83
|
// effect: cdk.aws_iam.Effect.ALLOW,
|
|
@@ -110,4 +122,4 @@ class MicroserviceInfraAuth extends cdk.Stack {
|
|
|
110
122
|
}
|
|
111
123
|
}
|
|
112
124
|
exports.MicroserviceInfraAuth = MicroserviceInfraAuth;
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLWluZnJhLWF1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLWluZnJhLWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLDZEQUFzRDtBQUN0RCxpREFBZ0Q7QUFDaEQscUVBQWtFO0FBRWxFLE1BQWEscUJBQXNCLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDbEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsNkJBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsa0RBQWtEO1FBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUEsdUJBQVcsRUFBQyxjQUFjLENBQVcsRUFBRTtZQUNqRixRQUFRLEVBQUUsSUFBQSx1QkFBVyxFQUFDLGNBQWMsQ0FBVztZQUMvQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO1lBQ2hFLGVBQWUsRUFBRSxFQUFFO1lBQ25CLGNBQWMsRUFBRTtnQkFDZCxpQ0FBaUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO29CQUNoRSxVQUFVLEVBQUU7d0JBQ1YsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQzs0QkFDOUIsR0FBRyxFQUFFLHFDQUFxQzs0QkFDMUMsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLElBQUEseUNBQW1CLEdBQUUsRUFBRSxFQUFFLGdCQUFnQixJQUFBLHlDQUFtQixHQUFFLElBQUksQ0FBQzs0QkFDL0YsT0FBTyxFQUFF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QUFFLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdkYsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ2xFLFVBQVUsRUFBRSxlQUFlO1lBQzNCLFVBQVUsRUFBRTtnQkFDVixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO29CQUM5QixHQUFHLEVBQUUsd0JBQXdCO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7b0JBQ2pCLFNBQVMsRUFBRSxDQUFDLGdCQUFnQixJQUFBLHlDQUFtQixHQUFFLElBQUksQ0FBQztpQkFDdkQsQ0FBQztnQkFDRixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO29CQUM5QixHQUFHLEVBQUUseUJBQXlCO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLFNBQVMsRUFBRSxDQUFDLGVBQWUsNkJBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLDZCQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sYUFBYSxDQUFDO2lCQUMzRixDQUFDO2dCQUNGLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7b0JBQzlCLEdBQUcsRUFBRSx5QkFBeUI7b0JBQzlCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsU0FBUyxFQUFFLENBQUMsZUFBZSw2QkFBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksNkJBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUM7aUJBQ2xGLENBQUM7YUFDSDtTQUNGLENBQUMsQ0FBQztRQUNILGFBQWEsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBOUdELHNEQThHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IGJ1aWxkQ29uZmlnIH0gZnJvbSAnLi4vdXRpbC9pbml0QnVpbGRDb25maWcnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQgfSBmcm9tICcuLi91dGlsL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRQdWJsaWNCdWNrZXROYW1lIH0gZnJvbSAnLi4vdXRpbC9nZXRQdWJsaWNCdWNrZXROYW1lJztcblxuZXhwb3J0IGNsYXNzIE1pY3Jvc2VydmljZUluZnJhQXV0aCBleHRlbmRzIGNkay5TdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogY2RrLlN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGlmICghYnVpbGRDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQnVpbGRDb25maWcgbm90IHNldCcpO1xuICAgIH1cblxuICAgIC8vIGNyZWF0ZSBiYXNlIHJvbGUgZm9yIG1pY3Jvc2VydmljZSBlYzIgaW5zdGFuY2VzXG4gICAgY29uc3QgYmFzZVJvbGUgPSBuZXcgY2RrLmF3c19pYW0uUm9sZSh0aGlzLCBnZXRDb25zdGFudCgnYmFzZVJvbGVOYW1lJykgYXMgc3RyaW5nLCB7XG4gICAgICByb2xlTmFtZTogZ2V0Q29uc3RhbnQoJ2Jhc2VSb2xlTmFtZScpIGFzIHN0cmluZyxcbiAgICAgIGFzc3VtZWRCeTogbmV3IGNkay5hd3NfaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2VjMi5hbWF6b25hd3MuY29tJyksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtdLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgbWljcm9zZXJ2aWNlRWMySW5zdGFuY2VSb2xlUG9saWN5OiBuZXcgY2RrLmF3c19pYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0luc3RhbmNlVG9BY2Nlc3NTaGFyZWRTM0J1Y2tldCcsXG4gICAgICAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnMzOjo6JHtnZXRQdWJsaWNCdWNrZXROYW1lKCl9YCwgYGFybjphd3M6czM6Ojoke2dldFB1YmxpY0J1Y2tldE5hbWUoKX0vKmBdLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ3MzOionXSxcbiAgICAgICAgICAgICAgZWZmZWN0OiBjZGsuYXdzX2lhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0luc3RhbmNlVG9SZWFkU1NNUGFyYW1ldGVycycsXG4gICAgICAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnNzbToke2J1aWxkQ29uZmlnLmF3cy5yZWdpb259OiR7YnVpbGRDb25maWcuYXdzLmFjY291bnR9OnBhcmFtZXRlci8ke2J1aWxkQ29uZmlnLmVudk5hbWV9L21pY3Jvc2VydmljZXMvKmBdLFxuICAgICAgICAgICAgICBhY3Rpb25zOiBbJ3NzbTpHZXRQYXJhbWV0ZXIqJ10sXG4gICAgICAgICAgICAgIGVmZmVjdDogY2RrLmF3c19pYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dJbnN0YW5jZVRvU2VuZFNFU0VtYWlsJyxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzZXM6U2VuZEVtYWlsJywgJ3NlczpTZW5kUmF3RW1haWwnXSxcbiAgICAgICAgICAgICAgZWZmZWN0OiBjZGsuYXdzX2lhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBiYXNlUm9sZS5hZGRNYW5hZ2VkUG9saWN5KGNkay5hd3NfaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdDbG91ZFdhdGNoQWdlbnRTZXJ2ZXJQb2xpY3knKSk7XG5cbiAgICAvLyBjcmVhdGUgcm9sZS9wZXJtaXNzaW9ucyBmb3IgR2l0aHViIHRvIGludm9rZSBDREtcbiAgICBjb25zdCBnaXRodWJQcm92aWRlciA9IG5ldyBjZGsuYXdzX2lhbS5PcGVuSWRDb25uZWN0UHJvdmlkZXIodGhpcywgJ0dpdGh1Yk9wZW5JZFByb3ZpZGVyJywge1xuICAgICAgdXJsOiAnaHR0cHM6Ly90b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbScsXG4gICAgICBjbGllbnRJZHM6IFsnc3RzLmFtYXpvbmF3cy5jb20nXSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGdpdGh1YlByaW5jaXBhbCA9IG5ldyBjZGsuYXdzX2lhbS5PcGVuSWRDb25uZWN0UHJpbmNpcGFsKGdpdGh1YlByb3ZpZGVyKS53aXRoQ29uZGl0aW9ucyh7XG4gICAgICBTdHJpbmdMaWtlOiB7XG4gICAgICAgICd0b2tlbi5hY3Rpb25zLmdpdGh1YnVzZXJjb250ZW50LmNvbTpzdWInOiAncmVwbzpnbGljb2doLyonLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG5ldyBjZGsuYXdzX2lhbS5Sb2xlKHRoaXMsICdHaXRodWJDZGtEZXBsb3ltZW50Um9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogZ2l0aHViUHJpbmNpcGFsLFxuICAgICAgZGVzY3JpcHRpb246ICdSb2xlIGFzc3VtZWQgYnkgR2l0aHViIGZvciBkZXBsb3lpbmcgd2l0aCBDREsnLFxuICAgICAgcm9sZU5hbWU6ICdnaXRodWItY2RrLWRlcGxveW1lbnQtcm9sZScsXG4gICAgICBtYXhTZXNzaW9uRHVyYXRpb246IGNkay5EdXJhdGlvbi5ob3VycygxKSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIEdpdGh1YkNka0RlcGxveW1lbnRQb2xpY3k6IG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IGNkay5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0Fzc3VtZUV4aXN0aW5nQ2RrUm9sZXMnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGNkay5hd3NfaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzdHM6QXNzdW1lUm9sZSddLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czppYW06OiR7dGhpcy5hY2NvdW50fTpyb2xlL2Nkay0qYF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8vIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgLy8gICBzaWQ6ICdBbGxvd0FjY2Vzc1RvRXhpc3RpbmdDZm5DZGtUb29sa2l0JyxcbiAgICAgICAgICAgIC8vICAgZWZmZWN0OiBjZGsuYXdzX2lhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAvLyAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIC8vICAgICAnY2xvdWRmb3JtYXRpb246RGVzY3JpYmVTdGFja3MnLFxuICAgICAgICAgICAgLy8gICAgICdjbG91ZGZvcm1hdGlvbjpHZXRUZW1wbGF0ZScsXG4gICAgICAgICAgICAvLyAgICAgJ2Nsb3VkZm9ybWF0aW9uOkRlbGV0ZUNoYW5nZVNldCcsXG4gICAgICAgICAgICAvLyAgICAgJ2Nsb3VkZm9ybWF0aW9uOkNyZWF0ZUNoYW5nZVNldCcsXG4gICAgICAgICAgICAvLyAgICAgJ2Nsb3VkZm9ybWF0aW9uOkRlc2NyaWJlQ2hhbmdlU2V0JyxcbiAgICAgICAgICAgIC8vICAgICAnY2xvdWRmb3JtYXRpb246RXhlY3V0ZUNoYW5nZVNldCcsXG4gICAgICAgICAgICAvLyAgICAgJ2Nsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tFdmVudHMnLFxuICAgICAgICAgICAgLy8gICBdLFxuICAgICAgICAgICAgLy8gICByZXNvdXJjZXM6IFtgYXJuOmF3czpjbG91ZGZvcm1hdGlvbjoke3RoaXMucmVnaW9ufToke3RoaXMuYWNjb3VudH06c3RhY2svQ0RLVG9vbGtpdC8qYF0sXG4gICAgICAgICAgICAvLyB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBjcmVhdGUgYXBwIHVzZXIgYW5kIGFzc2lnbiBwZXJtaXNzaW9uc1xuICAgIGNvbnN0IGFwcFVzZXIgPSBuZXcgY2RrLmF3c19pYW0uVXNlcih0aGlzLCAnQXBwSWFtVXNlcicsIHsgdXNlck5hbWU6ICdhcHAtaWFtLXVzZXInIH0pO1xuICAgIGNvbnN0IGFwcFVzZXJQb2xpY3kgPSBuZXcgY2RrLmF3c19pYW0uUG9saWN5KHRoaXMsICdBcHBVc2VyUG9saWN5Jywge1xuICAgICAgcG9saWN5TmFtZTogJ0FwcFVzZXJQb2xpY3knLFxuICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBzaWQ6ICdBbGxvd0FwcFVzZXJBY2Nlc3NUb1MzJyxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3MzOionXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzMzo6OiR7Z2V0UHVibGljQnVja2V0TmFtZSgpfS8qYF0sXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBzaWQ6ICdBbGxvd0FwcFVzZXJBY2Nlc3NUb1NFUycsXG4gICAgICAgICAgYWN0aW9uczogWydzZXM6KiddLFxuICAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnNlczoke2J1aWxkQ29uZmlnLmF3cy5yZWdpb259OiR7YnVpbGRDb25maWcuYXdzLmFjY291bnR9OmlkZW50aXR5LypgXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHNpZDogJ0FsbG93QXBwVXNlckFjY2Vzc1RvU1FTJyxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3NxczoqJ10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6c3FzOiR7YnVpbGRDb25maWcuYXdzLnJlZ2lvbn06JHtidWlsZENvbmZpZy5hd3MuYWNjb3VudH06KmBdLFxuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgYXBwVXNlclBvbGljeS5hdHRhY2hUb1VzZXIoYXBwVXNlcik7XG4gIH1cbn1cbiJdfQ==
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLWluZnJhLWF1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWljcm9zZXJ2aWNlLWluZnJhLWF1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQW1DO0FBRW5DLDZEQUFzRDtBQUN0RCxpREFBZ0Q7QUFDaEQscUVBQWtFO0FBRWxFLE1BQWEscUJBQXNCLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDbEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsNkJBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsa0RBQWtEO1FBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUEsdUJBQVcsRUFBQyxjQUFjLENBQVcsRUFBRTtZQUNqRixRQUFRLEVBQUUsSUFBQSx1QkFBVyxFQUFDLGNBQWMsQ0FBVztZQUMvQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO1lBQ2hFLGVBQWUsRUFBRSxFQUFFO1lBQ25CLGNBQWMsRUFBRTtnQkFDZCxpQ0FBaUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDO29CQUNoRSxVQUFVLEVBQUU7d0JBQ1YsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQzs0QkFDOUIsR0FBRyxFQUFFLHFDQUFxQzs0QkFDMUMsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLElBQUEseUNBQW1CLEdBQUUsRUFBRSxFQUFFLGdCQUFnQixJQUFBLHlDQUFtQixHQUFFLElBQUksQ0FBQzs0QkFDL0YsT0FBTyxFQUFF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QUMsT0FBTyxDQUFDO29CQUNsQixTQUFTLEVBQUUsQ0FBQyxlQUFlLDZCQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSw2QkFBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLGFBQWEsQ0FBQztpQkFDM0YsQ0FBQztnQkFDRixJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO29CQUM5QixHQUFHLEVBQUUseUJBQXlCO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLFNBQVMsRUFBRSxDQUFDLGVBQWUsNkJBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLDZCQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDO2lCQUNsRixDQUFDO2FBQ0g7U0FDRixDQUFDLENBQUM7UUFDSCxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQTFIRCxzREEwSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBidWlsZENvbmZpZyB9IGZyb20gJy4uL3V0aWwvaW5pdEJ1aWxkQ29uZmlnJztcbmltcG9ydCB7IGdldENvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0UHVibGljQnVja2V0TmFtZSB9IGZyb20gJy4uL3V0aWwvZ2V0UHVibGljQnVja2V0TmFtZSc7XG5cbmV4cG9ydCBjbGFzcyBNaWNyb3NlcnZpY2VJbmZyYUF1dGggZXh0ZW5kcyBjZGsuU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IGNkay5TdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBpZiAoIWJ1aWxkQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0J1aWxkQ29uZmlnIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICAvLyBjcmVhdGUgYmFzZSByb2xlIGZvciBtaWNyb3NlcnZpY2UgZWMyIGluc3RhbmNlc1xuICAgIGNvbnN0IGJhc2VSb2xlID0gbmV3IGNkay5hd3NfaWFtLlJvbGUodGhpcywgZ2V0Q29uc3RhbnQoJ2Jhc2VSb2xlTmFtZScpIGFzIHN0cmluZywge1xuICAgICAgcm9sZU5hbWU6IGdldENvbnN0YW50KCdiYXNlUm9sZU5hbWUnKSBhcyBzdHJpbmcsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuYXdzX2lhbS5TZXJ2aWNlUHJpbmNpcGFsKCdlYzIuYW1hem9uYXdzLmNvbScpLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIG1pY3Jvc2VydmljZUVjMkluc3RhbmNlUm9sZVBvbGljeTogbmV3IGNkay5hd3NfaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dJbnN0YW5jZVRvQWNjZXNzU2hhcmVkUzNCdWNrZXQnLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzMzo6OiR7Z2V0UHVibGljQnVja2V0TmFtZSgpfWAsIGBhcm46YXdzOnMzOjo6JHtnZXRQdWJsaWNCdWNrZXROYW1lKCl9LypgXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzMzoqJ10sXG4gICAgICAgICAgICAgIGVmZmVjdDogY2RrLmF3c19pYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dJbnN0YW5jZVRvUmVhZFNTTVBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzc206JHtidWlsZENvbmZpZy5hd3MucmVnaW9ufToke2J1aWxkQ29uZmlnLmF3cy5hY2NvdW50fTpwYXJhbWV0ZXIvJHtidWlsZENvbmZpZy5lbnZOYW1lfS9taWNyb3NlcnZpY2VzLypgXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzc206R2V0UGFyYW1ldGVyKiddLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGNkay5hd3NfaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IGNkay5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIHNpZDogJ0FsbG93SW5zdGFuY2VUb1NlbmRTRVNFbWFpbCcsXG4gICAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsnc2VzOlNlbmRFbWFpbCcsICdzZXM6U2VuZFJhd0VtYWlsJ10sXG4gICAgICAgICAgICAgIGVmZmVjdDogY2RrLmF3c19pYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgYmFzZVJvbGUuYWRkTWFuYWdlZFBvbGljeShjZGsuYXdzX2lhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnQ2xvdWRXYXRjaEFnZW50U2VydmVyUG9saWN5JykpO1xuXG4gICAgLy8gY3JlYXRlIHJvbGUvcGVybWlzc2lvbnMgZm9yIEdpdGh1YiB0byBpbnZva2UgQ0RLXG4gICAgY29uc3QgZ2l0aHViUHJvdmlkZXIgPSBuZXcgY2RrLmF3c19pYW0uT3BlbklkQ29ubmVjdFByb3ZpZGVyKHRoaXMsICdHaXRodWJPcGVuSWRQcm92aWRlcicsIHtcbiAgICAgIHVybDogJ2h0dHBzOi8vdG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb20nLFxuICAgICAgY2xpZW50SWRzOiBbJ3N0cy5hbWF6b25hd3MuY29tJ10sXG4gICAgfSk7XG5cbiAgICBjb25zdCBnaXRodWJQcmluY2lwYWwgPSBuZXcgY2RrLmF3c19pYW0uT3BlbklkQ29ubmVjdFByaW5jaXBhbChnaXRodWJQcm92aWRlcikud2l0aENvbmRpdGlvbnMoe1xuICAgICAgU3RyaW5nTGlrZToge1xuICAgICAgICAndG9rZW4uYWN0aW9ucy5naXRodWJ1c2VyY29udGVudC5jb206c3ViJzogJ3JlcG86Z2xpY29naC8qJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLmF3c19pYW0uUm9sZSh0aGlzLCAnR2l0aHViQ2RrRGVwbG95bWVudFJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IGdpdGh1YlByaW5jaXBhbCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUm9sZSBhc3N1bWVkIGJ5IEdpdGh1YiBmb3IgZGVwbG95aW5nIHdpdGggQ0RLJyxcbiAgICAgIHJvbGVOYW1lOiAnZ2l0aHViLWNkay1kZXBsb3ltZW50LXJvbGUnLFxuICAgICAgbWF4U2Vzc2lvbkR1cmF0aW9uOiBjZGsuRHVyYXRpb24uaG91cnMoMSksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBHaXRodWJDZGtEZXBsb3ltZW50UG9saWN5OiBuZXcgY2RrLmF3c19pYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBc3N1bWVFeGlzdGluZ0Nka1JvbGVzJyxcbiAgICAgICAgICAgICAgZWZmZWN0OiBjZGsuYXdzX2lhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsnc3RzOkFzc3VtZVJvbGUnXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6aWFtOjoke3RoaXMuYWNjb3VudH06cm9sZS9jZGstKmBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgY2RrLmF3c19pYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgc2lkOiAnQWxsb3dHaXRodWJUb1VwbG9hZERlcGxveW1lbnRBcnRpZmFjdHMnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGNkay5hd3NfaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzMzpQdXRPYmplY3QnXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6czM6Ojoke2dldFB1YmxpY0J1Y2tldE5hbWUoKX0vcG9ydGFsL2J1aWxkcy8qYF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0dpdGh1YlRvUmVhZFNTTVBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGNkay5hd3NfaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzc206R2V0UGFyYW1ldGVyKiddLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzc206JHtidWlsZENvbmZpZy5hd3MucmVnaW9ufToke2J1aWxkQ29uZmlnLmF3cy5hY2NvdW50fTpwYXJhbWV0ZXIvJHtidWlsZENvbmZpZy5lbnZOYW1lfS9taWNyb3NlcnZpY2VzLypgXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLy8gbmV3IGNkay5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAvLyAgIHNpZDogJ0FsbG93QWNjZXNzVG9FeGlzdGluZ0NmbkNka1Rvb2xraXQnLFxuICAgICAgICAgICAgLy8gICBlZmZlY3Q6IGNkay5hd3NfaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIC8vICAgYWN0aW9uczogW1xuICAgICAgICAgICAgLy8gICAgICdjbG91ZGZvcm1hdGlvbjpEZXNjcmliZVN0YWNrcycsXG4gICAgICAgICAgICAvLyAgICAgJ2Nsb3VkZm9ybWF0aW9uOkdldFRlbXBsYXRlJyxcbiAgICAgICAgICAgIC8vICAgICAnY2xvdWRmb3JtYXRpb246RGVsZXRlQ2hhbmdlU2V0JyxcbiAgICAgICAgICAgIC8vICAgICAnY2xvdWRmb3JtYXRpb246Q3JlYXRlQ2hhbmdlU2V0JyxcbiAgICAgICAgICAgIC8vICAgICAnY2xvdWRmb3JtYXRpb246RGVzY3JpYmVDaGFuZ2VTZXQnLFxuICAgICAgICAgICAgLy8gICAgICdjbG91ZGZvcm1hdGlvbjpFeGVjdXRlQ2hhbmdlU2V0JyxcbiAgICAgICAgICAgIC8vICAgICAnY2xvdWRmb3JtYXRpb246RGVzY3JpYmVTdGFja0V2ZW50cycsXG4gICAgICAgICAgICAvLyAgIF0sXG4gICAgICAgICAgICAvLyAgIHJlc291cmNlczogW2Bhcm46YXdzOmNsb3VkZm9ybWF0aW9uOiR7dGhpcy5yZWdpb259OiR7dGhpcy5hY2NvdW50fTpzdGFjay9DREtUb29sa2l0LypgXSxcbiAgICAgICAgICAgIC8vIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIGNyZWF0ZSBhcHAgdXNlciBhbmQgYXNzaWduIHBlcm1pc3Npb25zXG4gICAgY29uc3QgYXBwVXNlciA9IG5ldyBjZGsuYXdzX2lhbS5Vc2VyKHRoaXMsICdBcHBJYW1Vc2VyJywgeyB1c2VyTmFtZTogJ2FwcC1pYW0tdXNlcicgfSk7XG4gICAgY29uc3QgYXBwVXNlclBvbGljeSA9IG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3kodGhpcywgJ0FwcFVzZXJQb2xpY3knLCB7XG4gICAgICBwb2xpY3lOYW1lOiAnQXBwVXNlclBvbGljeScsXG4gICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHNpZDogJ0FsbG93QXBwVXNlckFjY2Vzc1RvUzMnLFxuICAgICAgICAgIGFjdGlvbnM6IFsnczM6KiddLFxuICAgICAgICAgIHJlc291cmNlczogW2Bhcm46YXdzOnMzOjo6JHtnZXRQdWJsaWNCdWNrZXROYW1lKCl9LypgXSxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHNpZDogJ0FsbG93QXBwVXNlckFjY2Vzc1RvU0VTJyxcbiAgICAgICAgICBhY3Rpb25zOiBbJ3NlczoqJ10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbYGFybjphd3M6c2VzOiR7YnVpbGRDb25maWcuYXdzLnJlZ2lvbn06JHtidWlsZENvbmZpZy5hd3MuYWNjb3VudH06aWRlbnRpdHkvKmBdLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV3IGNkay5hd3NfaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgc2lkOiAnQWxsb3dBcHBVc2VyQWNjZXNzVG9TUVMnLFxuICAgICAgICAgIGFjdGlvbnM6IFsnc3FzOionXSxcbiAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzcXM6JHtidWlsZENvbmZpZy5hd3MucmVnaW9ufToke2J1aWxkQ29uZmlnLmF3cy5hY2NvdW50fToqYF0sXG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICB9KTtcbiAgICBhcHBVc2VyUG9saWN5LmF0dGFjaFRvVXNlcihhcHBVc2VyKTtcbiAgfVxufVxuIl19
|
|
@@ -14,7 +14,6 @@ microservice_port=8080
|
|
|
14
14
|
# create .env file
|
|
15
15
|
sudo echo "MICROSERVICE_INTERNAL_IP=\"$instance_private_ip\"" >> $configuration_dir/local.env
|
|
16
16
|
sudo echo "MICROSERVICE_INTERNAL_PORT=\"$microservice_port\"" >> $configuration_dir/local.env
|
|
17
|
-
sudo echo "OCTANE_HOST=\"$instance_private_ip\"" >> $configuration_dir/local.env
|
|
18
17
|
sudo echo "DEPLOYED_ENV={{envName}}" >> $configuration_dir/local.env
|
|
19
18
|
sudo echo "HOSTING_PLATFORM=aws" >> $configuration_dir/local.env
|
|
20
19
|
sudo cat $configuration_dir/global-ssm.env >> $service_dir/laravel/.env
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# frontend build mode: `artifact` downloads the prebuilt CI bundle from S3,
|
|
2
|
+
# `source` builds the frontend from source on the instance (legacy flow)
|
|
3
|
+
portal_build_mode="{{portalBuildMode}}"
|
|
4
|
+
|
|
1
5
|
# install certbot
|
|
2
6
|
sudo snap install core
|
|
3
7
|
sudo snap refresh core
|
|
@@ -18,23 +22,35 @@ gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/sh
|
|
|
18
22
|
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
|
|
19
23
|
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx
|
|
20
24
|
sudo apt update -yq
|
|
21
|
-
|
|
25
|
+
if [[ "$portal_build_mode" == "source" ]]; then
|
|
26
|
+
sudo apt install nginx npm -yq
|
|
27
|
+
else
|
|
28
|
+
sudo apt install nginx -yq
|
|
29
|
+
fi
|
|
22
30
|
|
|
23
31
|
# test certbot with dry-run to ensure it can successfully obtain a certificate for the Portal domain name (will not actually obtain a certificate due to --dry-run flag). This would also create the necessary nginx configuration for certbot to use during the real certificate obtaining process.
|
|
24
32
|
sudo certbot certonly --nginx -d $portal_domain_name --agree-tos --non-interactive -m mistabiggx@gmail.com --no-eff-email --quiet --dry-run
|
|
25
33
|
|
|
26
34
|
cd $service_dir/nuxtjs
|
|
27
35
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
sudo
|
|
31
|
-
sudo cat $configuration_dir/
|
|
32
|
-
sudo cat $configuration_dir/
|
|
36
|
+
if [[ "$portal_build_mode" == "source" ]]; then
|
|
37
|
+
# create .env
|
|
38
|
+
sudo echo "DEPLOYED_ENV={{envName}}" >> $configuration_dir/local.env
|
|
39
|
+
sudo cat $configuration_dir/global-ssm.env >> .env
|
|
40
|
+
sudo cat $configuration_dir/service-ssm.env >> .env
|
|
41
|
+
sudo cat $configuration_dir/local.env >> .env
|
|
33
42
|
|
|
34
|
-
# install dependencies and generate static files
|
|
35
|
-
cd $service_dir/nuxtjs
|
|
36
|
-
sudo npm i
|
|
37
|
-
sudo NODE_OPTIONS="--max-old-space-size=2048 NUXT_TELEMETRY_DISABLED=1" npm run generate
|
|
43
|
+
# install dependencies and generate static files
|
|
44
|
+
cd $service_dir/nuxtjs
|
|
45
|
+
sudo npm i
|
|
46
|
+
sudo NODE_OPTIONS="--max-old-space-size=2048 NUXT_TELEMETRY_DISABLED=1" npm run generate
|
|
47
|
+
else
|
|
48
|
+
# download the prebuilt frontend bundle uploaded by CI (GitHub Actions) and extract it for nginx
|
|
49
|
+
echo "Downloading prebuilt portal bundle {{appVersion}} from s3://$public_bucket_name/portal/builds/"
|
|
50
|
+
aws s3 cp "s3://$public_bucket_name/portal/builds/{{appVersion}}.tar.gz" $microservices_dir/portal-build.tar.gz
|
|
51
|
+
sudo mkdir -p $service_dir/nuxtjs/.output/public
|
|
52
|
+
sudo tar -xzf $microservices_dir/portal-build.tar.gz -C $service_dir/nuxtjs/.output/public
|
|
53
|
+
fi
|
|
38
54
|
|
|
39
55
|
# obtain SSL certificate (if it doesn't exist) and sync to S3 bucket
|
|
40
56
|
if [[ ! -f "/etc/letsencrypt/live/$portal_domain_name/fullchain.pem" ]]; then
|
|
@@ -34,7 +34,9 @@ function getEc2UserData(service) {
|
|
|
34
34
|
.replace(/{{gitDeploymentBranch}}/g, getGitDeploymentBranch(initBuildConfig_1.buildConfig?.envName) ?? 'release')
|
|
35
35
|
.replace(/{{portalDomainName}}/g, (0, constants_1.getConstant)('portalDomainName')[initBuildConfig_1.buildConfig?.envName ?? 'uat'])
|
|
36
36
|
.replace(/{{apiGatewayDomainName}}/g, (0, constants_1.getConstant)('apiGatewayDomainName')[initBuildConfig_1.buildConfig?.envName ?? 'uat'])
|
|
37
|
-
.replace(/{{publicBucketName}}/g, (0, getPublicBucketName_1.getPublicBucketName)())
|
|
37
|
+
.replace(/{{publicBucketName}}/g, (0, getPublicBucketName_1.getPublicBucketName)())
|
|
38
|
+
.replace(/{{appVersion}}/g, initBuildConfig_1.buildConfig?.appVersion ?? '')
|
|
39
|
+
.replace(/{{portalBuildMode}}/g, process.env.PORTAL_BUILD_MODE === 'artifact' ? 'artifact' : 'source');
|
|
38
40
|
return output;
|
|
39
41
|
}
|
|
40
42
|
function getGitDeploymentBranch(env) {
|
|
@@ -47,4 +49,4 @@ function getGitDeploymentBranch(env) {
|
|
|
47
49
|
return branches[env];
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RWMyVXNlckRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi91dGlsL2dldEVjMlVzZXJEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esd0NBdUNDO0FBaERELDJCQUE4QztBQUU5Qyx1REFBZ0Q7QUFDaEQscURBQWtEO0FBQ2xELHFEQUFrRDtBQUNsRCwyQ0FBMEM7QUFDMUMsbURBQWdEO0FBQ2hELCtEQUE0RDtBQUU1RCxTQUFnQixjQUFjLENBQUMsT0FBb0M7SUFDakUsTUFBTSxXQUFXLEdBQUcsT0FBTyxJQUFJLDZCQUFXLEVBQUUsV0FBVyxDQUFDO0lBRXhELE1BQU0sZUFBZSxHQUFHLElBQUEsaUJBQVksRUFBQyxTQUFTLEdBQUcsMkNBQTJDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFdEcsTUFBTSxjQUFjLEdBQUcsSUFBQSxpQkFBWSxFQUFDLFNBQVMsR0FBRywwQ0FBMEMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVwRyxNQUFNLGVBQWUsR0FBRyxJQUFBLGlCQUFZLEVBQUMsU0FBUyxHQUFHLDJDQUEyQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXRHLE1BQU0saUJBQWlCLEdBQUcsSUFBQSwrQkFBYyxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFFdkYsTUFBTSxlQUFlLEdBQUcsSUFBQSwrQkFBYyxHQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRWxFLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxHQUFHLCtCQUErQixpQkFBaUIsS0FBSyxDQUFDO0lBQzVGLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixJQUFJLElBQUEsZUFBVSxFQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsaUJBQVksRUFBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRXhILE1BQU0sZUFBZSxHQUFHLFNBQVMsR0FBRywrQkFBK0IsZUFBZSxLQUFLLENBQUM7SUFDeEYsTUFBTSxXQUFXLEdBQUcsZUFBZSxJQUFJLElBQUEsZUFBVSxFQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGlCQUFZLEVBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFaEgsTUFBTSxPQUFPLEdBQUc7UUFDZCxlQUFlO1FBQ2YsR0FBRyxDQUFDLElBQUEsK0JBQWMsRUFBQyxPQUFPLENBQUMsSUFBSSxXQUFXLEtBQUssYUFBYSxJQUFJLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsSCxXQUFXO1FBQ1gsYUFBYTtRQUNiLGNBQWM7S0FDZixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsT0FBTztTQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ1YsT0FBTyxDQUFDLGNBQWMsRUFBRSw2QkFBVyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUM7U0FDdEQsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7U0FDOUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLElBQUEsNkJBQWEsRUFBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEUsT0FBTyxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixDQUFDLDZCQUFXLEVBQUUsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDO1NBQzlGLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRyxJQUFBLHVCQUFXLEVBQUMsa0JBQWtCLENBQTRCLENBQUMsNkJBQVcsRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLENBQUM7U0FDNUgsT0FBTyxDQUFDLDJCQUEyQixFQUFHLElBQUEsdUJBQVcsRUFBQyxzQkFBc0IsQ0FBNEIsQ0FBQyw2QkFBVyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQztTQUNwSSxPQUFPLENBQUMsdUJBQXVCLEVBQUUsSUFBQSx5Q0FBbUIsR0FBRSxDQUFDO1NBQ3ZELE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSw2QkFBVyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7U0FDekQsT0FBTyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pHLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLEdBQTRCO0lBQzFELElBQUksNkJBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN4QixPQUFPLDZCQUFXLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHVCQUFXLEVBQUMsWUFBWSxDQUE0QixDQUFDO1FBQzlFLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFdBQXFDLENBQUM7UUFDeEUsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jLCByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBCdWlsZENvbmZpZyB9IGZyb20gJy4uL0B0eXBlcy9jb21tb24nO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBpc01pY3Jvc2VydmljZSB9IGZyb20gJy4vaXNNaWNyb3NlcnZpY2UnO1xuaW1wb3J0IHsgaXNMYXJhdmVsQmFzZWQgfSBmcm9tICcuL2lzTGFyYXZlbEJhc2VkJztcbmltcG9ydCB7IGdldENvbnN0YW50IH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0R2l0aHViUmVwbyB9IGZyb20gJy4vZ2V0R2l0aHViUmVwbyc7XG5pbXBvcnQgeyBnZXRQdWJsaWNCdWNrZXROYW1lIH0gZnJvbSAnLi9nZXRQdWJsaWNCdWNrZXROYW1lJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVjMlVzZXJEYXRhKHNlcnZpY2U/OiBCdWlsZENvbmZpZ1snc2VydmljZU5hbWUnXSk6IHN0cmluZyB7XG4gIGNvbnN0IHNlcnZpY2VOYW1lID0gc2VydmljZSA/PyBidWlsZENvbmZpZz8uc2VydmljZU5hbWU7XG5cbiAgY29uc3QgYmVmb3JlQWxsU2NyaXB0ID0gcmVhZEZpbGVTeW5jKF9fZGlybmFtZSArICcvLi4vc2NyaXB0cy9wb3N0LWRlcGxveW1lbnQtYmVmb3JlLWFsbC5zaCcsICd1dGY4Jyk7XG5cbiAgY29uc3QgYWZ0ZXJBbGxTY3JpcHQgPSByZWFkRmlsZVN5bmMoX19kaXJuYW1lICsgJy8uLi9zY3JpcHRzL3Bvc3QtZGVwbG95bWVudC1hZnRlci1hbGwuc2gnLCAndXRmOCcpO1xuXG4gIGNvbnN0IGNsb25lUmVwb1NjcmlwdCA9IHJlYWRGaWxlU3luYyhfX2Rpcm5hbWUgKyAnLy4uL3NjcmlwdHMvcG9zdC1kZXBsb3ltZW50LWNsb25lLXJlcG8uc2gnLCAndXRmOCcpO1xuXG4gIGNvbnN0IHNlcnZpY2VTY3JpcHROYW1lID0gaXNNaWNyb3NlcnZpY2Uoc2VydmljZSkgPyBgJHtzZXJ2aWNlTmFtZX0tc2VydmljZWAgOiBzZXJ2aWNlO1xuXG4gIGNvbnN0IGdyb3VwU2NyaXB0TmFtZSA9IGlzTGFyYXZlbEJhc2VkKCkgPyAnbGFyYXZlbC1iYXNlZCcgOiBudWxsO1xuXG4gIGNvbnN0IHNlcnZpY2VTY3JpcHRQYXRoID0gX19kaXJuYW1lICsgYC8uLi9zY3JpcHRzL3Bvc3QtZGVwbG95bWVudC0ke3NlcnZpY2VTY3JpcHROYW1lfS5zaGA7XG4gIGNvbnN0IHNlcnZpY2VTY3JpcHQgPSBzZXJ2aWNlU2NyaXB0TmFtZSAmJiBleGlzdHNTeW5jKHNlcnZpY2VTY3JpcHRQYXRoKSA/IHJlYWRGaWxlU3luYyhzZXJ2aWNlU2NyaXB0UGF0aCwgJ3V0ZjgnKSA6ICcnO1xuXG4gIGNvbnN0IGdyb3VwU2NyaXB0UGF0aCA9IF9fZGlybmFtZSArIGAvLi4vc2NyaXB0cy9wb3N0LWRlcGxveW1lbnQtJHtncm91cFNjcmlwdE5hbWV9LnNoYDtcbiAgY29uc3QgZ3JvdXBTY3JpcHQgPSBncm91cFNjcmlwdE5hbWUgJiYgZXhpc3RzU3luYyhncm91cFNjcmlwdFBhdGgpID8gcmVhZEZpbGVTeW5jKGdyb3VwU2NyaXB0UGF0aCwgJ3V0ZjgnKSA6ICcnO1xuXG4gIGNvbnN0IHNjcmlwdHMgPSBbXG4gICAgYmVmb3JlQWxsU2NyaXB0LFxuICAgIC4uLihpc01pY3Jvc2VydmljZShzZXJ2aWNlKSB8fCBzZXJ2aWNlTmFtZSA9PT0gJ2FwaS1nYXRld2F5JyB8fCBzZXJ2aWNlTmFtZSA9PT0gJ3BvcnRhbCcgPyBbY2xvbmVSZXBvU2NyaXB0XSA6IFtdKSxcbiAgICBncm91cFNjcmlwdCxcbiAgICBzZXJ2aWNlU2NyaXB0LFxuICAgIGFmdGVyQWxsU2NyaXB0LFxuICBdO1xuXG4gIGNvbnN0IG91dHB1dCA9IHNjcmlwdHNcbiAgICAuam9pbihgXFxuYClcbiAgICAucmVwbGFjZSgve3tlbnZOYW1lfX0vZywgYnVpbGRDb25maWc/LmVudk5hbWUgPz8gJ3VhdCcpXG4gICAgLnJlcGxhY2UoL3t7c2VydmljZU5hbWV9fS9nLCBzZXJ2aWNlTmFtZSA/PyAnJylcbiAgICAucmVwbGFjZSgve3tnaXRodWJSZXBvUGF0aH19L2csIGdldEdpdGh1YlJlcG8oc2VydmljZU5hbWUpID8/ICcnKVxuICAgIC5yZXBsYWNlKC97e2dpdERlcGxveW1lbnRCcmFuY2h9fS9nLCBnZXRHaXREZXBsb3ltZW50QnJhbmNoKGJ1aWxkQ29uZmlnPy5lbnZOYW1lKSA/PyAncmVsZWFzZScpXG4gICAgLnJlcGxhY2UoL3t7cG9ydGFsRG9tYWluTmFtZX19L2csIChnZXRDb25zdGFudCgncG9ydGFsRG9tYWluTmFtZScpIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pW2J1aWxkQ29uZmlnPy5lbnZOYW1lID8/ICd1YXQnXSlcbiAgICAucmVwbGFjZSgve3thcGlHYXRld2F5RG9tYWluTmFtZX19L2csIChnZXRDb25zdGFudCgnYXBpR2F0ZXdheURvbWFpbk5hbWUnKSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KVtidWlsZENvbmZpZz8uZW52TmFtZSA/PyAndWF0J10pXG4gICAgLnJlcGxhY2UoL3t7cHVibGljQnVja2V0TmFtZX19L2csIGdldFB1YmxpY0J1Y2tldE5hbWUoKSlcbiAgICAucmVwbGFjZSgve3thcHBWZXJzaW9ufX0vZywgYnVpbGRDb25maWc/LmFwcFZlcnNpb24gPz8gJycpXG4gICAgLnJlcGxhY2UoL3t7cG9ydGFsQnVpbGRNb2RlfX0vZywgcHJvY2Vzcy5lbnYuUE9SVEFMX0JVSUxEX01PREUgPT09ICdhcnRpZmFjdCcgPyAnYXJ0aWZhY3QnIDogJ3NvdXJjZScpO1xuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiBnZXRHaXREZXBsb3ltZW50QnJhbmNoKGVudj86IEJ1aWxkQ29uZmlnWydlbnZOYW1lJ10pOiBzdHJpbmcgfCB2b2lkIHtcbiAgaWYgKGJ1aWxkQ29uZmlnPy5icmFuY2gpIHtcbiAgICByZXR1cm4gYnVpbGRDb25maWcuYnJhbmNoO1xuICB9XG4gIGlmIChlbnYpIHtcbiAgICBjb25zdCBkZXBsb3ltZW50Q29uZmlnID0gZ2V0Q29uc3RhbnQoJ2RlcGxveW1lbnQnKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBjb25zdCBicmFuY2hlcyA9IGRlcGxveW1lbnRDb25maWcuZ2l0QnJhbmNoZXMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICByZXR1cm4gYnJhbmNoZXNbZW52XTtcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -14,7 +14,6 @@ microservice_port=8080
|
|
|
14
14
|
# create .env file
|
|
15
15
|
sudo echo "MICROSERVICE_INTERNAL_IP=\"$instance_private_ip\"" >> $configuration_dir/local.env
|
|
16
16
|
sudo echo "MICROSERVICE_INTERNAL_PORT=\"$microservice_port\"" >> $configuration_dir/local.env
|
|
17
|
-
sudo echo "OCTANE_HOST=\"$instance_private_ip\"" >> $configuration_dir/local.env
|
|
18
17
|
sudo echo "DEPLOYED_ENV={{envName}}" >> $configuration_dir/local.env
|
|
19
18
|
sudo echo "HOSTING_PLATFORM=aws" >> $configuration_dir/local.env
|
|
20
19
|
sudo cat $configuration_dir/global-ssm.env >> $service_dir/laravel/.env
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
# frontend build mode: `artifact` downloads the prebuilt CI bundle from S3,
|
|
2
|
+
# `source` builds the frontend from source on the instance (legacy flow)
|
|
3
|
+
portal_build_mode="{{portalBuildMode}}"
|
|
4
|
+
|
|
1
5
|
# install certbot
|
|
2
6
|
sudo snap install core
|
|
3
7
|
sudo snap refresh core
|
|
@@ -18,23 +22,35 @@ gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/sh
|
|
|
18
22
|
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
|
|
19
23
|
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" | sudo tee /etc/apt/preferences.d/99nginx
|
|
20
24
|
sudo apt update -yq
|
|
21
|
-
|
|
25
|
+
if [[ "$portal_build_mode" == "source" ]]; then
|
|
26
|
+
sudo apt install nginx npm -yq
|
|
27
|
+
else
|
|
28
|
+
sudo apt install nginx -yq
|
|
29
|
+
fi
|
|
22
30
|
|
|
23
31
|
# test certbot with dry-run to ensure it can successfully obtain a certificate for the Portal domain name (will not actually obtain a certificate due to --dry-run flag). This would also create the necessary nginx configuration for certbot to use during the real certificate obtaining process.
|
|
24
32
|
sudo certbot certonly --nginx -d $portal_domain_name --agree-tos --non-interactive -m mistabiggx@gmail.com --no-eff-email --quiet --dry-run
|
|
25
33
|
|
|
26
34
|
cd $service_dir/nuxtjs
|
|
27
35
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
sudo
|
|
31
|
-
sudo cat $configuration_dir/
|
|
32
|
-
sudo cat $configuration_dir/
|
|
36
|
+
if [[ "$portal_build_mode" == "source" ]]; then
|
|
37
|
+
# create .env
|
|
38
|
+
sudo echo "DEPLOYED_ENV={{envName}}" >> $configuration_dir/local.env
|
|
39
|
+
sudo cat $configuration_dir/global-ssm.env >> .env
|
|
40
|
+
sudo cat $configuration_dir/service-ssm.env >> .env
|
|
41
|
+
sudo cat $configuration_dir/local.env >> .env
|
|
33
42
|
|
|
34
|
-
# install dependencies and generate static files
|
|
35
|
-
cd $service_dir/nuxtjs
|
|
36
|
-
sudo npm i
|
|
37
|
-
sudo NODE_OPTIONS="--max-old-space-size=2048 NUXT_TELEMETRY_DISABLED=1" npm run generate
|
|
43
|
+
# install dependencies and generate static files
|
|
44
|
+
cd $service_dir/nuxtjs
|
|
45
|
+
sudo npm i
|
|
46
|
+
sudo NODE_OPTIONS="--max-old-space-size=2048 NUXT_TELEMETRY_DISABLED=1" npm run generate
|
|
47
|
+
else
|
|
48
|
+
# download the prebuilt frontend bundle uploaded by CI (GitHub Actions) and extract it for nginx
|
|
49
|
+
echo "Downloading prebuilt portal bundle {{appVersion}} from s3://$public_bucket_name/portal/builds/"
|
|
50
|
+
aws s3 cp "s3://$public_bucket_name/portal/builds/{{appVersion}}.tar.gz" $microservices_dir/portal-build.tar.gz
|
|
51
|
+
sudo mkdir -p $service_dir/nuxtjs/.output/public
|
|
52
|
+
sudo tar -xzf $microservices_dir/portal-build.tar.gz -C $service_dir/nuxtjs/.output/public
|
|
53
|
+
fi
|
|
38
54
|
|
|
39
55
|
# obtain SSL certificate (if it doesn't exist) and sync to S3 bucket
|
|
40
56
|
if [[ ! -f "/etc/letsencrypt/live/$portal_domain_name/fullchain.pem" ]]; then
|