@brunwig/mup-aws-beanstalk 0.8.7 → 2.0.5

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 +5 -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
@@ -1,63 +1,60 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = ensureSSLConfigured;
7
- var _aws = require("./aws");
8
- var _utils = require("./utils");
9
- var _ebConfig = require("./eb-config");
10
- var _envReady = require("./env-ready");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureSSLConfigured = ensureSSLConfigured;
4
+ const aws_1 = require("./aws");
5
+ const utils_1 = require("./utils");
6
+ const eb_config_1 = require("./eb-config");
7
+ const env_ready_1 = require("./env-ready");
11
8
  async function ensureSSLConfigured(config, certificateArn) {
12
- const {
13
- app,
14
- environment
15
- } = (0, _utils.names)(config);
16
- const ebConfig = [{
17
- Namespace: 'aws:elbv2:listener:443',
18
- OptionName: 'SSLCertificateArns',
19
- Value: certificateArn
20
- }, {
21
- Namespace: 'aws:elbv2:listener:443',
22
- OptionName: 'DefaultProcess',
23
- Value: 'default'
24
- }, {
25
- Namespace: 'aws:elbv2:listener:443',
26
- OptionName: 'ListenerEnabled',
27
- Value: 'true'
28
- }, {
29
- Namespace: 'aws:elbv2:listener:443',
30
- OptionName: 'Protocol',
31
- Value: 'HTTPS'
32
- },
33
- // Force SSLv3
34
- {
35
- Namespace: 'aws:elbv2:listener:443',
36
- OptionName: 'SSLPolicy',
37
- Value: 'ELBSecurityPolicy-TLS13-1-2-2021-06'
38
- }];
39
- const domains = config.app.sslDomains;
40
-
41
- // we use domains to decide if we need to do something about SSL
42
- if (!domains || domains.length === 0) {
43
- return;
44
- }
45
- const {
46
- ConfigurationSettings
47
- } = await _aws.beanstalk.describeConfigurationSettings({
48
- EnvironmentName: environment,
49
- ApplicationName: app
50
- }).promise();
51
- const current = ConfigurationSettings[0].OptionSettings.reduce(_ebConfig.convertToObject, {});
52
- const desired = ebConfig.reduce(_ebConfig.convertToObject, {});
53
- const needToUpdate = Object.keys(desired).find(key => !current[key] || current[key].Value !== desired[key].Value);
54
- if (!needToUpdate) {
55
- return;
56
- }
57
- await _aws.beanstalk.updateEnvironment({
58
- EnvironmentName: environment,
59
- OptionSettings: ebConfig
60
- }).promise();
61
- await (0, _envReady.waitForEnvReady)(config, true);
9
+ const { app, environment } = (0, utils_1.names)(config);
10
+ const ebConfig = [{
11
+ Namespace: 'aws:elbv2:listener:443',
12
+ OptionName: 'SSLCertificateArns',
13
+ Value: certificateArn
14
+ }, {
15
+ Namespace: 'aws:elbv2:listener:443',
16
+ OptionName: 'DefaultProcess',
17
+ Value: 'default'
18
+ }, {
19
+ Namespace: 'aws:elbv2:listener:443',
20
+ OptionName: 'ListenerEnabled',
21
+ Value: 'true'
22
+ }, {
23
+ Namespace: 'aws:elbv2:listener:443',
24
+ OptionName: 'Protocol',
25
+ Value: 'HTTPS'
26
+ },
27
+ // Force SSLv3
28
+ {
29
+ Namespace: 'aws:elbv2:listener:443',
30
+ OptionName: 'SSLPolicy',
31
+ Value: 'ELBSecurityPolicy-TLS13-1-2-2021-06'
32
+ }
33
+ ];
34
+ const domains = config.app.sslDomains;
35
+ // we use domains to decide if we need to do something about SSL
36
+ if (!domains || domains.length === 0) {
37
+ return;
38
+ }
39
+ const { ConfigurationSettings } = await aws_1.beanstalk
40
+ .describeConfigurationSettings({
41
+ EnvironmentName: environment,
42
+ ApplicationName: app,
43
+ });
44
+ console.log("--->", "ensureSSLConfigured", ConfigurationSettings);
45
+ const firstConfig = ConfigurationSettings === null || ConfigurationSettings === void 0 ? void 0 : ConfigurationSettings[0];
46
+ const current = firstConfig.OptionSettings.reduce(eb_config_1.convertToObject, {});
47
+ const desired = ebConfig.reduce(eb_config_1.convertToObject, {});
48
+ const needToUpdate = Object.keys(desired).find((key) => !current[key] || current[key].Value !== desired[key].Value);
49
+ if (!needToUpdate) {
50
+ return;
51
+ }
52
+ console.log("--->", "ensureSSLConfigured updateEnvironment", environment, ebConfig);
53
+ await aws_1.beanstalk
54
+ .updateEnvironment({
55
+ EnvironmentName: environment,
56
+ OptionSettings: ebConfig,
57
+ });
58
+ await (0, env_ready_1.waitForEnvReady)(config, true);
62
59
  }
63
60
  //# sourceMappingURL=certificates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"certificates.js","names":["_aws","require","_utils","_ebConfig","_envReady","ensureSSLConfigured","config","certificateArn","app","environment","names","ebConfig","Namespace","OptionName","Value","domains","sslDomains","length","ConfigurationSettings","beanstalk","describeConfigurationSettings","EnvironmentName","ApplicationName","promise","current","OptionSettings","reduce","convertToObject","desired","needToUpdate","Object","keys","find","key","updateEnvironment","waitForEnvReady"],"sources":["../src/certificates.js"],"sourcesContent":["import { beanstalk } from './aws';\nimport { names } from './utils';\nimport { convertToObject } from './eb-config';\nimport { waitForEnvReady } from './env-ready';\n\nexport default async function ensureSSLConfigured(config, certificateArn) {\n const {\n app,\n environment\n } = names(config);\n\n const ebConfig = [{\n Namespace: 'aws:elbv2:listener:443',\n OptionName: 'SSLCertificateArns',\n Value: certificateArn\n }, {\n Namespace: 'aws:elbv2:listener:443',\n OptionName: 'DefaultProcess',\n Value: 'default'\n }, {\n Namespace: 'aws:elbv2:listener:443',\n OptionName: 'ListenerEnabled',\n Value: 'true'\n }, {\n Namespace: 'aws:elbv2:listener:443',\n OptionName: 'Protocol',\n Value: 'HTTPS'\n },\n // Force SSLv3\n {\n Namespace: 'aws:elbv2:listener:443',\n OptionName: 'SSLPolicy',\n Value: 'ELBSecurityPolicy-TLS13-1-2-2021-06'\n }];\n\n const domains = config.app.sslDomains;\n\n // we use domains to decide if we need to do something about SSL\n if (!domains || domains.length === 0) {\n return;\n }\n\n const { ConfigurationSettings } = await beanstalk\n .describeConfigurationSettings({\n EnvironmentName: environment,\n ApplicationName: app,\n })\n .promise();\n\n const current = ConfigurationSettings[0].OptionSettings.reduce(\n convertToObject,\n {}\n );\n const desired = ebConfig.reduce(convertToObject, {});\n\n const needToUpdate = Object.keys(desired).find(\n (key) => !current[key] || current[key].Value !== desired[key].Value\n );\n\n if (!needToUpdate) {\n return;\n }\n\n await beanstalk\n .updateEnvironment({\n EnvironmentName: environment,\n OptionSettings: ebConfig,\n })\n .promise();\n await waitForEnvReady(config, true);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAEe,eAAeI,mBAAmBA,CAACC,MAAM,EAAEC,cAAc,EAAE;EACxE,MAAM;IACJC,GAAG;IACHC;EACF,CAAC,GAAG,IAAAC,YAAK,EAACJ,MAAM,CAAC;EAEjB,MAAMK,QAAQ,GAAG,CAAC;IAChBC,SAAS,EAAE,wBAAwB;IACnCC,UAAU,EAAE,oBAAoB;IAChCC,KAAK,EAAEP;EACT,CAAC,EAAE;IACDK,SAAS,EAAE,wBAAwB;IACnCC,UAAU,EAAE,gBAAgB;IAC5BC,KAAK,EAAE;EACT,CAAC,EAAE;IACDF,SAAS,EAAE,wBAAwB;IACnCC,UAAU,EAAE,iBAAiB;IAC7BC,KAAK,EAAE;EACT,CAAC,EAAE;IACDF,SAAS,EAAE,wBAAwB;IACnCC,UAAU,EAAE,UAAU;IACtBC,KAAK,EAAE;EACT,CAAC;EACD;EACA;IACEF,SAAS,EAAE,wBAAwB;IACnCC,UAAU,EAAE,WAAW;IACvBC,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,MAAMC,OAAO,GAAGT,MAAM,CAACE,GAAG,CAACQ,UAAU;;EAErC;EACA,IAAI,CAACD,OAAO,IAAIA,OAAO,CAACE,MAAM,KAAK,CAAC,EAAE;IACpC;EACF;EAEA,MAAM;IAAEC;EAAsB,CAAC,GAAG,MAAMC,cAAS,CAC9CC,6BAA6B,CAAC;IAC7BC,eAAe,EAAEZ,WAAW;IAC5Ba,eAAe,EAAEd;EACnB,CAAC,CAAC,CACDe,OAAO,CAAC,CAAC;EAEZ,MAAMC,OAAO,GAAGN,qBAAqB,CAAC,CAAC,CAAC,CAACO,cAAc,CAACC,MAAM,CAC5DC,yBAAe,EACf,CAAC,CACH,CAAC;EACD,MAAMC,OAAO,GAAGjB,QAAQ,CAACe,MAAM,CAACC,yBAAe,EAAE,CAAC,CAAC,CAAC;EAEpD,MAAME,YAAY,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,IAAI,CAC3CC,GAAG,IAAK,CAACT,OAAO,CAACS,GAAG,CAAC,IAAIT,OAAO,CAACS,GAAG,CAAC,CAACnB,KAAK,KAAKc,OAAO,CAACK,GAAG,CAAC,CAACnB,KAChE,CAAC;EAED,IAAI,CAACe,YAAY,EAAE;IACjB;EACF;EAEA,MAAMV,cAAS,CACZe,iBAAiB,CAAC;IACjBb,eAAe,EAAEZ,WAAW;IAC5BgB,cAAc,EAAEd;EAClB,CAAC,CAAC,CACDY,OAAO,CAAC,CAAC;EACZ,MAAM,IAAAY,yBAAe,EAAC7B,MAAM,EAAE,IAAI,CAAC;AACrC","ignoreList":[]}
1
+ {"version":3,"file":"certificates.js","sourceRoot":"","sources":["../src/certificates.ts"],"names":[],"mappings":";;AAMA,kDAsEC;AA5ED,+BAAkC;AAClC,mCAAgC;AAChC,2CAA8C;AAC9C,2CAA8C;AAGvC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,cAAuB;IAEvB,MAAM,EACJ,GAAG,EACH,WAAW,EACZ,GAAG,IAAA,aAAK,EAAC,MAAM,CAAC,CAAC;IAElB,MAAM,QAAQ,GAAG,CAAC;YAChB,SAAS,EAAE,wBAAwB;YACnC,UAAU,EAAE,oBAAoB;YAChC,KAAK,EAAE,cAAc;SACtB,EAAE;YACD,SAAS,EAAE,wBAAwB;YACnC,UAAU,EAAE,gBAAgB;YAC5B,KAAK,EAAE,SAAS;SACjB,EAAE;YACD,SAAS,EAAE,wBAAwB;YACnC,UAAU,EAAE,iBAAiB;YAC7B,KAAK,EAAE,MAAM;SACd,EAAE;YACD,SAAS,EAAE,wBAAwB;YACnC,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,OAAO;SACf;QACD,cAAc;QACd;YACE,SAAS,EAAE,wBAAwB;YACnC,UAAU,EAAE,WAAW;YACvB,KAAK,EAAE,qCAAqC;SAC7C;KACA,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC;IAEtC,gEAAgE;IAChE,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IACD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,eAAS;SAChD,6BAA6B,CAAC;QAC7B,eAAe,EAAE,WAAW;QAC5B,eAAe,EAAE,GAAG;KACrB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,CAAC,CAAA;IAEjE,MAAM,WAAW,GAAG,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,WAAY,CAAC,cAAe,CAAC,MAAM,CACjD,2BAAe,EACf,EAAwB,CACzB,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,2BAAe,EAAE,EAAE,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CACpE,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,uCAAuC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;IAEnF,MAAM,eAAS;SACZ,iBAAiB,CAAC;QACjB,eAAe,EAAE,WAAW;QAC5B,cAAc,EAAE,QAAQ;KACzB,CAAC,CAAC;IACL,MAAM,IAAA,2BAAe,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtC,CAAC"}