Skip to content

Commit f5f6e05

Browse files
committed
fix(extensions): remove unecessary getters from systemd and nginx extensions
no issue - with the config cleanup in #254, these particular pieces of code were broken. This removes the need for them
1 parent 7c4cdf3 commit f5f6e05

File tree

2 files changed

+18
-26
lines changed

2 files changed

+18
-26
lines changed

extensions/nginx/index.js

+16-19
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,6 @@ const LIVE_URL = 'https://acme-v01.api.letsencrypt.org/directory';
1515
const STAGING_URL = 'https://acme-staging.api.letsencrypt.org/directory';
1616

1717
class NginxExtension extends cli.Extension {
18-
get parsedUrl() {
19-
if (!this._parsedUrl) {
20-
this._parsedUrl = url.parse(this.instance.config.get('url'));
21-
}
22-
23-
return this._parsedUrl;
24-
}
25-
2618
setup(cmd, argv) {
2719
// ghost setup --local, skip
2820
if (argv.local) {
@@ -39,17 +31,19 @@ class NginxExtension extends cli.Extension {
3931
return task && task.skip();
4032
}
4133

42-
if (this.parsedUrl.port) {
34+
let parsedUrl = url.parse(ctx.instance.config.get('url'));
35+
36+
if (parsedUrl.port) {
4337
this.ui.log('Your url contains a port. Skipping nginx setup.', 'yellow');
4438
return task && task.skip();
4539
}
4640

47-
if (this.parsedUrl.pathname !== '/') {
41+
if (parsedUrl.pathname !== '/') {
4842
this.ui.log('The Nginx service does not support subdirectory configurations yet. Skipping nginx setup.', 'yellow');
4943
return task && task.skip();
5044
}
5145

52-
if (fs.existsSync(`/etc/nginx/sites-available/${this.parsedUrl.hostname}.conf`)) {
46+
if (fs.existsSync(`/etc/nginx/sites-available/${parsedUrl.hostname}.conf`)) {
5347
this.ui.log('Nginx configuration already found for this url. Skipping nginx configuration.', 'yellow');
5448
return task && task.skip();
5549
}
@@ -61,7 +55,7 @@ class NginxExtension extends cli.Extension {
6155

6256
http._add('listen', '80');
6357
http._add('listen', '[::]:80');
64-
http._add('server_name', this.parsedUrl.hostname);
58+
http._add('server_name', parsedUrl.hostname);
6559

6660
let rootPath = path.resolve(ctx.instance.dir, 'system', 'nginx-root');
6761
fs.ensureDirSync(rootPath);
@@ -70,7 +64,7 @@ class NginxExtension extends cli.Extension {
7064
http._add('location', '/');
7165
this._addProxyBlock(http.location, ctx.instance.config.get('server.port'));
7266

73-
let confFile = `${this.parsedUrl.hostname}.conf`;
67+
let confFile = `${parsedUrl.hostname}.conf`;
7468

7569
return ctx.instance.template(
7670
conf.toString(),
@@ -97,7 +91,9 @@ class NginxExtension extends cli.Extension {
9791
return task && task.skip();
9892
}
9993

100-
let confFile = `${this.parsedUrl.hostname}.conf`;
94+
let parsedUrl = url.parse(ctx.instance.config.get('url'));
95+
96+
let confFile = `${parsedUrl.hostname}.conf`;
10197
let nginxConfPath = path.join(ctx.instance.dir, 'system', 'files', confFile);
10298

10399
if (!fs.existsSync(nginxConfPath)) {
@@ -139,7 +135,7 @@ class NginxExtension extends cli.Extension {
139135
task: () => {
140136
let letsencryptFolder = path.join(ctx.instance.dir, 'system', 'letsencrypt');
141137
let sslGenArgs = `certonly --agree-tos --email ${argv.sslemail} --webroot --webroot-path ${rootPath}` +
142-
` --config-dir ${letsencryptFolder} --domains ${this.parsedUrl.hostname} --server ${argv.sslStaging ? STAGING_URL : LIVE_URL}`;
138+
` --config-dir ${letsencryptFolder} --domains ${parsedUrl.hostname} --server ${argv.sslStaging ? STAGING_URL : LIVE_URL}`;
143139

144140
return execa('greenlock', sslGenArgs.split(' '), {
145141
stdio: 'ignore',
@@ -179,13 +175,13 @@ class NginxExtension extends cli.Extension {
179175
// add listen directives
180176
https._add('listen', '443 ssl http2');
181177
https._add('listen', '[::]:443 ssl http2');
182-
https._add('server_name', this.parsedUrl.hostname);
178+
https._add('server_name', parsedUrl.hostname);
183179

184180
let letsencryptPath = path.join(ctx.instance.dir, 'system', 'letsencrypt', 'live');
185181

186182
// add ssl cert directives
187-
https._add('ssl_certificate', path.join(letsencryptPath, this.parsedUrl.hostname, 'fullchain.pem'));
188-
https._add('ssl_certificate_key', path.join(letsencryptPath, this.parsedUrl.hostname, 'privkey.pem'));
183+
https._add('ssl_certificate', path.join(letsencryptPath, parsedUrl.hostname, 'fullchain.pem'));
184+
https._add('ssl_certificate_key', path.join(letsencryptPath, parsedUrl.hostname, 'privkey.pem'));
189185
// add ssl-params snippet
190186
https._add('include', path.join(ctx.instance.dir, 'system', 'files', 'ssl-params.conf'));
191187
// add root directive
@@ -219,7 +215,8 @@ class NginxExtension extends cli.Extension {
219215
return;
220216
}
221217

222-
let confFile = `${this.parsedUrl.hostname}.conf`;
218+
let parsedUrl = url.parse(instance.config.get('url'));
219+
let confFile = `${parsedUrl.hostname}.conf`;
223220

224221
if (fs.existsSync(`/etc/nginx/sites-available/${confFile}`)) {
225222
return this.ui.sudo(`rm /etc/nginx/sites-available/${confFile}`).then(() => {

extensions/systemd/index.js

+2-7
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,6 @@ const template = require('lodash/template');
77
const cli = require('../../lib');
88

99
class SystemdExtension extends cli.Extension {
10-
get systemdName() {
11-
let instance = this.system.getInstance();
12-
return `ghost_${instance.name}`;
13-
}
14-
1510
setup(cmd, argv) {
1611
let instance = this.system.getInstance();
1712

@@ -22,7 +17,7 @@ class SystemdExtension extends cli.Extension {
2217

2318
_setup(argv, ctx) {
2419
let service = template(fs.readFileSync(path.join(__dirname, 'ghost.service.template'), 'utf8'));
25-
let serviceFilename = `${this.systemdName}.service`;
20+
let serviceFilename = `ghost_${ctx.instance.name}.service`;
2621

2722
return ctx.instance.template(service({
2823
name: ctx.instance.name,
@@ -40,7 +35,7 @@ class SystemdExtension extends cli.Extension {
4035
return;
4136
}
4237

43-
let serviceFilename = `/lib/systemd/system/${this.systemdName}.service`;
38+
let serviceFilename = `/lib/systemd/system/ghost_${instance.name}.service`;
4439

4540
if (fs.existsSync(serviceFilename)) {
4641
return this.ui.sudo(`rm ${serviceFilename}`).catch(

0 commit comments

Comments
 (0)