@brunwig/mup-aws-beanstalk 0.8.7 → 2.0.3

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.
Files changed (56) hide show
  1. package/.babelrc +15 -4
  2. package/.eslintrc.yml +2 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/docs/getting-started.md +1 -1
  5. package/docs/index.md +22 -6
  6. package/index.js +1 -1
  7. package/lib/assets/Procfile +1 -0
  8. package/lib/assets/health-check.js +9 -1
  9. package/lib/assets/health-check.js.map +1 -1
  10. package/lib/assets/nginx-server.conf +14 -0
  11. package/lib/assets/node.sh +37 -7
  12. package/lib/assets/npm.sh +14 -0
  13. package/lib/assets/prevent-npm.sh +4 -0
  14. package/lib/assets/role-start.sh +61 -0
  15. package/lib/assets/start.sh +1 -1
  16. package/lib/assets/yarn.sh +17 -0
  17. package/lib/aws.js +43 -77
  18. package/lib/aws.js.map +1 -1
  19. package/lib/certificates.js +56 -59
  20. package/lib/certificates.js.map +1 -1
  21. package/lib/command-handlers.js +613 -637
  22. package/lib/command-handlers.js.map +1 -1
  23. package/lib/commands.js +144 -111
  24. package/lib/commands.js.map +1 -1
  25. package/lib/deployment-logs.js +127 -0
  26. package/lib/deployment-logs.js.map +1 -0
  27. package/lib/download.js +11 -18
  28. package/lib/download.js.map +1 -1
  29. package/lib/eb-config.js +246 -242
  30. package/lib/eb-config.js.map +1 -1
  31. package/lib/env-ready.js +87 -88
  32. package/lib/env-ready.js.map +1 -1
  33. package/lib/env-settings.js +13 -14
  34. package/lib/env-settings.js.map +1 -1
  35. package/lib/index.js +111 -81
  36. package/lib/index.js.map +1 -1
  37. package/lib/policies.js +130 -115
  38. package/lib/policies.js.map +1 -1
  39. package/lib/prepare-bundle.js +187 -194
  40. package/lib/prepare-bundle.js.map +1 -1
  41. package/lib/recheck.js +16 -13
  42. package/lib/recheck.js.map +1 -1
  43. package/lib/tsconfig.tsbuildinfo +1 -0
  44. package/lib/types.js +3 -0
  45. package/lib/types.js.map +1 -0
  46. package/lib/upload.js +35 -49
  47. package/lib/upload.js.map +1 -1
  48. package/lib/utils.js +556 -577
  49. package/lib/utils.js.map +1 -1
  50. package/lib/validate.js +61 -59
  51. package/lib/validate.js.map +1 -1
  52. package/lib/versions.js +74 -81
  53. package/lib/versions.js.map +1 -1
  54. package/package.json +60 -26
  55. package/readme.md +2 -1
  56. package/tsconfig.json +41 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-logs.js","sourceRoot":"","sources":["../src/deployment-logs.ts"],"names":[],"mappings":"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"}
package/lib/download.js CHANGED
@@ -1,23 +1,16 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.default = downloadEnvFile;
7
- var _aws = require("./aws");
8
- function downloadEnvFile(bucket, version) {
9
- return new Promise((resolve, reject) => {
10
- const downloader = _aws.s3.getObject({
11
- Bucket: bucket,
12
- Key: `env/${version}.txt`
4
+ const aws_1 = require("./aws");
5
+ async function downloadEnvFile(bucket, version) {
6
+ const result = await aws_1.s3.getObject({
7
+ Bucket: bucket,
8
+ Key: `env/${version}.txt`
13
9
  });
14
- downloader.send((err, result) => {
15
- if (err) {
16
- return reject(err);
17
- }
18
- result = Buffer.from(result.Body).toString('utf8');
19
- resolve(result);
20
- });
21
- });
10
+ const bodyStream = result.Body;
11
+ if (!bodyStream) {
12
+ throw new Error('No body in response');
13
+ }
14
+ return bodyStream.transformToString();
22
15
  }
23
16
  //# sourceMappingURL=download.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","names":["_aws","require","downloadEnvFile","bucket","version","Promise","resolve","reject","downloader","s3","getObject","Bucket","Key","send","err","result","Buffer","from","Body","toString"],"sources":["../src/download.js"],"sourcesContent":["import { s3 } from './aws';\n\nexport default function downloadEnvFile(bucket, version) {\n return new Promise((resolve, reject) => {\n const downloader = s3.getObject({\n Bucket: bucket,\n Key: `env/${version}.txt`\n });\n downloader.send((err, result) => {\n if (err) {\n return reject(err);\n }\n result = Buffer.from(result.Body).toString('utf8');\n resolve(result);\n });\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAEe,SAASC,eAAeA,CAACC,MAAM,EAAEC,OAAO,EAAE;EACvD,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,MAAMC,UAAU,GAAGC,OAAE,CAACC,SAAS,CAAC;MAC9BC,MAAM,EAAER,MAAM;MACdS,GAAG,EAAE,OAAOR,OAAO;IACrB,CAAC,CAAC;IACFI,UAAU,CAACK,IAAI,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;MAC/B,IAAID,GAAG,EAAE;QACP,OAAOP,MAAM,CAACO,GAAG,CAAC;MACpB;MACAC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACF,MAAM,CAACG,IAAI,CAAC,CAACC,QAAQ,CAAC,MAAM,CAAC;MAClDb,OAAO,CAACS,MAAM,CAAC;IACjB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":";;AAEA,kCAaC;AAfD,+BAA2B;AAEZ,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,OAAe;IAC3E,MAAM,MAAM,GAAG,MAAM,QAAE,CAAC,SAAS,CAAC;QAChC,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,OAAO,OAAO,MAAM;KAC1B,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAE/B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,UAAU,CAAC,iBAAiB,EAAE,CAAC;AACxC,CAAC"}
package/lib/eb-config.js CHANGED
@@ -1,263 +1,267 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.convertToObject = convertToObject;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
7
6
  exports.createDesiredConfig = createDesiredConfig;
8
- exports.diffConfig = diffConfig;
7
+ exports.scalingConfigChanged = scalingConfigChanged;
8
+ exports.scalingConfig = scalingConfig;
9
+ exports.convertToObject = convertToObject;
9
10
  exports.mergeConfigs = mergeConfigs;
11
+ exports.diffConfig = diffConfig;
10
12
  exports.prepareUpdateEnvironment = prepareUpdateEnvironment;
11
- exports.scalingConfig = scalingConfig;
12
- exports.scalingConfigChanged = scalingConfigChanged;
13
- var _lodash = require("lodash");
14
- var _aws = require("./aws");
15
- var _download = _interopRequireDefault(require("./download"));
16
- var _envSettings = require("./env-settings");
17
- var _upload = require("./upload");
18
- var _utils = require("./utils");
19
- var _versions = require("./versions");
20
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
24
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
25
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ exports.getEnvTierConfig = getEnvTierConfig;
14
+ const lodash_1 = require("lodash");
15
+ const aws_1 = require("./aws");
16
+ const download_1 = __importDefault(require("./download"));
17
+ const env_settings_1 = require("./env-settings");
18
+ const upload_1 = require("./upload");
19
+ const utils_1 = require("./utils");
20
+ const versions_1 = require("./versions");
26
21
  function createDesiredConfig(mupConfig, settings, longEnvVarsVersion) {
27
- const {
28
- env,
29
- instanceType,
30
- customBeanstalkConfig = []
31
- } = mupConfig.app;
32
- const {
33
- instanceProfile,
34
- serviceRole
35
- } = (0, _utils.names)(mupConfig);
36
- const config = {
37
- OptionSettings: [{
38
- Namespace: 'aws:autoscaling:trigger',
39
- OptionName: 'MeasureName',
40
- Value: 'CPUUtilization'
41
- }, {
42
- Namespace: 'aws:autoscaling:trigger',
43
- OptionName: 'Statistic',
44
- Value: 'Average'
45
- }, {
46
- Namespace: 'aws:autoscaling:trigger',
47
- OptionName: 'Unit',
48
- Value: 'Percent'
49
- }, {
50
- Namespace: 'aws:autoscaling:trigger',
51
- OptionName: 'UpperThreshold',
52
- Value: '75'
53
- }, {
54
- Namespace: 'aws:autoscaling:trigger',
55
- OptionName: 'LowerThreshold',
56
- Value: '35'
57
- }, {
58
- Namespace: 'aws:autoscaling:launchconfiguration',
59
- OptionName: 'InstanceType',
60
- Value: instanceType
61
- }, {
62
- Namespace: 'aws:autoscaling:launchconfiguration',
63
- OptionName: 'IamInstanceProfile',
64
- Value: instanceProfile
65
- }, {
66
- Namespace: 'aws:autoscaling:launchconfiguration',
67
- OptionName: 'DisableIMDSv1',
68
- Value: 'true'
69
- }, {
70
- Namespace: 'aws:elasticbeanstalk:environment:process:default',
71
- OptionName: 'HealthyThresholdCount',
72
- Value: '2'
73
- }, {
74
- Namespace: 'aws:elasticbeanstalk:environment:process:default',
75
- OptionName: 'HealthCheckPath',
76
- Value: '/aws-health-check-3984729847289743128904723'
77
- }, {
78
- Namespace: 'aws:elasticbeanstalk:environment',
79
- OptionName: 'EnvironmentType',
80
- Value: 'LoadBalanced'
81
- }, {
82
- Namespace: 'aws:elasticbeanstalk:environment',
83
- OptionName: 'LoadBalancerType',
84
- Value: 'application'
85
- }, {
86
- Namespace: 'aws:elasticbeanstalk:command',
87
- OptionName: 'DeploymentPolicy',
88
- Value: 'RollingWithAdditionalBatch'
89
- }, {
90
- Namespace: 'aws:elasticbeanstalk:command',
91
- OptionName: 'BatchSizeType',
92
- Value: 'Percentage'
93
- }, {
94
- Namespace: 'aws:elasticbeanstalk:command',
95
- OptionName: 'BatchSize',
96
- Value: '30'
97
- }, {
98
- Namespace: 'aws:autoscaling:updatepolicy:rollingupdate',
99
- OptionName: 'RollingUpdateEnabled',
100
- Value: 'true'
101
- }, {
102
- Namespace: 'aws:autoscaling:updatepolicy:rollingupdate',
103
- OptionName: 'RollingUpdateType',
104
- Value: 'Health'
105
- }, {
106
- Namespace: 'aws:elasticbeanstalk:environment',
107
- OptionName: 'ServiceRole',
108
- Value: serviceRole
109
- }, {
110
- Namespace: 'aws:elasticbeanstalk:healthreporting:system',
111
- OptionName: 'SystemType',
112
- Value: 'enhanced'
113
- }, {
114
- Namespace: 'aws:elasticbeanstalk:environment:process:default',
115
- OptionName: 'StickinessEnabled',
116
- Value: 'true'
117
- }, {
118
- Namespace: 'aws:elasticbeanstalk:environment:process:default',
119
- OptionName: 'DeregistrationDelay',
120
- Value: '75'
121
- }]
122
- };
123
- const settingsString = JSON.stringify(settings);
124
- if (longEnvVarsVersion) {
125
- config.OptionSettings.push({
126
- Namespace: 'aws:elasticbeanstalk:application:environment',
127
- OptionName: 'MUP_ENV_FILE_VERSION',
128
- Value: longEnvVarsVersion.toString()
129
- });
130
- } else {
131
- env.METEOR_SETTINGS_ENCODED = encodeURIComponent(settingsString);
132
- Object.keys(env).forEach(envName => {
133
- const value = env[envName];
134
- config.OptionSettings.push({
135
- Namespace: 'aws:elasticbeanstalk:application:environment',
136
- OptionName: envName,
137
- Value: value.toString()
138
- });
139
- });
140
- }
141
- const customOptions = customBeanstalkConfig.map(option => _objectSpread(_objectSpread({
142
- Namespace: option.namespace
143
- }, option?.resource && {
144
- ResourceName: option.resource
145
- }), {}, {
146
- OptionName: option.option,
147
- Value: option.value
148
- }));
149
- config.OptionSettings = mergeConfigs(config.OptionSettings, customOptions);
150
- return config;
22
+ const { env, instanceType, streamLogs, customBeanstalkConfig = [] } = mupConfig.app;
23
+ const { instanceProfile, serviceRole } = (0, utils_1.names)(mupConfig);
24
+ const config = {
25
+ OptionSettings: [{
26
+ Namespace: 'aws:autoscaling:trigger',
27
+ OptionName: 'MeasureName',
28
+ Value: 'CPUUtilization'
29
+ }, {
30
+ Namespace: 'aws:autoscaling:trigger',
31
+ OptionName: 'Statistic',
32
+ Value: 'Average'
33
+ }, {
34
+ Namespace: 'aws:autoscaling:trigger',
35
+ OptionName: 'Unit',
36
+ Value: 'Percent'
37
+ }, {
38
+ Namespace: 'aws:autoscaling:trigger',
39
+ OptionName: 'UpperThreshold',
40
+ Value: '75'
41
+ }, {
42
+ Namespace: 'aws:autoscaling:trigger',
43
+ OptionName: 'LowerThreshold',
44
+ Value: '35'
45
+ }, {
46
+ Namespace: 'aws:autoscaling:launchconfiguration',
47
+ OptionName: 'InstanceType',
48
+ Value: instanceType
49
+ }, {
50
+ Namespace: 'aws:autoscaling:launchconfiguration',
51
+ OptionName: 'IamInstanceProfile',
52
+ Value: instanceProfile
53
+ }, {
54
+ Namespace: 'aws:autoscaling:launchconfiguration',
55
+ OptionName: 'DisableIMDSv1',
56
+ Value: 'true'
57
+ }, {
58
+ Namespace: 'aws:elasticbeanstalk:environment:process:default',
59
+ OptionName: 'HealthyThresholdCount',
60
+ Value: '2'
61
+ }, {
62
+ Namespace: 'aws:elasticbeanstalk:environment:process:default',
63
+ OptionName: 'HealthCheckPath',
64
+ Value: '/aws-health-check-3984729847289743128904723'
65
+ }, {
66
+ Namespace: 'aws:elasticbeanstalk:environment',
67
+ OptionName: 'EnvironmentType',
68
+ Value: 'LoadBalanced'
69
+ }, {
70
+ Namespace: 'aws:elasticbeanstalk:environment',
71
+ OptionName: 'LoadBalancerType',
72
+ Value: 'application'
73
+ }, {
74
+ Namespace: 'aws:elasticbeanstalk:command',
75
+ OptionName: 'DeploymentPolicy',
76
+ Value: 'RollingWithAdditionalBatch'
77
+ }, {
78
+ Namespace: 'aws:elasticbeanstalk:command',
79
+ OptionName: 'BatchSizeType',
80
+ Value: 'Percentage'
81
+ }, {
82
+ Namespace: 'aws:elasticbeanstalk:command',
83
+ OptionName: 'BatchSize',
84
+ Value: '30'
85
+ }, {
86
+ Namespace: 'aws:autoscaling:updatepolicy:rollingupdate',
87
+ OptionName: 'RollingUpdateEnabled',
88
+ Value: 'true'
89
+ }, {
90
+ Namespace: 'aws:autoscaling:updatepolicy:rollingupdate',
91
+ OptionName: 'RollingUpdateType',
92
+ Value: 'Health'
93
+ }, {
94
+ Namespace: 'aws:elasticbeanstalk:environment',
95
+ OptionName: 'ServiceRole',
96
+ Value: serviceRole
97
+ }, {
98
+ Namespace: 'aws:elasticbeanstalk:healthreporting:system',
99
+ OptionName: 'SystemType',
100
+ Value: 'enhanced'
101
+ }, {
102
+ Namespace: 'aws:elasticbeanstalk:environment:process:default',
103
+ OptionName: 'StickinessEnabled',
104
+ Value: 'true'
105
+ }, {
106
+ Namespace: 'aws:elasticbeanstalk:environment:process:default',
107
+ OptionName: 'DeregistrationDelay',
108
+ Value: '75'
109
+ }]
110
+ };
111
+ if (streamLogs) {
112
+ config.OptionSettings.push({
113
+ Namespace: 'aws:elasticbeanstalk:cloudwatch:logs',
114
+ OptionName: 'StreamLogs',
115
+ Value: 'true'
116
+ });
117
+ }
118
+ const settingsString = JSON.stringify(settings);
119
+ if (longEnvVarsVersion) {
120
+ config.OptionSettings.push({
121
+ Namespace: 'aws:elasticbeanstalk:application:environment',
122
+ OptionName: 'MUP_ENV_FILE_VERSION',
123
+ Value: longEnvVarsVersion.toString()
124
+ });
125
+ }
126
+ else {
127
+ env.METEOR_SETTINGS_ENCODED = encodeURIComponent(settingsString);
128
+ Object.keys(env).forEach((envName) => {
129
+ const value = env[envName];
130
+ config.OptionSettings.push({
131
+ Namespace: 'aws:elasticbeanstalk:application:environment',
132
+ OptionName: envName,
133
+ Value: value.toString()
134
+ });
135
+ });
136
+ }
137
+ const customOptions = customBeanstalkConfig.map(option => ({
138
+ Namespace: option.namespace,
139
+ ...((option === null || option === void 0 ? void 0 : option.resource) && { ResourceName: option.resource }),
140
+ OptionName: option.option,
141
+ Value: option.value
142
+ }));
143
+ config.OptionSettings = mergeConfigs(config.OptionSettings, customOptions);
144
+ return config;
151
145
  }
152
146
  function scalingConfigChanged(currentConfig, mupConfig) {
153
- const {
154
- minInstances,
155
- maxInstances
156
- } = mupConfig.app;
157
- let currentMinInstances = 0;
158
- let currentMaxInstances = 0;
159
- currentConfig.forEach(item => {
160
- if (item.Namespace === 'aws:autoscaling:asg') {
161
- if (item.OptionName === 'MinSize') {
162
- currentMinInstances = item.Value;
163
- } else if (item.OptionName === 'MaxSize') {
164
- currentMaxInstances = item.Value;
165
- }
166
- }
167
- });
168
- return currentMinInstances !== minInstances.toString() || currentMaxInstances !== maxInstances.toString();
147
+ const { minInstances, maxInstances } = mupConfig.app;
148
+ let currentMinInstances = "0";
149
+ let currentMaxInstances = "0";
150
+ currentConfig.forEach((item) => {
151
+ if (item.Namespace === 'aws:autoscaling:asg') {
152
+ if (item.OptionName === 'MinSize') {
153
+ currentMinInstances = item.Value;
154
+ }
155
+ else if (item.OptionName === 'MaxSize') {
156
+ currentMaxInstances = item.Value;
157
+ }
158
+ }
159
+ });
160
+ return currentMinInstances !== minInstances.toString() ||
161
+ currentMaxInstances !== maxInstances.toString();
169
162
  }
170
- function scalingConfig({
171
- minInstances,
172
- maxInstances
173
- }) {
174
- return {
175
- OptionSettings: [{
176
- Namespace: 'aws:autoscaling:asg',
177
- OptionName: 'MinSize',
178
- Value: minInstances.toString()
179
- }, {
180
- Namespace: 'aws:autoscaling:asg',
181
- OptionName: 'MaxSize',
182
- Value: maxInstances.toString()
183
- }]
184
- };
163
+ function scalingConfig({ minInstances, maxInstances }) {
164
+ return {
165
+ OptionSettings: [
166
+ {
167
+ Namespace: 'aws:autoscaling:asg',
168
+ OptionName: 'MinSize',
169
+ Value: minInstances.toString()
170
+ }, {
171
+ Namespace: 'aws:autoscaling:asg',
172
+ OptionName: 'MaxSize',
173
+ Value: maxInstances.toString()
174
+ }
175
+ ]
176
+ };
185
177
  }
186
178
  function convertToObject(result, option) {
187
- const resourceKey = option.ResourceName ? `-${option.ResourceName}` : '';
188
- const key = [`${option.Namespace}-${option.OptionName}${resourceKey}`];
189
- result[key] = option;
190
- return result;
179
+ if (!option) {
180
+ return result;
181
+ }
182
+ // result[`${option.Namespace!}-${option.OptionName!}`] = option as EBConfigElement;
183
+ const resourceKey = option.ResourceName ? `-${option.ResourceName}` : '';
184
+ // const key = [`${option.Namespace}-${option.OptionName}${resourceKey}`];
185
+ const key = `${option.Namespace}-${option.OptionName}${resourceKey}`;
186
+ result[key] = option;
187
+ // console.log("convertToObj -->", result[key], resourceKey, key);
188
+ return result;
191
189
  }
192
190
  function mergeConfigs(config1, config2) {
193
- config1 = config1.reduce(convertToObject, {});
194
- config2.forEach(option => {
195
- const resourceKey = option.ResourceName ? `-${option.ResourceName}` : '';
196
- const key = [`${option.Namespace}-${option.OptionName}${resourceKey}`];
197
- config1[key] = option;
198
- });
199
- return Object.values(config1);
191
+ const configDict = config1.reduce(convertToObject, {});
192
+ config2.forEach((option) => {
193
+ const resourceKey = option.ResourceName ? `-${option.ResourceName}` : '';
194
+ //const key = [`${option.Namespace}-${option.OptionName}${resourceKey}`];
195
+ const key = `${option.Namespace}-${option.OptionName}${resourceKey}`;
196
+ configDict[key] = option;
197
+ // console.log("mergeConfigs -->", configDict[key], resourceKey, key);
198
+ });
199
+ return Object.values(configDict);
200
200
  }
201
201
  function diffConfig(current, desired) {
202
- current = current.reduce(convertToObject, {});
203
- desired = desired.reduce(convertToObject, {});
204
- const toRemove = (0, _lodash.difference)(Object.keys(current), Object.keys(desired)).filter(key => key.indexOf('aws:elasticbeanstalk:application:environment-') === 0).map(key => {
205
- const option = current[key];
202
+ const currentConfigDict = current.reduce(convertToObject, {});
203
+ const desiredConfigDict = desired.reduce(convertToObject, {});
204
+ const toRemove = (0, lodash_1.difference)(Object.keys(currentConfigDict), Object.keys(desiredConfigDict))
205
+ .filter(key => key.indexOf('aws:elasticbeanstalk:application:environment-') === 0)
206
+ .map((key) => {
207
+ const option = currentConfigDict[key];
208
+ return {
209
+ Namespace: option.Namespace,
210
+ OptionName: option.OptionName
211
+ };
212
+ });
213
+ const toUpdate = Object.keys(desiredConfigDict).filter((key) => {
214
+ if (key in currentConfigDict && currentConfigDict[key].Value === desiredConfigDict[key].Value) {
215
+ return false;
216
+ }
217
+ return true;
218
+ }).map(key => desiredConfigDict[key]);
206
219
  return {
207
- Namespace: option.Namespace,
208
- OptionName: option.OptionName
220
+ toRemove,
221
+ toUpdate
209
222
  };
210
- });
211
- const toUpdate = Object.keys(desired).filter(key => {
212
- if (key in current && current[key].Value === desired[key].Value) {
213
- return false;
214
- }
215
- return true;
216
- }).map(key => desired[key]);
217
- return {
218
- toRemove,
219
- toUpdate
220
- };
221
223
  }
222
224
  async function prepareUpdateEnvironment(api) {
223
- const config = api.getConfig();
224
- const {
225
- app,
226
- environment,
227
- bucket
228
- } = (0, _utils.names)(config);
229
- const {
230
- ConfigurationSettings
231
- } = await _aws.beanstalk.describeConfigurationSettings({
232
- EnvironmentName: environment,
233
- ApplicationName: app
234
- }).promise();
235
- const {
236
- longEnvVars
237
- } = config.app;
238
- let nextEnvVersion = 0;
239
- let envSettingsChanged;
240
- let desiredSettings;
241
- if (longEnvVars) {
242
- const currentEnvVersion = await (0, _versions.largestEnvVersion)(api);
243
- const currentSettings = await (0, _download.default)(bucket, currentEnvVersion);
244
- desiredSettings = (0, _envSettings.createEnvFile)(config.app.env, api.getSettings());
245
- envSettingsChanged = currentSettings !== desiredSettings;
246
- if (envSettingsChanged) {
247
- nextEnvVersion = currentEnvVersion + 1;
248
- await (0, _upload.uploadEnvFile)(bucket, nextEnvVersion, desiredSettings);
249
- } else {
250
- nextEnvVersion = currentEnvVersion;
225
+ const config = api.getConfig();
226
+ const { app, environment, bucket } = (0, utils_1.names)(config);
227
+ const { ConfigurationSettings } = await aws_1.beanstalk.describeConfigurationSettings({
228
+ EnvironmentName: environment,
229
+ ApplicationName: app
230
+ });
231
+ const { longEnvVars } = config.app;
232
+ let nextEnvVersion = 0;
233
+ let envSettingsChanged;
234
+ let desiredSettings;
235
+ if (longEnvVars) {
236
+ const currentEnvVersion = await (0, versions_1.largestEnvVersion)(api);
237
+ const currentSettings = await (0, download_1.default)(bucket, currentEnvVersion);
238
+ desiredSettings = (0, env_settings_1.createEnvFile)(config.app.env, api.getSettings());
239
+ envSettingsChanged = currentSettings !== desiredSettings;
240
+ if (envSettingsChanged) {
241
+ nextEnvVersion = currentEnvVersion + 1;
242
+ await (0, upload_1.uploadEnvFile)(bucket, nextEnvVersion, desiredSettings);
243
+ }
244
+ else {
245
+ nextEnvVersion = currentEnvVersion;
246
+ }
251
247
  }
252
- }
253
- const desiredEbConfig = createDesiredConfig(api.getConfig(), api.getSettings(), nextEnvVersion);
254
- const {
255
- toRemove,
256
- toUpdate
257
- } = diffConfig(ConfigurationSettings[0].OptionSettings, desiredEbConfig.OptionSettings);
258
- return {
259
- toRemove,
260
- toUpdate
261
- };
248
+ const desiredEbConfig = createDesiredConfig(api.getConfig(), api.getSettings(), nextEnvVersion);
249
+ const { toRemove, toUpdate } = diffConfig(ConfigurationSettings[0].OptionSettings, desiredEbConfig.OptionSettings);
250
+ return {
251
+ toRemove,
252
+ toUpdate
253
+ };
254
+ }
255
+ function getEnvTierConfig(envType) {
256
+ if (envType === 'webserver') {
257
+ return {
258
+ Name: "WebServer",
259
+ Type: "Standard"
260
+ };
261
+ }
262
+ return {
263
+ Name: "Worker",
264
+ Type: "SQS/HTTP"
265
+ };
262
266
  }
263
267
  //# sourceMappingURL=eb-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eb-config.js","names":["_lodash","require","_aws","_download","_interopRequireDefault","_envSettings","_upload","_utils","_versions","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","createDesiredConfig","mupConfig","settings","longEnvVarsVersion","env","instanceType","customBeanstalkConfig","app","instanceProfile","serviceRole","names","config","OptionSettings","Namespace","OptionName","Value","settingsString","JSON","stringify","toString","METEOR_SETTINGS_ENCODED","encodeURIComponent","envName","customOptions","map","option","namespace","resource","ResourceName","mergeConfigs","scalingConfigChanged","currentConfig","minInstances","maxInstances","currentMinInstances","currentMaxInstances","item","scalingConfig","convertToObject","result","resourceKey","key","config1","config2","reduce","values","diffConfig","current","desired","toRemove","difference","indexOf","toUpdate","prepareUpdateEnvironment","api","getConfig","environment","bucket","ConfigurationSettings","beanstalk","describeConfigurationSettings","EnvironmentName","ApplicationName","promise","longEnvVars","nextEnvVersion","envSettingsChanged","desiredSettings","currentEnvVersion","largestEnvVersion","currentSettings","downloadEnvFile","createEnvFile","getSettings","uploadEnvFile","desiredEbConfig"],"sources":["../src/eb-config.js"],"sourcesContent":["import { difference } from 'lodash';\nimport { beanstalk } from './aws';\nimport downloadEnvFile from './download';\nimport { createEnvFile } from './env-settings';\nimport { uploadEnvFile } from './upload';\nimport { names } from './utils';\nimport { largestEnvVersion } from './versions';\n\nexport function createDesiredConfig(mupConfig, settings, longEnvVarsVersion) {\n const {\n env,\n instanceType,\n customBeanstalkConfig = []\n } = mupConfig.app;\n const {\n instanceProfile,\n serviceRole\n } = names(mupConfig);\n\n const config = {\n OptionSettings: [{\n Namespace: 'aws:autoscaling:trigger',\n OptionName: 'MeasureName',\n Value: 'CPUUtilization'\n }, {\n Namespace: 'aws:autoscaling:trigger',\n OptionName: 'Statistic',\n Value: 'Average'\n }, {\n Namespace: 'aws:autoscaling:trigger',\n OptionName: 'Unit',\n Value: 'Percent'\n }, {\n Namespace: 'aws:autoscaling:trigger',\n OptionName: 'UpperThreshold',\n Value: '75'\n }, {\n Namespace: 'aws:autoscaling:trigger',\n OptionName: 'LowerThreshold',\n Value: '35'\n }, {\n Namespace: 'aws:autoscaling:launchconfiguration',\n OptionName: 'InstanceType',\n Value: instanceType\n }, {\n Namespace: 'aws:autoscaling:launchconfiguration',\n OptionName: 'IamInstanceProfile',\n Value: instanceProfile\n }, {\n Namespace: 'aws:autoscaling:launchconfiguration',\n OptionName: 'DisableIMDSv1',\n Value: 'true'\n }, {\n Namespace: 'aws:elasticbeanstalk:environment:process:default',\n OptionName: 'HealthyThresholdCount',\n Value: '2'\n }, {\n Namespace: 'aws:elasticbeanstalk:environment:process:default',\n OptionName: 'HealthCheckPath',\n Value: '/aws-health-check-3984729847289743128904723'\n }, {\n Namespace: 'aws:elasticbeanstalk:environment',\n OptionName: 'EnvironmentType',\n Value: 'LoadBalanced'\n }, {\n Namespace: 'aws:elasticbeanstalk:environment',\n OptionName: 'LoadBalancerType',\n Value: 'application'\n }, {\n Namespace: 'aws:elasticbeanstalk:command',\n OptionName: 'DeploymentPolicy',\n Value: 'RollingWithAdditionalBatch'\n }, {\n Namespace: 'aws:elasticbeanstalk:command',\n OptionName: 'BatchSizeType',\n Value: 'Percentage'\n }, {\n Namespace: 'aws:elasticbeanstalk:command',\n OptionName: 'BatchSize',\n Value: '30'\n }, {\n Namespace: 'aws:autoscaling:updatepolicy:rollingupdate',\n OptionName: 'RollingUpdateEnabled',\n Value: 'true'\n }, {\n Namespace: 'aws:autoscaling:updatepolicy:rollingupdate',\n OptionName: 'RollingUpdateType',\n Value: 'Health'\n }, {\n Namespace: 'aws:elasticbeanstalk:environment',\n OptionName: 'ServiceRole',\n Value: serviceRole\n }, {\n Namespace: 'aws:elasticbeanstalk:healthreporting:system',\n OptionName: 'SystemType',\n Value: 'enhanced'\n }, {\n Namespace: 'aws:elasticbeanstalk:environment:process:default',\n OptionName: 'StickinessEnabled',\n Value: 'true'\n }, {\n Namespace: 'aws:elasticbeanstalk:environment:process:default',\n OptionName: 'DeregistrationDelay',\n Value: '75'\n }]\n };\n\n const settingsString = JSON.stringify(settings);\n\n if (longEnvVarsVersion) {\n config.OptionSettings.push({\n Namespace: 'aws:elasticbeanstalk:application:environment',\n OptionName: 'MUP_ENV_FILE_VERSION',\n Value: longEnvVarsVersion.toString()\n });\n } else {\n env.METEOR_SETTINGS_ENCODED = encodeURIComponent(settingsString);\n\n Object.keys(env).forEach((envName) => {\n const value = env[envName];\n\n config.OptionSettings.push({\n Namespace: 'aws:elasticbeanstalk:application:environment',\n OptionName: envName,\n Value: value.toString()\n });\n });\n }\n\n const customOptions = customBeanstalkConfig.map(option => ({\n Namespace: option.namespace,\n ...(option?.resource && { ResourceName: option.resource }),\n OptionName: option.option,\n Value: option.value\n }));\n\n config.OptionSettings = mergeConfigs(config.OptionSettings, customOptions);\n return config;\n}\n\nexport function scalingConfigChanged(currentConfig, mupConfig) {\n const {\n minInstances,\n maxInstances\n } = mupConfig.app;\n\n let currentMinInstances = 0;\n let currentMaxInstances = 0;\n\n currentConfig.forEach((item) => {\n if (item.Namespace === 'aws:autoscaling:asg') {\n if (item.OptionName === 'MinSize') {\n currentMinInstances = item.Value;\n } else if (item.OptionName === 'MaxSize') {\n currentMaxInstances = item.Value;\n }\n }\n });\n\n return currentMinInstances !== minInstances.toString() ||\n currentMaxInstances !== maxInstances.toString();\n}\n\nexport function scalingConfig({ minInstances, maxInstances }) {\n return {\n OptionSettings: [\n {\n Namespace: 'aws:autoscaling:asg',\n OptionName: 'MinSize',\n Value: minInstances.toString()\n }, {\n Namespace: 'aws:autoscaling:asg',\n OptionName: 'MaxSize',\n Value: maxInstances.toString()\n }\n ]\n };\n}\n\nexport function convertToObject(result, option) {\n const resourceKey = option.ResourceName ? `-${option.ResourceName}` : '';\n const key = [`${option.Namespace}-${option.OptionName}${resourceKey}`];\n result[key] = option;\n\n return result;\n}\n\nexport function mergeConfigs(config1, config2) {\n config1 = config1.reduce(convertToObject, {});\n\n config2.forEach((option) => {\n const resourceKey = option.ResourceName ? `-${option.ResourceName}` : '';\n const key = [`${option.Namespace}-${option.OptionName}${resourceKey}`];\n config1[key] = option;\n });\n\n return Object.values(config1);\n}\n\nexport function diffConfig(current, desired) {\n current = current.reduce(convertToObject, {});\n\n desired = desired.reduce(convertToObject, {});\n\n const toRemove = difference(Object.keys(current), Object.keys(desired))\n .filter(key => key.indexOf('aws:elasticbeanstalk:application:environment-') === 0)\n .map((key) => {\n const option = current[key];\n return {\n Namespace: option.Namespace,\n OptionName: option.OptionName\n };\n });\n\n const toUpdate = Object.keys(desired).filter((key) => {\n if (key in current && current[key].Value === desired[key].Value) {\n return false;\n }\n\n return true;\n }).map(key => desired[key]);\n\n return {\n toRemove,\n toUpdate\n };\n}\n\nexport async function prepareUpdateEnvironment(api) {\n const config = api.getConfig();\n const {\n app,\n environment,\n bucket\n } = names(config);\n const {\n ConfigurationSettings\n } = await beanstalk.describeConfigurationSettings({\n EnvironmentName: environment,\n ApplicationName: app\n }).promise();\n const { longEnvVars } = config.app;\n let nextEnvVersion = 0;\n let envSettingsChanged;\n let desiredSettings;\n\n if (longEnvVars) {\n const currentEnvVersion = await largestEnvVersion(api);\n const currentSettings = await downloadEnvFile(bucket, currentEnvVersion);\n desiredSettings = createEnvFile(config.app.env, api.getSettings());\n envSettingsChanged = currentSettings !== desiredSettings;\n if (envSettingsChanged) {\n nextEnvVersion = currentEnvVersion + 1;\n await uploadEnvFile(bucket, nextEnvVersion, desiredSettings);\n } else {\n nextEnvVersion = currentEnvVersion;\n }\n }\n const desiredEbConfig = createDesiredConfig(\n api.getConfig(),\n api.getSettings(),\n nextEnvVersion\n );\n const {\n toRemove,\n toUpdate\n } = diffConfig(\n ConfigurationSettings[0].OptionSettings,\n desiredEbConfig.OptionSettings\n );\n\n return {\n toRemove,\n toUpdate\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"eb-config.js","sourceRoot":"","sources":["../src/eb-config.ts"],"names":[],"mappings":"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"}