@scandipwa/magento-scripts 1.14.1-alpha.8 → 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.
- package/lib/config/docker.js +41 -9
- package/lib/config/get-port-config.js +5 -1
- package/lib/config/port-config.js +2 -1
- package/lib/config/ssl-terminator/index.js +10 -0
- package/lib/config/templates/nginx.template.conf +0 -31
- package/lib/config/templates/ssl-terminator.template.conf +27 -0
- package/lib/config/versions/magento-2.3.0.js +3 -1
- package/lib/config/versions/magento-2.3.1.js +3 -1
- package/lib/config/versions/magento-2.3.2-p2.js +3 -1
- package/lib/config/versions/magento-2.3.2.js +3 -1
- package/lib/config/versions/magento-2.3.3-p1.js +3 -1
- package/lib/config/versions/magento-2.3.3.js +3 -1
- package/lib/config/versions/magento-2.3.4-p2.js +3 -1
- package/lib/config/versions/magento-2.3.4.js +3 -1
- package/lib/config/versions/magento-2.3.5-p1.js +3 -1
- package/lib/config/versions/magento-2.3.5-p2.js +3 -1
- package/lib/config/versions/magento-2.3.5.js +3 -1
- package/lib/config/versions/magento-2.3.6-p1.js +3 -1
- package/lib/config/versions/magento-2.3.6.js +3 -1
- package/lib/config/versions/magento-2.3.7-p1.js +3 -1
- package/lib/config/versions/magento-2.3.7-p2.js +3 -1
- package/lib/config/versions/magento-2.3.7-p3.js +3 -1
- package/lib/config/versions/magento-2.3.7.js +3 -1
- package/lib/config/versions/magento-2.4.0-p1.js +3 -1
- package/lib/config/versions/magento-2.4.0.js +3 -1
- package/lib/config/versions/magento-2.4.1-p1.js +3 -1
- package/lib/config/versions/magento-2.4.1.js +3 -1
- package/lib/config/versions/magento-2.4.2-p1.js +3 -1
- package/lib/config/versions/magento-2.4.2-p2.js +3 -1
- package/lib/config/versions/magento-2.4.2.js +3 -1
- package/lib/config/versions/magento-2.4.3-p1.js +3 -1
- package/lib/config/versions/magento-2.4.3-p2.js +3 -1
- package/lib/config/versions/magento-2.4.3.js +3 -1
- package/lib/config/versions/magento-2.4.4.js +3 -1
- package/lib/tasks/file-system/create-nginx-config.js +2 -42
- package/lib/tasks/file-system/create-ssl-terminator-config.js +94 -0
- package/lib/tasks/file-system/create-varnish-config.js +22 -0
- package/lib/tasks/file-system/index.js +2 -0
- package/lib/tasks/status/index.js +24 -8
- package/lib/util/config-file-validator.js +2 -1
- package/lib/util/instance-metadata.js +2 -2
- package/package.json +2 -2
- package/typings/index.d.ts +13 -1
package/lib/config/docker.js
CHANGED
|
@@ -54,7 +54,7 @@ module.exports = async ({ configuration, ssl, host }, config) => {
|
|
|
54
54
|
name: `${ prefix }_nginx-data`,
|
|
55
55
|
opts: {
|
|
56
56
|
type: 'nfs',
|
|
57
|
-
device:
|
|
57
|
+
device: path.join(cacheDir, 'nginx', 'conf.d'),
|
|
58
58
|
o: 'bind'
|
|
59
59
|
}
|
|
60
60
|
};
|
|
@@ -62,7 +62,7 @@ module.exports = async ({ configuration, ssl, host }, config) => {
|
|
|
62
62
|
name: `${ prefix }_pub-data`,
|
|
63
63
|
opts: {
|
|
64
64
|
type: 'nfs',
|
|
65
|
-
device:
|
|
65
|
+
device: path.join(magentoDir, 'pub'),
|
|
66
66
|
o: 'bind'
|
|
67
67
|
}
|
|
68
68
|
};
|
|
@@ -70,7 +70,15 @@ module.exports = async ({ configuration, ssl, host }, config) => {
|
|
|
70
70
|
name: `${ prefix }_setup-data`,
|
|
71
71
|
opts: {
|
|
72
72
|
type: 'nfs',
|
|
73
|
-
device:
|
|
73
|
+
device: path.join(magentoDir, 'setup'),
|
|
74
|
+
o: 'bind'
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
volumes.sslTerminator = {
|
|
78
|
+
name: `${ prefix }_ssl-terminator-data`,
|
|
79
|
+
opts: {
|
|
80
|
+
type: 'nfs',
|
|
81
|
+
device: path.join(cacheDir, 'ssl-terminator', 'conf.d'),
|
|
74
82
|
o: 'bind'
|
|
75
83
|
}
|
|
76
84
|
};
|
|
@@ -80,7 +88,7 @@ module.exports = async ({ configuration, ssl, host }, config) => {
|
|
|
80
88
|
name: `${ prefix }_varnish-data`,
|
|
81
89
|
opts: {
|
|
82
90
|
type: 'nfs',
|
|
83
|
-
device:
|
|
91
|
+
device: path.join(cacheDir, 'varnish'),
|
|
84
92
|
o: 'bind'
|
|
85
93
|
}
|
|
86
94
|
};
|
|
@@ -89,6 +97,31 @@ module.exports = async ({ configuration, ssl, host }, config) => {
|
|
|
89
97
|
|
|
90
98
|
const getContainers = (ports = {}) => {
|
|
91
99
|
const dockerConfig = {
|
|
100
|
+
sslTerminator: {
|
|
101
|
+
_: 'SSL Terminator (Nginx)',
|
|
102
|
+
ports: isNotNativeLinux ? [
|
|
103
|
+
`${ isIpAddress(host) ? host : '127.0.0.1' }:${ ports.sslTerminator }:80`
|
|
104
|
+
] : [],
|
|
105
|
+
healthCheck: {
|
|
106
|
+
cmd: 'service nginx status'
|
|
107
|
+
},
|
|
108
|
+
/**
|
|
109
|
+
* Mount volumes directly on linux
|
|
110
|
+
*/
|
|
111
|
+
mountVolumes: [
|
|
112
|
+
`${ isLinux ? path.join(cacheDir, 'ssl-terminator', 'conf.d') : volumes.sslTerminator.name }:/etc/nginx/conf.d`
|
|
113
|
+
],
|
|
114
|
+
restart: 'on-failure:5',
|
|
115
|
+
// TODO: use connect instead
|
|
116
|
+
network: isNotNativeLinux ? network.name : 'host',
|
|
117
|
+
image: `nginx:${ nginx.version }`,
|
|
118
|
+
imageDetails: {
|
|
119
|
+
name: 'nginx',
|
|
120
|
+
tag: nginx.version
|
|
121
|
+
},
|
|
122
|
+
name: `${ prefix }_ssl-terminator`,
|
|
123
|
+
command: "nginx -g 'daemon off;'"
|
|
124
|
+
},
|
|
92
125
|
nginx: {
|
|
93
126
|
_: 'Nginx',
|
|
94
127
|
ports: isNotNativeLinux ? [
|
|
@@ -216,10 +249,8 @@ module.exports = async ({ configuration, ssl, host }, config) => {
|
|
|
216
249
|
tag: varnish.version
|
|
217
250
|
},
|
|
218
251
|
name: `${ prefix }_varnish`,
|
|
219
|
-
mountVolumes:
|
|
220
|
-
`${ path.join(cacheDir, 'varnish') }:/etc/varnish`
|
|
221
|
-
] : [
|
|
222
|
-
`${ volumes.varnish.name }:/etc/varnish`
|
|
252
|
+
mountVolumes: [
|
|
253
|
+
`${ isLinux ? path.join(cacheDir, 'varnish') : volumes.varnish.name }:/etc/varnish`
|
|
223
254
|
],
|
|
224
255
|
ports: isNotNativeLinux ? [
|
|
225
256
|
`${ isIpAddress(host) ? host : '127.0.0.1' }:${ ports.varnish }:80`
|
|
@@ -229,7 +260,8 @@ module.exports = async ({ configuration, ssl, host }, config) => {
|
|
|
229
260
|
},
|
|
230
261
|
restart: 'on-failure:30',
|
|
231
262
|
network: isNotNativeLinux ? network.name : 'host',
|
|
232
|
-
|
|
263
|
+
// eslint-disable-next-line max-len
|
|
264
|
+
command: `/bin/bash -c "varnishd -a :${ isNotNativeLinux ? 80 : ports.varnish } -t 600 -f /etc/varnish/default.vcl -s malloc,512m && varnishlog"`,
|
|
233
265
|
tmpfs: [
|
|
234
266
|
'/var/lib/varnish:exec'
|
|
235
267
|
]
|
|
@@ -26,6 +26,10 @@ const getAvailablePorts = () => ({
|
|
|
26
26
|
'utf-8'
|
|
27
27
|
)
|
|
28
28
|
);
|
|
29
|
+
if (!ports.sslTerminator) {
|
|
30
|
+
ports.sslTerminator = ports.app;
|
|
31
|
+
ports.app = defaultPorts.app;
|
|
32
|
+
}
|
|
29
33
|
}
|
|
30
34
|
const {
|
|
31
35
|
systemConfiguration: {
|
|
@@ -41,7 +45,7 @@ const getAvailablePorts = () => ({
|
|
|
41
45
|
if (!isPortAvailable) {
|
|
42
46
|
throw new Error(`Port ${ctx.port} is not available`);
|
|
43
47
|
} else {
|
|
44
|
-
availablePorts.
|
|
48
|
+
availablePorts.sslTerminator = ctx.port;
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
real_ip_header X-Forwarded-For;
|
|
2
|
-
set_real_ip_from 10.0.0.0/8;
|
|
3
|
-
set_real_ip_from 172.0.0.0/8;
|
|
4
|
-
real_ip_recursive on;
|
|
5
|
-
|
|
6
1
|
upstream fastcgi_backend {
|
|
7
2
|
# use tcp connection
|
|
8
3
|
server <%= it.hostMachine %>:<%= it.ports.fpm %>;
|
|
@@ -10,16 +5,7 @@ upstream fastcgi_backend {
|
|
|
10
5
|
|
|
11
6
|
server {
|
|
12
7
|
listen <%= it.hostPort %>;
|
|
13
|
-
<% if (it.config.ssl.enabled) { %>listen 443 ssl;<% } %>
|
|
14
|
-
|
|
15
|
-
<% if (it.config.ssl.enabled) { %>server_name <%= it.networkToBindTo %>;
|
|
16
|
-
|
|
17
|
-
ssl_certificate /etc/nginx/conf.d/ssl_certificate.pem;
|
|
18
|
-
ssl_certificate_key /etc/nginx/conf.d/ssl_certificate-key.pem;
|
|
19
|
-
ssl_protocols TLSv1.2;<% } else if (it.config.host) { %>server_name <%= it.config.host %>;
|
|
20
|
-
<% } else { %>
|
|
21
8
|
server_name _;
|
|
22
|
-
<% } %>
|
|
23
9
|
|
|
24
10
|
set $MAGE_ROOT <%= it.mageRoot %>;
|
|
25
11
|
resolver 127.0.0.11;
|
|
@@ -39,16 +25,6 @@ server {
|
|
|
39
25
|
}
|
|
40
26
|
|
|
41
27
|
location / {
|
|
42
|
-
# proxy_set_header X-Real-IP $remote_addr;
|
|
43
|
-
# proxy_set_header X-Forwarded-For $remote_addr;
|
|
44
|
-
# proxy_set_header Host $http_host;
|
|
45
|
-
|
|
46
|
-
# if ($request_method = PURGE) {
|
|
47
|
-
# rewrite ^/(.*)$ $1 break;
|
|
48
|
-
# proxy_pass http://<%= it.hostMachine %>:<%= it.ports.varnish %>/;
|
|
49
|
-
# break;
|
|
50
|
-
# }
|
|
51
|
-
|
|
52
28
|
try_files $uri $uri/ /index.php$is_args$args;
|
|
53
29
|
}
|
|
54
30
|
|
|
@@ -222,11 +198,4 @@ server {
|
|
|
222
198
|
location @webp-to-jpg {
|
|
223
199
|
rewrite ^(.*)\.webp$ $1.jpg last;
|
|
224
200
|
}
|
|
225
|
-
|
|
226
|
-
# location @purgepass {
|
|
227
|
-
# # some other configuration
|
|
228
|
-
# proxy_pass http://<%= it.hostMachine %>:<%= it.ports.varnish %>;
|
|
229
|
-
# proxy_set_header Host $host;
|
|
230
|
-
# proxy_set_header X-Real-IP $remote_addr;
|
|
231
|
-
# }
|
|
232
201
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
real_ip_header X-Forwarded-For;
|
|
2
|
+
set_real_ip_from 10.0.0.0/8;
|
|
3
|
+
set_real_ip_from 172.0.0.0/8;
|
|
4
|
+
real_ip_recursive on;
|
|
5
|
+
|
|
6
|
+
server {
|
|
7
|
+
listen <%= it.hostPort %>;
|
|
8
|
+
<% if (it.config.ssl.enabled) { %> listen 443 ssl;
|
|
9
|
+
server_name <%= it.networkToBindTo %>;
|
|
10
|
+
|
|
11
|
+
ssl_certificate /etc/nginx/conf.d/ssl_certificate.pem;
|
|
12
|
+
ssl_certificate_key /etc/nginx/conf.d/ssl_certificate-key.pem;
|
|
13
|
+
ssl_protocols TLSv1.2;<% } %>
|
|
14
|
+
|
|
15
|
+
server_name <% if (it.config.host) { %><%= it.config.host %><% } else { %>_<% } %>;
|
|
16
|
+
|
|
17
|
+
location / {
|
|
18
|
+
proxy_buffer_size 128k;
|
|
19
|
+
proxy_buffers 4 256k;
|
|
20
|
+
proxy_busy_buffers_size 256k;
|
|
21
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
22
|
+
proxy_set_header X-Forwarded-For $remote_addr;
|
|
23
|
+
proxy_set_header Host $http_host;
|
|
24
|
+
|
|
25
|
+
proxy_pass http://<%= it.hostMachine %>:<% if (it.config.configuration.varnish.enabled) { %><%= it.ports.varnish %><% } else { %><%= it.ports.app %><% } %>;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -43,7 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
43
44
|
composer: {
|
|
44
45
|
version: '2'
|
|
45
46
|
},
|
|
46
|
-
varnish: varnish66({ templateDir })
|
|
47
|
+
varnish: varnish66({ templateDir }),
|
|
48
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
47
49
|
},
|
|
48
50
|
magento: defaultMagentoConfig,
|
|
49
51
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -43,7 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
43
44
|
composer: {
|
|
44
45
|
version: '2'
|
|
45
46
|
},
|
|
46
|
-
varnish: varnish66({ templateDir })
|
|
47
|
+
varnish: varnish66({ templateDir }),
|
|
48
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
47
49
|
},
|
|
48
50
|
magento: defaultMagentoConfig,
|
|
49
51
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -43,7 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
43
44
|
composer: {
|
|
44
45
|
version: '2'
|
|
45
46
|
},
|
|
46
|
-
varnish: varnish66({ templateDir })
|
|
47
|
+
varnish: varnish66({ templateDir }),
|
|
48
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
47
49
|
},
|
|
48
50
|
magento: defaultMagentoConfig,
|
|
49
51
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -43,7 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
43
44
|
composer: {
|
|
44
45
|
version: '2'
|
|
45
46
|
},
|
|
46
|
-
varnish: varnish66({ templateDir })
|
|
47
|
+
varnish: varnish66({ templateDir }),
|
|
48
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
47
49
|
},
|
|
48
50
|
magento: defaultMagentoConfig,
|
|
49
51
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish60 } = require('../varnish/varnish-6-0');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -43,7 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
43
44
|
composer: {
|
|
44
45
|
version: '1'
|
|
45
46
|
},
|
|
46
|
-
varnish: varnish60({ templateDir })
|
|
47
|
+
varnish: varnish60({ templateDir }),
|
|
48
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
47
49
|
},
|
|
48
50
|
magento: defaultMagentoConfig,
|
|
49
51
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish60 } = require('../varnish/varnish-6-0');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -43,7 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
43
44
|
composer: {
|
|
44
45
|
version: '1'
|
|
45
46
|
},
|
|
46
|
-
varnish: varnish60({ templateDir })
|
|
47
|
+
varnish: varnish60({ templateDir }),
|
|
48
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
47
49
|
},
|
|
48
50
|
magento: defaultMagentoConfig,
|
|
49
51
|
host: 'localhost',
|
|
@@ -1,6 +1,7 @@
|
|
|
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');
|
|
4
5
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
5
6
|
|
|
6
7
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -45,7 +46,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
45
46
|
composer: {
|
|
46
47
|
version: '1'
|
|
47
48
|
},
|
|
48
|
-
varnish: varnish66({ templateDir })
|
|
49
|
+
varnish: varnish66({ templateDir }),
|
|
50
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
49
51
|
},
|
|
50
52
|
magento: defaultMagentoConfig,
|
|
51
53
|
host: 'localhost',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const { defaultMagentoConfig } = require('../magento-config');
|
|
3
|
+
const { sslTerminator } = require('../ssl-terminator');
|
|
3
4
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
4
5
|
|
|
5
6
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -43,7 +44,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
43
44
|
composer: {
|
|
44
45
|
version: '1'
|
|
45
46
|
},
|
|
46
|
-
varnish: varnish66({ templateDir })
|
|
47
|
+
varnish: varnish66({ templateDir }),
|
|
48
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
47
49
|
},
|
|
48
50
|
magento: defaultMagentoConfig,
|
|
49
51
|
host: 'localhost',
|
|
@@ -1,6 +1,7 @@
|
|
|
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');
|
|
4
5
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
5
6
|
|
|
6
7
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -47,7 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
47
48
|
composer: {
|
|
48
49
|
version: '2'
|
|
49
50
|
},
|
|
50
|
-
varnish: varnish66({ templateDir })
|
|
51
|
+
varnish: varnish66({ templateDir }),
|
|
52
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
51
53
|
},
|
|
52
54
|
magento: defaultMagentoConfig,
|
|
53
55
|
host: 'localhost',
|
|
@@ -1,6 +1,7 @@
|
|
|
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');
|
|
4
5
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
5
6
|
|
|
6
7
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -47,7 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
47
48
|
composer: {
|
|
48
49
|
version: '2'
|
|
49
50
|
},
|
|
50
|
-
varnish: varnish66({ templateDir })
|
|
51
|
+
varnish: varnish66({ templateDir }),
|
|
52
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
51
53
|
},
|
|
52
54
|
magento: defaultMagentoConfig,
|
|
53
55
|
host: 'localhost',
|
|
@@ -1,6 +1,7 @@
|
|
|
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');
|
|
4
5
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
5
6
|
|
|
6
7
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -46,7 +47,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
46
47
|
composer: {
|
|
47
48
|
version: '2'
|
|
48
49
|
},
|
|
49
|
-
varnish: varnish66({ templateDir })
|
|
50
|
+
varnish: varnish66({ templateDir }),
|
|
51
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
50
52
|
},
|
|
51
53
|
magento: defaultMagentoConfig,
|
|
52
54
|
host: 'localhost',
|
|
@@ -1,6 +1,7 @@
|
|
|
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');
|
|
4
5
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
5
6
|
|
|
6
7
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -47,7 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
47
48
|
composer: {
|
|
48
49
|
version: '2'
|
|
49
50
|
},
|
|
50
|
-
varnish: varnish66({ templateDir })
|
|
51
|
+
varnish: varnish66({ templateDir }),
|
|
52
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
51
53
|
},
|
|
52
54
|
magento: defaultMagentoConfig,
|
|
53
55
|
host: 'localhost',
|
|
@@ -1,6 +1,7 @@
|
|
|
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');
|
|
4
5
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
5
6
|
|
|
6
7
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -47,7 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
47
48
|
composer: {
|
|
48
49
|
version: '2'
|
|
49
50
|
},
|
|
50
|
-
varnish: varnish66({ templateDir })
|
|
51
|
+
varnish: varnish66({ templateDir }),
|
|
52
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
51
53
|
},
|
|
52
54
|
magento: defaultMagentoConfig,
|
|
53
55
|
host: 'localhost',
|
|
@@ -1,6 +1,7 @@
|
|
|
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');
|
|
4
5
|
const { varnish66 } = require('../varnish/varnish-6-6');
|
|
5
6
|
|
|
6
7
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -47,7 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
47
48
|
composer: {
|
|
48
49
|
version: '2'
|
|
49
50
|
},
|
|
50
|
-
varnish: varnish66({ templateDir })
|
|
51
|
+
varnish: varnish66({ templateDir }),
|
|
52
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
51
53
|
},
|
|
52
54
|
magento: defaultMagentoConfig,
|
|
53
55
|
host: 'localhost',
|
|
@@ -1,6 +1,7 @@
|
|
|
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');
|
|
4
5
|
const { varnish70 } = require('../varnish/varnish-7-0');
|
|
5
6
|
|
|
6
7
|
module.exports = ({ templateDir } = {}) => ({
|
|
@@ -47,7 +48,8 @@ module.exports = ({ templateDir } = {}) => ({
|
|
|
47
48
|
composer: {
|
|
48
49
|
version: '2'
|
|
49
50
|
},
|
|
50
|
-
varnish: varnish70({ templateDir })
|
|
51
|
+
varnish: varnish70({ templateDir }),
|
|
52
|
+
sslTerminator: sslTerminator({ templateDir })
|
|
51
53
|
},
|
|
52
54
|
magento: defaultMagentoConfig,
|
|
53
55
|
host: 'localhost',
|
|
@@ -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,45 +20,9 @@ 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';
|
|
66
27
|
const isNativeLinux = isLinux && !isWsl;
|
|
67
28
|
const hostMachine = isNativeLinux ? '127.0.0.1' : 'host.docker.internal';
|
|
@@ -82,8 +43,7 @@ const createNginxConfig = () => ({
|
|
|
82
43
|
mageRoot: baseConfig.magentoDir,
|
|
83
44
|
hostMachine,
|
|
84
45
|
hostPort,
|
|
85
|
-
config: overridenConfiguration
|
|
86
|
-
networkToBindTo
|
|
46
|
+
config: overridenConfiguration
|
|
87
47
|
}
|
|
88
48
|
});
|
|
89
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;
|
|
@@ -46,6 +46,28 @@ const createVarnishConfig = () => ({
|
|
|
46
46
|
} catch (e) {
|
|
47
47
|
throw new Error(`Unexpected error accrued during varnish config creation\n\n${e}`);
|
|
48
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
|
+
// }
|
|
49
71
|
}
|
|
50
72
|
});
|
|
51
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(),
|
|
@@ -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
|
|
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
|
|
|
@@ -111,7 +111,8 @@ const configurationSchema = Joi.object({
|
|
|
111
111
|
elasticsearch: serviceConfigurationSchema.optional(),
|
|
112
112
|
redis: serviceConfigurationSchema.optional(),
|
|
113
113
|
composer: composerConfigurationSchema.optional(),
|
|
114
|
-
varnish: varnishConfigurationSchema.optional()
|
|
114
|
+
varnish: varnishConfigurationSchema.optional(),
|
|
115
|
+
sslTerminator: nginxConfigurationSchema.optional()
|
|
115
116
|
});
|
|
116
117
|
|
|
117
118
|
/**
|
|
@@ -38,7 +38,7 @@ const getInstanceMetadata = (ctx) => {
|
|
|
38
38
|
if (isNgrok) {
|
|
39
39
|
frontend.push({
|
|
40
40
|
title: WEB_LOCAL_LOCATION_TITLE,
|
|
41
|
-
text: `${ssl.enabled ? 'https' : 'http'}://localhost${ssl.enabled || ports.
|
|
41
|
+
text: `${ssl.enabled ? 'https' : 'http'}://localhost${ssl.enabled || ports.sslTerminator === 80 ? '' : `:${ports.sslTerminator}`}/`
|
|
42
42
|
});
|
|
43
43
|
frontend.push({
|
|
44
44
|
title: WEB_LOCATION_TITLE,
|
|
@@ -47,7 +47,7 @@ const getInstanceMetadata = (ctx) => {
|
|
|
47
47
|
} else {
|
|
48
48
|
frontend.push({
|
|
49
49
|
title: WEB_LOCATION_TITLE,
|
|
50
|
-
text: `${ssl.enabled ? 'https' : 'http'}://${host}${ssl.enabled || ports.
|
|
50
|
+
text: `${ssl.enabled ? 'https' : 'http'}://${host}${ssl.enabled || ports.sslTerminator === 80 ? '' : `:${ports.sslTerminator}`}/`
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
53
|
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Scripts and configuration used by CMA.",
|
|
4
4
|
"homepage": "https://docs.create-magento-app.com/",
|
|
5
5
|
"repository": "github:scandipwa/create-magento-app",
|
|
6
|
-
"version": "1.14.1-alpha.
|
|
6
|
+
"version": "1.14.1-alpha.9",
|
|
7
7
|
"main": "./index.js",
|
|
8
8
|
"types": "./typings/index.d.ts",
|
|
9
9
|
"license": "OSL-3.0",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"mysql",
|
|
52
52
|
"scandipwa"
|
|
53
53
|
],
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "cf3f08226674ad5c6b6b03db93785dd9acf48025"
|
|
55
55
|
}
|
package/typings/index.d.ts
CHANGED
|
@@ -10,7 +10,14 @@ export interface ServiceWithVersion {
|
|
|
10
10
|
version: string
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
export interface SSLTerminatorConfiguration extends ServiceWithVersion {
|
|
14
|
+
/**
|
|
15
|
+
* Configuration file location
|
|
16
|
+
*
|
|
17
|
+
* @example ./my-ssl-terminator-config.conf
|
|
18
|
+
*/
|
|
19
|
+
configTemplate: string
|
|
20
|
+
}
|
|
14
21
|
|
|
15
22
|
export interface NginxConfiguration extends ServiceWithVersion {
|
|
16
23
|
/**
|
|
@@ -194,6 +201,11 @@ export interface CMAConfiguration {
|
|
|
194
201
|
* Varnish configuration
|
|
195
202
|
*/
|
|
196
203
|
varnish: VarnishConfiguration
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* SSL Terminator configuration
|
|
207
|
+
*/
|
|
208
|
+
sslTerminator: SSLTerminatorConfiguration
|
|
197
209
|
}
|
|
198
210
|
/**
|
|
199
211
|
* Magento configuration
|