@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.
@@ -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
- sudo apt install nginx npm -yq
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
- # create .env
29
- sudo echo "DEPLOYED_ENV={{envName}}" >> $configuration_dir/local.env
30
- sudo cat $configuration_dir/global-ssm.env >> .env
31
- sudo cat $configuration_dir/service-ssm.env >> .env
32
- sudo cat $configuration_dir/local.env >> .env
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RWMyVXNlckRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi91dGlsL2dldEVjMlVzZXJEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esd0NBcUNDO0FBOUNELDJCQUE4QztBQUU5Qyx1REFBZ0Q7QUFDaEQscURBQWtEO0FBQ2xELHFEQUFrRDtBQUNsRCwyQ0FBMEM7QUFDMUMsbURBQWdEO0FBQ2hELCtEQUE0RDtBQUU1RCxTQUFnQixjQUFjLENBQUMsT0FBb0M7SUFDakUsTUFBTSxXQUFXLEdBQUcsT0FBTyxJQUFJLDZCQUFXLEVBQUUsV0FBVyxDQUFDO0lBRXhELE1BQU0sZUFBZSxHQUFHLElBQUEsaUJBQVksRUFBQyxTQUFTLEdBQUcsMkNBQTJDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFdEcsTUFBTSxjQUFjLEdBQUcsSUFBQSxpQkFBWSxFQUFDLFNBQVMsR0FBRywwQ0FBMEMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVwRyxNQUFNLGVBQWUsR0FBRyxJQUFBLGlCQUFZLEVBQUMsU0FBUyxHQUFHLDJDQUEyQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXRHLE1BQU0saUJBQWlCLEdBQUcsSUFBQSwrQkFBYyxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFFdkYsTUFBTSxlQUFlLEdBQUcsSUFBQSwrQkFBYyxHQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRWxFLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxHQUFHLCtCQUErQixpQkFBaUIsS0FBSyxDQUFDO0lBQzVGLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixJQUFJLElBQUEsZUFBVSxFQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsaUJBQVksRUFBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRXhILE1BQU0sZUFBZSxHQUFHLFNBQVMsR0FBRywrQkFBK0IsZUFBZSxLQUFLLENBQUM7SUFDeEYsTUFBTSxXQUFXLEdBQUcsZUFBZSxJQUFJLElBQUEsZUFBVSxFQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGlCQUFZLEVBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFaEgsTUFBTSxPQUFPLEdBQUc7UUFDZCxlQUFlO1FBQ2YsR0FBRyxDQUFDLElBQUEsK0JBQWMsRUFBQyxPQUFPLENBQUMsSUFBSSxXQUFXLEtBQUssYUFBYSxJQUFJLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsSCxXQUFXO1FBQ1gsYUFBYTtRQUNiLGNBQWM7S0FDZixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsT0FBTztTQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ1YsT0FBTyxDQUFDLGNBQWMsRUFBRSw2QkFBVyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUM7U0FDdEQsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7U0FDOUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLElBQUEsNkJBQWEsRUFBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEUsT0FBTyxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixDQUFDLDZCQUFXLEVBQUUsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDO1NBQzlGLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRyxJQUFBLHVCQUFXLEVBQUMsa0JBQWtCLENBQTRCLENBQUMsNkJBQVcsRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLENBQUM7U0FDNUgsT0FBTyxDQUFDLDJCQUEyQixFQUFHLElBQUEsdUJBQVcsRUFBQyxzQkFBc0IsQ0FBNEIsQ0FBQyw2QkFBVyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQztTQUNwSSxPQUFPLENBQUMsdUJBQXVCLEVBQUUsSUFBQSx5Q0FBbUIsR0FBRSxDQUFDLENBQUM7SUFDM0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsR0FBNEI7SUFDMUQsSUFBSSw2QkFBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE9BQU8sNkJBQVcsQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksR0FBRyxFQUFFLENBQUM7UUFDUixNQUFNLGdCQUFnQixHQUFHLElBQUEsdUJBQVcsRUFBQyxZQUFZLENBQTRCLENBQUM7UUFDOUUsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsV0FBcUMsQ0FBQztRQUN4RSxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIHJlYWRGaWxlU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCB7IEJ1aWxkQ29uZmlnIH0gZnJvbSAnLi4vQHR5cGVzL2NvbW1vbic7XG5pbXBvcnQgeyBidWlsZENvbmZpZyB9IGZyb20gJy4vaW5pdEJ1aWxkQ29uZmlnJztcbmltcG9ydCB7IGlzTWljcm9zZXJ2aWNlIH0gZnJvbSAnLi9pc01pY3Jvc2VydmljZSc7XG5pbXBvcnQgeyBpc0xhcmF2ZWxCYXNlZCB9IGZyb20gJy4vaXNMYXJhdmVsQmFzZWQnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRHaXRodWJSZXBvIH0gZnJvbSAnLi9nZXRHaXRodWJSZXBvJztcbmltcG9ydCB7IGdldFB1YmxpY0J1Y2tldE5hbWUgfSBmcm9tICcuL2dldFB1YmxpY0J1Y2tldE5hbWUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWMyVXNlckRhdGEoc2VydmljZT86IEJ1aWxkQ29uZmlnWydzZXJ2aWNlTmFtZSddKTogc3RyaW5nIHtcbiAgY29uc3Qgc2VydmljZU5hbWUgPSBzZXJ2aWNlID8/IGJ1aWxkQ29uZmlnPy5zZXJ2aWNlTmFtZTtcblxuICBjb25zdCBiZWZvcmVBbGxTY3JpcHQgPSByZWFkRmlsZVN5bmMoX19kaXJuYW1lICsgJy8uLi9zY3JpcHRzL3Bvc3QtZGVwbG95bWVudC1iZWZvcmUtYWxsLnNoJywgJ3V0ZjgnKTtcblxuICBjb25zdCBhZnRlckFsbFNjcmlwdCA9IHJlYWRGaWxlU3luYyhfX2Rpcm5hbWUgKyAnLy4uL3NjcmlwdHMvcG9zdC1kZXBsb3ltZW50LWFmdGVyLWFsbC5zaCcsICd1dGY4Jyk7XG5cbiAgY29uc3QgY2xvbmVSZXBvU2NyaXB0ID0gcmVhZEZpbGVTeW5jKF9fZGlybmFtZSArICcvLi4vc2NyaXB0cy9wb3N0LWRlcGxveW1lbnQtY2xvbmUtcmVwby5zaCcsICd1dGY4Jyk7XG5cbiAgY29uc3Qgc2VydmljZVNjcmlwdE5hbWUgPSBpc01pY3Jvc2VydmljZShzZXJ2aWNlKSA/IGAke3NlcnZpY2VOYW1lfS1zZXJ2aWNlYCA6IHNlcnZpY2U7XG5cbiAgY29uc3QgZ3JvdXBTY3JpcHROYW1lID0gaXNMYXJhdmVsQmFzZWQoKSA/ICdsYXJhdmVsLWJhc2VkJyA6IG51bGw7XG5cbiAgY29uc3Qgc2VydmljZVNjcmlwdFBhdGggPSBfX2Rpcm5hbWUgKyBgLy4uL3NjcmlwdHMvcG9zdC1kZXBsb3ltZW50LSR7c2VydmljZVNjcmlwdE5hbWV9LnNoYDtcbiAgY29uc3Qgc2VydmljZVNjcmlwdCA9IHNlcnZpY2VTY3JpcHROYW1lICYmIGV4aXN0c1N5bmMoc2VydmljZVNjcmlwdFBhdGgpID8gcmVhZEZpbGVTeW5jKHNlcnZpY2VTY3JpcHRQYXRoLCAndXRmOCcpIDogJyc7XG5cbiAgY29uc3QgZ3JvdXBTY3JpcHRQYXRoID0gX19kaXJuYW1lICsgYC8uLi9zY3JpcHRzL3Bvc3QtZGVwbG95bWVudC0ke2dyb3VwU2NyaXB0TmFtZX0uc2hgO1xuICBjb25zdCBncm91cFNjcmlwdCA9IGdyb3VwU2NyaXB0TmFtZSAmJiBleGlzdHNTeW5jKGdyb3VwU2NyaXB0UGF0aCkgPyByZWFkRmlsZVN5bmMoZ3JvdXBTY3JpcHRQYXRoLCAndXRmOCcpIDogJyc7XG5cbiAgY29uc3Qgc2NyaXB0cyA9IFtcbiAgICBiZWZvcmVBbGxTY3JpcHQsXG4gICAgLi4uKGlzTWljcm9zZXJ2aWNlKHNlcnZpY2UpIHx8IHNlcnZpY2VOYW1lID09PSAnYXBpLWdhdGV3YXknIHx8IHNlcnZpY2VOYW1lID09PSAncG9ydGFsJyA/IFtjbG9uZVJlcG9TY3JpcHRdIDogW10pLFxuICAgIGdyb3VwU2NyaXB0LFxuICAgIHNlcnZpY2VTY3JpcHQsXG4gICAgYWZ0ZXJBbGxTY3JpcHQsXG4gIF07XG5cbiAgY29uc3Qgb3V0cHV0ID0gc2NyaXB0c1xuICAgIC5qb2luKGBcXG5gKVxuICAgIC5yZXBsYWNlKC97e2Vudk5hbWV9fS9nLCBidWlsZENvbmZpZz8uZW52TmFtZSA/PyAndWF0JylcbiAgICAucmVwbGFjZSgve3tzZXJ2aWNlTmFtZX19L2csIHNlcnZpY2VOYW1lID8/ICcnKVxuICAgIC5yZXBsYWNlKC97e2dpdGh1YlJlcG9QYXRofX0vZywgZ2V0R2l0aHViUmVwbyhzZXJ2aWNlTmFtZSkgPz8gJycpXG4gICAgLnJlcGxhY2UoL3t7Z2l0RGVwbG95bWVudEJyYW5jaH19L2csIGdldEdpdERlcGxveW1lbnRCcmFuY2goYnVpbGRDb25maWc/LmVudk5hbWUpID8/ICdyZWxlYXNlJylcbiAgICAucmVwbGFjZSgve3twb3J0YWxEb21haW5OYW1lfX0vZywgKGdldENvbnN0YW50KCdwb3J0YWxEb21haW5OYW1lJykgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPilbYnVpbGRDb25maWc/LmVudk5hbWUgPz8gJ3VhdCddKVxuICAgIC5yZXBsYWNlKC97e2FwaUdhdGV3YXlEb21haW5OYW1lfX0vZywgKGdldENvbnN0YW50KCdhcGlHYXRld2F5RG9tYWluTmFtZScpIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pW2J1aWxkQ29uZmlnPy5lbnZOYW1lID8/ICd1YXQnXSlcbiAgICAucmVwbGFjZSgve3twdWJsaWNCdWNrZXROYW1lfX0vZywgZ2V0UHVibGljQnVja2V0TmFtZSgpKTtcbiAgcmV0dXJuIG91dHB1dDtcbn1cblxuZnVuY3Rpb24gZ2V0R2l0RGVwbG95bWVudEJyYW5jaChlbnY/OiBCdWlsZENvbmZpZ1snZW52TmFtZSddKTogc3RyaW5nIHwgdm9pZCB7XG4gIGlmIChidWlsZENvbmZpZz8uYnJhbmNoKSB7XG4gICAgcmV0dXJuIGJ1aWxkQ29uZmlnLmJyYW5jaDtcbiAgfVxuICBpZiAoZW52KSB7XG4gICAgY29uc3QgZGVwbG95bWVudENvbmZpZyA9IGdldENvbnN0YW50KCdkZXBsb3ltZW50JykgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgY29uc3QgYnJhbmNoZXMgPSBkZXBsb3ltZW50Q29uZmlnLmdpdEJyYW5jaGVzIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgcmV0dXJuIGJyYW5jaGVzW2Vudl07XG4gIH1cbn1cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RWMyVXNlckRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi91dGlsL2dldEVjMlVzZXJEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBU0Esd0NBdUNDO0FBaERELDJCQUE4QztBQUU5Qyx1REFBZ0Q7QUFDaEQscURBQWtEO0FBQ2xELHFEQUFrRDtBQUNsRCwyQ0FBMEM7QUFDMUMsbURBQWdEO0FBQ2hELCtEQUE0RDtBQUU1RCxTQUFnQixjQUFjLENBQUMsT0FBb0M7SUFDakUsTUFBTSxXQUFXLEdBQUcsT0FBTyxJQUFJLDZCQUFXLEVBQUUsV0FBVyxDQUFDO0lBRXhELE1BQU0sZUFBZSxHQUFHLElBQUEsaUJBQVksRUFBQyxTQUFTLEdBQUcsMkNBQTJDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFdEcsTUFBTSxjQUFjLEdBQUcsSUFBQSxpQkFBWSxFQUFDLFNBQVMsR0FBRywwQ0FBMEMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVwRyxNQUFNLGVBQWUsR0FBRyxJQUFBLGlCQUFZLEVBQUMsU0FBUyxHQUFHLDJDQUEyQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXRHLE1BQU0saUJBQWlCLEdBQUcsSUFBQSwrQkFBYyxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFFdkYsTUFBTSxlQUFlLEdBQUcsSUFBQSwrQkFBYyxHQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBRWxFLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxHQUFHLCtCQUErQixpQkFBaUIsS0FBSyxDQUFDO0lBQzVGLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixJQUFJLElBQUEsZUFBVSxFQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUEsaUJBQVksRUFBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRXhILE1BQU0sZUFBZSxHQUFHLFNBQVMsR0FBRywrQkFBK0IsZUFBZSxLQUFLLENBQUM7SUFDeEYsTUFBTSxXQUFXLEdBQUcsZUFBZSxJQUFJLElBQUEsZUFBVSxFQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFBLGlCQUFZLEVBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFaEgsTUFBTSxPQUFPLEdBQUc7UUFDZCxlQUFlO1FBQ2YsR0FBRyxDQUFDLElBQUEsK0JBQWMsRUFBQyxPQUFPLENBQUMsSUFBSSxXQUFXLEtBQUssYUFBYSxJQUFJLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsSCxXQUFXO1FBQ1gsYUFBYTtRQUNiLGNBQWM7S0FDZixDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsT0FBTztTQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ1YsT0FBTyxDQUFDLGNBQWMsRUFBRSw2QkFBVyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUM7U0FDdEQsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7U0FDOUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLElBQUEsNkJBQWEsRUFBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEUsT0FBTyxDQUFDLDBCQUEwQixFQUFFLHNCQUFzQixDQUFDLDZCQUFXLEVBQUUsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDO1NBQzlGLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRyxJQUFBLHVCQUFXLEVBQUMsa0JBQWtCLENBQTRCLENBQUMsNkJBQVcsRUFBRSxPQUFPLElBQUksS0FBSyxDQUFDLENBQUM7U0FDNUgsT0FBTyxDQUFDLDJCQUEyQixFQUFHLElBQUEsdUJBQVcsRUFBQyxzQkFBc0IsQ0FBNEIsQ0FBQyw2QkFBVyxFQUFFLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQztTQUNwSSxPQUFPLENBQUMsdUJBQXVCLEVBQUUsSUFBQSx5Q0FBbUIsR0FBRSxDQUFDO1NBQ3ZELE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSw2QkFBVyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7U0FDekQsT0FBTyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pHLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLEdBQTRCO0lBQzFELElBQUksNkJBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN4QixPQUFPLDZCQUFXLENBQUMsTUFBTSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHVCQUFXLEVBQUMsWUFBWSxDQUE0QixDQUFDO1FBQzlFLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLFdBQXFDLENBQUM7UUFDeEUsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jLCByZWFkRmlsZVN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBCdWlsZENvbmZpZyB9IGZyb20gJy4uL0B0eXBlcy9jb21tb24nO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBpc01pY3Jvc2VydmljZSB9IGZyb20gJy4vaXNNaWNyb3NlcnZpY2UnO1xuaW1wb3J0IHsgaXNMYXJhdmVsQmFzZWQgfSBmcm9tICcuL2lzTGFyYXZlbEJhc2VkJztcbmltcG9ydCB7IGdldENvbnN0YW50IH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0R2l0aHViUmVwbyB9IGZyb20gJy4vZ2V0R2l0aHViUmVwbyc7XG5pbXBvcnQgeyBnZXRQdWJsaWNCdWNrZXROYW1lIH0gZnJvbSAnLi9nZXRQdWJsaWNCdWNrZXROYW1lJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVjMlVzZXJEYXRhKHNlcnZpY2U/OiBCdWlsZENvbmZpZ1snc2VydmljZU5hbWUnXSk6IHN0cmluZyB7XG4gIGNvbnN0IHNlcnZpY2VOYW1lID0gc2VydmljZSA/PyBidWlsZENvbmZpZz8uc2VydmljZU5hbWU7XG5cbiAgY29uc3QgYmVmb3JlQWxsU2NyaXB0ID0gcmVhZEZpbGVTeW5jKF9fZGlybmFtZSArICcvLi4vc2NyaXB0cy9wb3N0LWRlcGxveW1lbnQtYmVmb3JlLWFsbC5zaCcsICd1dGY4Jyk7XG5cbiAgY29uc3QgYWZ0ZXJBbGxTY3JpcHQgPSByZWFkRmlsZVN5bmMoX19kaXJuYW1lICsgJy8uLi9zY3JpcHRzL3Bvc3QtZGVwbG95bWVudC1hZnRlci1hbGwuc2gnLCAndXRmOCcpO1xuXG4gIGNvbnN0IGNsb25lUmVwb1NjcmlwdCA9IHJlYWRGaWxlU3luYyhfX2Rpcm5hbWUgKyAnLy4uL3NjcmlwdHMvcG9zdC1kZXBsb3ltZW50LWNsb25lLXJlcG8uc2gnLCAndXRmOCcpO1xuXG4gIGNvbnN0IHNlcnZpY2VTY3JpcHROYW1lID0gaXNNaWNyb3NlcnZpY2Uoc2VydmljZSkgPyBgJHtzZXJ2aWNlTmFtZX0tc2VydmljZWAgOiBzZXJ2aWNlO1xuXG4gIGNvbnN0IGdyb3VwU2NyaXB0TmFtZSA9IGlzTGFyYXZlbEJhc2VkKCkgPyAnbGFyYXZlbC1iYXNlZCcgOiBudWxsO1xuXG4gIGNvbnN0IHNlcnZpY2VTY3JpcHRQYXRoID0gX19kaXJuYW1lICsgYC8uLi9zY3JpcHRzL3Bvc3QtZGVwbG95bWVudC0ke3NlcnZpY2VTY3JpcHROYW1lfS5zaGA7XG4gIGNvbnN0IHNlcnZpY2VTY3JpcHQgPSBzZXJ2aWNlU2NyaXB0TmFtZSAmJiBleGlzdHNTeW5jKHNlcnZpY2VTY3JpcHRQYXRoKSA/IHJlYWRGaWxlU3luYyhzZXJ2aWNlU2NyaXB0UGF0aCwgJ3V0ZjgnKSA6ICcnO1xuXG4gIGNvbnN0IGdyb3VwU2NyaXB0UGF0aCA9IF9fZGlybmFtZSArIGAvLi4vc2NyaXB0cy9wb3N0LWRlcGxveW1lbnQtJHtncm91cFNjcmlwdE5hbWV9LnNoYDtcbiAgY29uc3QgZ3JvdXBTY3JpcHQgPSBncm91cFNjcmlwdE5hbWUgJiYgZXhpc3RzU3luYyhncm91cFNjcmlwdFBhdGgpID8gcmVhZEZpbGVTeW5jKGdyb3VwU2NyaXB0UGF0aCwgJ3V0ZjgnKSA6ICcnO1xuXG4gIGNvbnN0IHNjcmlwdHMgPSBbXG4gICAgYmVmb3JlQWxsU2NyaXB0LFxuICAgIC4uLihpc01pY3Jvc2VydmljZShzZXJ2aWNlKSB8fCBzZXJ2aWNlTmFtZSA9PT0gJ2FwaS1nYXRld2F5JyB8fCBzZXJ2aWNlTmFtZSA9PT0gJ3BvcnRhbCcgPyBbY2xvbmVSZXBvU2NyaXB0XSA6IFtdKSxcbiAgICBncm91cFNjcmlwdCxcbiAgICBzZXJ2aWNlU2NyaXB0LFxuICAgIGFmdGVyQWxsU2NyaXB0LFxuICBdO1xuXG4gIGNvbnN0IG91dHB1dCA9IHNjcmlwdHNcbiAgICAuam9pbihgXFxuYClcbiAgICAucmVwbGFjZSgve3tlbnZOYW1lfX0vZywgYnVpbGRDb25maWc/LmVudk5hbWUgPz8gJ3VhdCcpXG4gICAgLnJlcGxhY2UoL3t7c2VydmljZU5hbWV9fS9nLCBzZXJ2aWNlTmFtZSA/PyAnJylcbiAgICAucmVwbGFjZSgve3tnaXRodWJSZXBvUGF0aH19L2csIGdldEdpdGh1YlJlcG8oc2VydmljZU5hbWUpID8/ICcnKVxuICAgIC5yZXBsYWNlKC97e2dpdERlcGxveW1lbnRCcmFuY2h9fS9nLCBnZXRHaXREZXBsb3ltZW50QnJhbmNoKGJ1aWxkQ29uZmlnPy5lbnZOYW1lKSA/PyAncmVsZWFzZScpXG4gICAgLnJlcGxhY2UoL3t7cG9ydGFsRG9tYWluTmFtZX19L2csIChnZXRDb25zdGFudCgncG9ydGFsRG9tYWluTmFtZScpIGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz4pW2J1aWxkQ29uZmlnPy5lbnZOYW1lID8/ICd1YXQnXSlcbiAgICAucmVwbGFjZSgve3thcGlHYXRld2F5RG9tYWluTmFtZX19L2csIChnZXRDb25zdGFudCgnYXBpR2F0ZXdheURvbWFpbk5hbWUnKSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KVtidWlsZENvbmZpZz8uZW52TmFtZSA/PyAndWF0J10pXG4gICAgLnJlcGxhY2UoL3t7cHVibGljQnVja2V0TmFtZX19L2csIGdldFB1YmxpY0J1Y2tldE5hbWUoKSlcbiAgICAucmVwbGFjZSgve3thcHBWZXJzaW9ufX0vZywgYnVpbGRDb25maWc/LmFwcFZlcnNpb24gPz8gJycpXG4gICAgLnJlcGxhY2UoL3t7cG9ydGFsQnVpbGRNb2RlfX0vZywgcHJvY2Vzcy5lbnYuUE9SVEFMX0JVSUxEX01PREUgPT09ICdhcnRpZmFjdCcgPyAnYXJ0aWZhY3QnIDogJ3NvdXJjZScpO1xuICByZXR1cm4gb3V0cHV0O1xufVxuXG5mdW5jdGlvbiBnZXRHaXREZXBsb3ltZW50QnJhbmNoKGVudj86IEJ1aWxkQ29uZmlnWydlbnZOYW1lJ10pOiBzdHJpbmcgfCB2b2lkIHtcbiAgaWYgKGJ1aWxkQ29uZmlnPy5icmFuY2gpIHtcbiAgICByZXR1cm4gYnVpbGRDb25maWcuYnJhbmNoO1xuICB9XG4gIGlmIChlbnYpIHtcbiAgICBjb25zdCBkZXBsb3ltZW50Q29uZmlnID0gZ2V0Q29uc3RhbnQoJ2RlcGxveW1lbnQnKSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBjb25zdCBicmFuY2hlcyA9IGRlcGxveW1lbnRDb25maWcuZ2l0QnJhbmNoZXMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICByZXR1cm4gYnJhbmNoZXNbZW52XTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glicogh/healthcare-cdk",
3
- "version": "0.1.91",
3
+ "version": "0.1.93",
4
4
  "description": "CDK automations",
5
5
  "bin": {
6
6
  "cdk": "bin/cdk.js"
@@ -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
- sudo apt install nginx npm -yq
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
- # create .env
29
- sudo echo "DEPLOYED_ENV={{envName}}" >> $configuration_dir/local.env
30
- sudo cat $configuration_dir/global-ssm.env >> .env
31
- sudo cat $configuration_dir/service-ssm.env >> .env
32
- sudo cat $configuration_dir/local.env >> .env
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