@scandipwa/magento-scripts 1.14.1-alpha.6 → 1.14.1-alpha.9

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 (52) hide show
  1. package/lib/config/docker.js +49 -13
  2. package/lib/config/get-port-config.js +5 -1
  3. package/lib/config/port-config.js +2 -1
  4. package/lib/config/ssl-terminator/index.js +10 -0
  5. package/lib/config/templates/nginx.template.conf +0 -14
  6. package/lib/config/templates/ssl-terminator.template.conf +27 -0
  7. package/lib/config/templates/varnish.template.vcl +15 -6
  8. package/lib/config/varnish/varnish-6-0.js +11 -0
  9. package/lib/config/varnish/varnish-6-6.js +11 -0
  10. package/lib/config/varnish/varnish-7-0.js +11 -0
  11. package/lib/config/versions/magento-2.3.0.js +4 -5
  12. package/lib/config/versions/magento-2.3.1.js +4 -5
  13. package/lib/config/versions/magento-2.3.2-p2.js +4 -5
  14. package/lib/config/versions/magento-2.3.2.js +4 -5
  15. package/lib/config/versions/magento-2.3.3-p1.js +4 -5
  16. package/lib/config/versions/magento-2.3.3.js +4 -5
  17. package/lib/config/versions/magento-2.3.4-p2.js +4 -5
  18. package/lib/config/versions/magento-2.3.4.js +4 -5
  19. package/lib/config/versions/magento-2.3.5-p1.js +4 -5
  20. package/lib/config/versions/magento-2.3.5-p2.js +4 -5
  21. package/lib/config/versions/magento-2.3.5.js +4 -5
  22. package/lib/config/versions/magento-2.3.6-p1.js +4 -5
  23. package/lib/config/versions/magento-2.3.6.js +4 -5
  24. package/lib/config/versions/magento-2.3.7-p1.js +4 -5
  25. package/lib/config/versions/magento-2.3.7-p2.js +4 -5
  26. package/lib/config/versions/magento-2.3.7-p3.js +4 -5
  27. package/lib/config/versions/magento-2.3.7.js +4 -5
  28. package/lib/config/versions/magento-2.4.0-p1.js +4 -5
  29. package/lib/config/versions/magento-2.4.0.js +4 -5
  30. package/lib/config/versions/magento-2.4.1-p1.js +4 -5
  31. package/lib/config/versions/magento-2.4.1.js +4 -5
  32. package/lib/config/versions/magento-2.4.2-p1.js +4 -5
  33. package/lib/config/versions/magento-2.4.2-p2.js +4 -5
  34. package/lib/config/versions/magento-2.4.2.js +4 -5
  35. package/lib/config/versions/magento-2.4.3-p1.js +4 -5
  36. package/lib/config/versions/magento-2.4.3-p2.js +4 -5
  37. package/lib/config/versions/magento-2.4.3.js +4 -5
  38. package/lib/config/versions/magento-2.4.4.js +4 -5
  39. package/lib/tasks/docker/containers.js +4 -1
  40. package/lib/tasks/file-system/create-nginx-config.js +7 -44
  41. package/lib/tasks/file-system/create-ssl-terminator-config.js +94 -0
  42. package/lib/tasks/file-system/create-varnish-config.js +28 -5
  43. package/lib/tasks/file-system/index.js +2 -0
  44. package/lib/tasks/magento/setup-magento/varnish-config.js +7 -1
  45. package/lib/tasks/php/update-env-php.js +2 -2
  46. package/lib/tasks/php/update-env.php +2 -0
  47. package/lib/tasks/status/index.js +24 -8
  48. package/lib/util/config-file-validator.js +2 -1
  49. package/lib/util/instance-metadata.js +2 -2
  50. package/package.json +2 -2
  51. package/typings/context.d.ts +2 -1
  52. package/typings/index.d.ts +13 -1
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish66 } = require('../varnish/varnish-6-6');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.3.7',
@@ -42,11 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
42
44
  composer: {
43
45
  version: '2'
44
46
  },
45
- varnish: {
46
- enabled: true,
47
- version: '6.6',
48
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
49
- }
47
+ varnish: varnish66({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
50
49
  },
51
50
  magento: defaultMagentoConfig,
52
51
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish60 } = require('../varnish/varnish-6-0');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.4.0-p1',
@@ -42,11 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
42
44
  composer: {
43
45
  version: '1'
44
46
  },
45
- varnish: {
46
- enabled: true,
47
- version: '6.0',
48
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
49
- }
47
+ varnish: varnish60({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
50
49
  },
51
50
  magento: defaultMagentoConfig,
52
51
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish60 } = require('../varnish/varnish-6-0');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.4.0',
@@ -42,11 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
42
44
  composer: {
43
45
  version: '1'
44
46
  },
45
- varnish: {
46
- enabled: true,
47
- version: '6.0',
48
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
49
- }
47
+ varnish: varnish60({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
50
49
  },
51
50
  magento: defaultMagentoConfig,
52
51
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.1-p1',
@@ -44,11 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
44
46
  composer: {
45
47
  version: '1'
46
48
  },
47
- varnish: {
48
- enabled: true,
49
- version: '6.6',
50
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
51
- }
49
+ varnish: varnish66({ templateDir }),
50
+ sslTerminator: sslTerminator({ templateDir })
52
51
  },
53
52
  magento: defaultMagentoConfig,
54
53
  host: 'localhost',
@@ -1,5 +1,7 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
+ const { sslTerminator } = require('../ssl-terminator');
4
+ const { varnish66 } = require('../varnish/varnish-6-6');
3
5
 
4
6
  module.exports = ({ templateDir } = {}) => ({
5
7
  magentoVersion: '2.4.1',
@@ -42,11 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
42
44
  composer: {
43
45
  version: '1'
44
46
  },
45
- varnish: {
46
- enabled: true,
47
- version: '6.6',
48
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
49
- }
47
+ varnish: varnish66({ templateDir }),
48
+ sslTerminator: sslTerminator({ templateDir })
50
49
  },
51
50
  magento: defaultMagentoConfig,
52
51
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.2-p1',
@@ -46,11 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
46
48
  composer: {
47
49
  version: '2'
48
50
  },
49
- varnish: {
50
- enabled: true,
51
- version: '6.6',
52
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
53
- }
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
54
53
  },
55
54
  magento: defaultMagentoConfig,
56
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.2-p2',
@@ -46,11 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
46
48
  composer: {
47
49
  version: '2'
48
50
  },
49
- varnish: {
50
- enabled: true,
51
- version: '6.6',
52
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
53
- }
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
54
53
  },
55
54
  magento: defaultMagentoConfig,
56
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.2',
@@ -45,11 +47,8 @@ module.exports = ({ templateDir } = {}) => ({
45
47
  composer: {
46
48
  version: '2'
47
49
  },
48
- varnish: {
49
- enabled: true,
50
- version: '6.6',
51
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
52
- }
50
+ varnish: varnish66({ templateDir }),
51
+ sslTerminator: sslTerminator({ templateDir })
53
52
  },
54
53
  magento: defaultMagentoConfig,
55
54
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.3-p1',
@@ -46,11 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
46
48
  composer: {
47
49
  version: '2'
48
50
  },
49
- varnish: {
50
- enabled: true,
51
- version: '6.6',
52
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
53
- }
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
54
53
  },
55
54
  magento: defaultMagentoConfig,
56
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.3-p2',
@@ -46,11 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
46
48
  composer: {
47
49
  version: '2'
48
50
  },
49
- varnish: {
50
- enabled: true,
51
- version: '6.6',
52
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
53
- }
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
54
53
  },
55
54
  magento: defaultMagentoConfig,
56
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish66 } = require('../varnish/varnish-6-6');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.3',
@@ -46,11 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
46
48
  composer: {
47
49
  version: '2'
48
50
  },
49
- varnish: {
50
- enabled: true,
51
- version: '6.6',
52
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
53
- }
51
+ varnish: varnish66({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
54
53
  },
55
54
  magento: defaultMagentoConfig,
56
55
  host: 'localhost',
@@ -1,6 +1,8 @@
1
1
  const path = require('path');
2
2
  const { defaultMagentoConfig } = require('../magento-config');
3
3
  const { libsodium } = require('../php/extensions');
4
+ const { sslTerminator } = require('../ssl-terminator');
5
+ const { varnish70 } = require('../varnish/varnish-7-0');
4
6
 
5
7
  module.exports = ({ templateDir } = {}) => ({
6
8
  magentoVersion: '2.4.4',
@@ -46,11 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
46
48
  composer: {
47
49
  version: '2'
48
50
  },
49
- varnish: {
50
- enabled: true,
51
- version: '7.0',
52
- configTemplate: path.join(templateDir || '', 'varnish.template.vcl')
53
- }
51
+ varnish: varnish70({ templateDir }),
52
+ sslTerminator: sslTerminator({ templateDir })
54
53
  },
55
54
  magento: defaultMagentoConfig,
56
55
  host: 'localhost',
@@ -30,9 +30,11 @@ const run = (options) => {
30
30
  command = '',
31
31
  healthCheck,
32
32
  securityOptions = [],
33
- tmpfs = []
33
+ tmpfs = [],
34
+ expose = []
34
35
  } = options;
35
36
 
37
+ const exposeArg = expose && expose.map((e) => `--expose=${ e }`);
36
38
  const restartArg = restart && `--restart ${ restart }`;
37
39
  const networkArg = network && `--network ${ network }`;
38
40
  const portsArgs = ports.map((port) => `-p ${ port }`).join(' ');
@@ -53,6 +55,7 @@ const run = (options) => {
53
55
  networkArg,
54
56
  restartArg,
55
57
  portsArgs,
58
+ exposeArg,
56
59
  mountsArgs,
57
60
  mountVolumesArgs,
58
61
  envArgs,
@@ -1,9 +1,6 @@
1
1
  const os = require('os');
2
2
  const path = require('path');
3
- const fs = require('fs');
4
3
  const setConfigFile = require('../../util/set-config');
5
- const pathExists = require('../../util/path-exists');
6
- const { isIpAddress } = require('../../util/ip');
7
4
 
8
5
  /**
9
6
  * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
@@ -23,46 +20,13 @@ const createNginxConfig = () => ({
23
20
  const {
24
21
  configuration: {
25
22
  nginx
26
- },
27
- ssl,
28
- host
29
- } = overridenConfiguration;
30
-
31
- if (ssl.enabled) {
32
- if (!(await pathExists(ssl.ssl_certificate))) {
33
- throw new Error('ssl.ssl_certificate file does not exist!');
34
- }
35
- if (!(await pathExists(ssl.ssl_certificate_key))) {
36
- throw new Error('ssl.ssl_certificate_key file does not exist!');
37
23
  }
24
+ } = overridenConfiguration;
38
25
 
39
- const nginxCacheDir = path.join(baseConfig.cacheDir, 'nginx', 'conf.d');
40
- if (!await pathExists(nginxCacheDir)) {
41
- await fs.promises.mkdir(nginxCacheDir, { recursive: true });
42
- }
43
-
44
- await fs.promises.copyFile(
45
- ssl.ssl_certificate,
46
- path.join(
47
- baseConfig.cacheDir,
48
- 'nginx',
49
- 'conf.d',
50
- 'ssl_certificate.pem'
51
- )
52
- );
53
- await fs.promises.copyFile(
54
- ssl.ssl_certificate_key,
55
- path.join(
56
- baseConfig.cacheDir,
57
- 'nginx',
58
- 'conf.d',
59
- 'ssl_certificate-key.pem'
60
- )
61
- );
62
- }
63
-
64
- const networkToBindTo = isIpAddress(host) ? host : '127.0.0.1';
65
26
  const isLinux = os.platform() === 'linux';
27
+ const isNativeLinux = isLinux && !isWsl;
28
+ const hostMachine = isNativeLinux ? '127.0.0.1' : 'host.docker.internal';
29
+ const hostPort = isNativeLinux ? ports.app : 80;
66
30
 
67
31
  try {
68
32
  await setConfigFile({
@@ -77,10 +41,9 @@ const createNginxConfig = () => ({
77
41
  templateArgs: {
78
42
  ports,
79
43
  mageRoot: baseConfig.magentoDir,
80
- hostMachine: (isLinux && !isWsl) ? '127.0.0.1' : 'host.docker.internal',
81
- hostPort: (isLinux && !isWsl) ? ports.app : 80,
82
- config: overridenConfiguration,
83
- networkToBindTo
44
+ hostMachine,
45
+ hostPort,
46
+ config: overridenConfiguration
84
47
  }
85
48
  });
86
49
  } catch (e) {
@@ -0,0 +1,94 @@
1
+ const os = require('os');
2
+ const path = require('path');
3
+ const fs = require('fs');
4
+ const setConfigFile = require('../../util/set-config');
5
+ const pathExists = require('../../util/path-exists');
6
+ const { isIpAddress } = require('../../util/ip');
7
+
8
+ /**
9
+ * @type {() => import('listr2').ListrTask<import('../../../typings/context').ListrContext>}
10
+ */
11
+ const createSSLTerminatorConfig = () => ({
12
+ title: 'Setting ssl terminator config',
13
+ task: async (ctx) => {
14
+ const {
15
+ ports,
16
+ config: {
17
+ overridenConfiguration,
18
+ baseConfig
19
+ },
20
+ isWsl
21
+ } = ctx;
22
+
23
+ const {
24
+ configuration: {
25
+ sslTerminator
26
+ },
27
+ ssl,
28
+ host
29
+ } = overridenConfiguration;
30
+
31
+ if (ssl.enabled) {
32
+ if (!(await pathExists(ssl.ssl_certificate))) {
33
+ throw new Error('ssl.ssl_certificate file does not exist!');
34
+ }
35
+ if (!(await pathExists(ssl.ssl_certificate_key))) {
36
+ throw new Error('ssl.ssl_certificate_key file does not exist!');
37
+ }
38
+
39
+ const nginxCacheDir = path.join(baseConfig.cacheDir, 'nginx', 'conf.d');
40
+ if (!await pathExists(nginxCacheDir)) {
41
+ await fs.promises.mkdir(nginxCacheDir, { recursive: true });
42
+ }
43
+
44
+ await fs.promises.copyFile(
45
+ ssl.ssl_certificate,
46
+ path.join(
47
+ baseConfig.cacheDir,
48
+ 'ssl-terminator',
49
+ 'conf.d',
50
+ 'ssl_certificate.pem'
51
+ )
52
+ );
53
+ await fs.promises.copyFile(
54
+ ssl.ssl_certificate_key,
55
+ path.join(
56
+ baseConfig.cacheDir,
57
+ 'ssl-terminator',
58
+ 'conf.d',
59
+ 'ssl_certificate-key.pem'
60
+ )
61
+ );
62
+ }
63
+
64
+ const networkToBindTo = isIpAddress(host) ? host : '127.0.0.1';
65
+ const isLinux = os.platform() === 'linux';
66
+ const isNativeLinux = isLinux && !isWsl;
67
+ const hostMachine = isNativeLinux ? '127.0.0.1' : 'host.docker.internal';
68
+ const hostPort = isNativeLinux ? ports.sslTerminator : 80;
69
+
70
+ try {
71
+ await setConfigFile({
72
+ configPathname: path.join(
73
+ baseConfig.cacheDir,
74
+ 'ssl-terminator',
75
+ 'conf.d',
76
+ 'default.conf'
77
+ ),
78
+ template: sslTerminator.configTemplate,
79
+ overwrite: true,
80
+ templateArgs: {
81
+ ports,
82
+ hostMachine,
83
+ hostPort,
84
+ config: overridenConfiguration,
85
+ networkToBindTo
86
+ }
87
+ });
88
+ } catch (e) {
89
+ throw new Error(`Unexpected error accrued during ssl terminator config creation\n\n${e}`);
90
+ }
91
+ }
92
+ });
93
+
94
+ module.exports = createSSLTerminatorConfig;
@@ -1,4 +1,3 @@
1
- const os = require('os');
2
1
  const path = require('path');
3
2
  const setConfigFile = require('../../util/set-config');
4
3
 
@@ -17,7 +16,8 @@ const createVarnishConfig = () => ({
17
16
  cacheDir
18
17
  }
19
18
  },
20
- isWsl
19
+ isWsl,
20
+ platform
21
21
  } = ctx;
22
22
 
23
23
  const {
@@ -26,7 +26,8 @@ const createVarnishConfig = () => ({
26
26
  }
27
27
  } = overridenConfiguration;
28
28
 
29
- const isLinux = os.platform() === 'linux';
29
+ const isLinux = platform === 'linux';
30
+ const isNativeLinux = isLinux && !isWsl;
30
31
 
31
32
  try {
32
33
  await setConfigFile({
@@ -38,13 +39,35 @@ const createVarnishConfig = () => ({
38
39
  template: varnish.configTemplate,
39
40
  overwrite: true,
40
41
  templateArgs: {
41
- hostMachine: (isLinux && !isWsl) ? '127.0.0.1' : 'host.docker.internal',
42
- hostPort: (isLinux && !isWsl) ? ports.app : 80
42
+ hostMachine: isNativeLinux ? '127.0.0.1' : 'host.docker.internal',
43
+ nginxPort: ports.app
43
44
  }
44
45
  });
45
46
  } catch (e) {
46
47
  throw new Error(`Unexpected error accrued during varnish config creation\n\n${e}`);
47
48
  }
49
+
50
+ // try {
51
+ // await setConfigFile({
52
+ // configPathname: path.join(
53
+ // cacheDir,
54
+ // 'nginx-cache-router',
55
+ // 'conf.d',
56
+ // 'default.conf'
57
+ // ),
58
+ // template: path.join(templateDir, 'nginx-cache-router.template.conf'),
59
+ // overwrite: true,
60
+ // templateArgs: {
61
+ // ports,
62
+ // hostMachine,
63
+ // hostPort,
64
+ // config: overridenConfiguration,
65
+ // networkToBindTo
66
+ // }
67
+ // });
68
+ // } catch (e) {
69
+ // throw new Error(`Unexpected error accrued during nginx-cache-router config creation\n\n${e}`);
70
+ // }
48
71
  }
49
72
  });
50
73
 
@@ -2,6 +2,7 @@ const createNginxConfig = require('./create-nginx-config');
2
2
  const createPhpConfig = require('./create-php-config');
3
3
  const createPhpFpmConfig = require('./create-php-fpm-config');
4
4
  const createPhpStormConfig = require('./create-php-storm-config');
5
+ const createSSLTerminatorConfig = require('./create-ssl-terminator-config');
5
6
  const createVarnishConfig = require('./create-varnish-config');
6
7
  const createVSCodeConfig = require('./create-vscode-config');
7
8
 
@@ -11,6 +12,7 @@ const createVSCodeConfig = require('./create-vscode-config');
11
12
  const prepareFileSystem = () => ({
12
13
  title: 'Preparing file system',
13
14
  task: (ctx, task) => task.newListr([
15
+ createSSLTerminatorConfig(),
14
16
  createNginxConfig(),
15
17
  createPhpFpmConfig(),
16
18
  createPhpConfig(),
@@ -1,4 +1,6 @@
1
+ const os = require('os');
1
2
  const { updateTableValues } = require('../../../util/database');
3
+ const getIsWsl = require('../../../util/is-wsl');
2
4
 
3
5
  /**
4
6
  * @type {() => import('listr2').ListrTask<import('../../../../typings/context').ListrContext>}
@@ -20,6 +22,10 @@ const varnishConfigSetup = () => ({
20
22
  ports
21
23
  } = ctx;
22
24
 
25
+ const isLinux = os.platform() === 'linux';
26
+ const isWsl = await getIsWsl();
27
+ // const host = (isLinux && !isWsl) ? 'localhost' : 'host.docker.internal';
28
+
23
29
  if (varnishEnabled) {
24
30
  await updateTableValues('core_config_data', [
25
31
  {
@@ -32,7 +38,7 @@ const varnishConfigSetup = () => ({
32
38
  },
33
39
  {
34
40
  path: 'system/full_page_cache/varnish/access_list',
35
- value: 'localhost'
41
+ value: (!isLinux || isWsl) ? 'host.docker.internal,localhost' : 'localhost'
36
42
  },
37
43
  {
38
44
  path: 'system/full_page_cache/caching_application',
@@ -14,7 +14,7 @@ const updateEnvPHP = () => ({
14
14
  return;
15
15
  }
16
16
 
17
- const useVarinsh = ctx.config.overridenConfiguration.configuration.varnish.enabled ? '1' : '';
17
+ const useVarnish = ctx.config.overridenConfiguration.configuration.varnish.enabled ? '1' : '';
18
18
  const varnishHost = '127.0.0.1';
19
19
  const varnishPort = ctx.ports.varnish;
20
20
  const previousVarnishPort = ctx.cachedPorts
@@ -25,7 +25,7 @@ const updateEnvPHP = () => ({
25
25
  phpTask(`-f ${ path.join(__dirname, 'update-env.php') }`, {
26
26
  noTitle: true,
27
27
  env: {
28
- USE_VARNISH: useVarinsh,
28
+ USE_VARNISH: useVarnish,
29
29
  VARNISH_PORT: `${ varnishPort }`,
30
30
  VARNISH_HOST: varnishHost,
31
31
  PREVIOUS_VARNISH_PORT: `${ previousVarnishPort }`
@@ -161,6 +161,8 @@ class EnvUpdater
161
161
  } else {
162
162
  $this->config['http_cache_hosts'] = [$varnishConfig];
163
163
  }
164
+ } else {
165
+ unset($this->config['http_cache_hosts']);
164
166
  }
165
167
  }
166
168
 
@@ -6,6 +6,7 @@ const { version: packageVersion } = require('../../../package.json');
6
6
  const { getArchSync } = require('../../util/arch');
7
7
  const ConsoleBlock = require('../../util/console-block');
8
8
  const { getComposerVersion } = require('../composer');
9
+ const { getInstanceMetadata } = require('../../util/instance-metadata');
9
10
 
10
11
  /**
11
12
  * @param {string} port
@@ -23,11 +24,8 @@ const parsePort = (port) => {
23
24
 
24
25
  const prettyStatus = async (ctx) => {
25
26
  const {
26
- ports,
27
27
  config: {
28
- magentoConfiguration,
29
28
  baseConfig,
30
- overridenConfiguration: { host, ssl },
31
29
  php,
32
30
  composer
33
31
  },
@@ -107,15 +105,33 @@ const prettyStatus = async (ctx) => {
107
105
  }
108
106
  });
109
107
 
108
+ const instanceMetadata = getInstanceMetadata(ctx);
109
+
110
110
  block
111
111
  .addEmptyLine()
112
- .addSeparator('Magento status')
113
- .addEmptyLine()
114
- .addLine(`Web location: ${logger.style.link(`${ssl.enabled ? 'https' : 'http'}://${host}${ports.app === 80 ? '' : `:${ports.app}`}/`)}`)
115
- .addLine(`Magento Admin panel location: ${logger.style.link(`${ssl.enabled ? 'https' : 'http'}://${host}${ports.app === 80 ? '' : `:${ports.app}`}/${magentoConfiguration.adminuri}`)}`)
116
- .addLine(`Magento Admin panel credentials: ${logger.style.misc(magentoConfiguration.user)} - ${logger.style.misc(magentoConfiguration.password)}`)
112
+ .addSeparator('Magento 2')
117
113
  .addEmptyLine();
118
114
 
115
+ block.addLine(logger.style.misc('Frontend'));
116
+ instanceMetadata.frontend.forEach(({ title, text }) => {
117
+ block.addLine(` ${title}: ${text}`);
118
+ });
119
+
120
+ block.addEmptyLine();
121
+
122
+ block.addLine(logger.style.misc('Admin'));
123
+ instanceMetadata.admin.forEach(({ title, text }) => {
124
+ block.addLine(` ${title}: ${text}`);
125
+ });
126
+ // block
127
+ // .addEmptyLine()
128
+ // .addSeparator('Magento status')
129
+ // .addEmptyLine()
130
+ // .addLine(`Web location: ${logger.style.link(`${ssl.enabled ? 'https' : 'http'}://${host}${ports.app === 80 ? '' : `:${ports.app}`}/`)}`)
131
+ // .addLine(`Magento Admin panel location: ${logger.style.link(`${ssl.enabled ? 'https' : 'http'}://${host}${ports.app === 80 ? '' : `:${ports.app}`}/${magentoConfiguration.adminuri}`)}`)
132
+ // .addLine(`Magento Admin panel credentials: ${logger.style.misc(magentoConfiguration.user)} - ${logger.style.misc(magentoConfiguration.password)}`)
133
+ // .addEmptyLine();
134
+
119
135
  block.log();
120
136
  };
121
137