Compare commits

...

12 Commits

Author SHA1 Message Date
987e19372a 2.0.6 2019-01-01 22:34:37 +01:00
0b97aaee91 fix(core): update 2019-01-01 22:34:36 +01:00
b87ca1fa03 2.0.5 2018-08-11 15:10:28 +02:00
824f872fa5 fix(tests): update 2018-08-11 15:10:27 +02:00
80248c77d0 2.0.4 2018-08-11 15:09:19 +02:00
f592150646 fix(host handling): update 2018-08-11 15:09:19 +02:00
f24652936a 2.0.3 2018-08-11 00:29:16 +02:00
79af6c4a68 fix(CI): accessLevel 2018-08-11 00:29:16 +02:00
fafc757930 2.0.2 2018-08-11 00:25:20 +02:00
ead5e1a7bd fix(CI): now installing stufall alright 2018-08-11 00:25:20 +02:00
ad57be180a 2.0.1 2018-08-10 23:44:31 +02:00
7cc4ce02c9 fix(core): update 2018-08-10 23:44:31 +02:00
8 changed files with 739 additions and 152 deletions

View File

@ -1,4 +1,4 @@
image: hosttoday/ht-docker-node:npmts image: hosttoday/ht-docker-node:npmci
stages: stages:
- test - test
@ -10,11 +10,13 @@ before_script:
testSTABLE: testSTABLE:
stage: test stage: test
script: script:
- npmci npm install
- npmci npm test stable - npmci npm test stable
only: only:
- tags - tags
tags: tags:
- docker - docker
- notpriv
release: release:
stage: release stage: release

8
npmextra.json Normal file
View File

@ -0,0 +1,8 @@
{
"npmci": {
"npmAccessLevel": "public"
},
"npmdocker": {
}
}

817
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
{ {
"name": "@pushrocks/smartnginx", "name": "@pushrocks/smartnginx",
"version": "2.0.0", "version": "2.0.6",
"private": false,
"description": "control nginx from node, TypeScript ready", "description": "control nginx from node, TypeScript ready",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",
@ -23,18 +24,17 @@
}, },
"homepage": "https://gitlab.com/pushrocks/smartnginx#README", "homepage": "https://gitlab.com/pushrocks/smartnginx#README",
"dependencies": { "dependencies": {
"@pushrocks/smartfile": "^6.0.6", "@pushrocks/smartfile": "^6.0.11",
"@pushrocks/smartlog": "^2.0.1", "@pushrocks/smartlog": "^2.0.9",
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartpromise": "^2.0.5",
"@pushrocks/smartshell": "^2.0.6", "@pushrocks/smartshell": "^2.0.13",
"@pushrocks/smartstring": "^3.0.0" "@pushrocks/smartstring": "^3.0.5"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.0.22", "@gitzone/tsbuild": "^2.1.4",
"@gitzone/tsrun": "^1.1.12", "@gitzone/tsrun": "^1.1.17",
"@gitzone/tstest": "^1.0.13", "@gitzone/tstest": "^1.0.18",
"@pushrocks/tapbundle": "^3.0.5", "@pushrocks/tapbundle": "^3.0.7",
"qenv": "^1.1.7" "qenv": "^1.1.7"
}, }
"private": true
} }

View File

@ -30,8 +30,8 @@ tap.test(`should produce an instance of NginxConfig`, async () => {
}); });
tap.test('.addZone() should add a zone to NginxConfig Object', async () => { tap.test('.addZone() should add a zone to NginxConfig Object', async () => {
testSmartNginx.addHost(testNginxZone01); testSmartNginx.addHost('test200.bleu.de', '192.192.192.191');
testSmartNginx.addHost(testNginxZone02); testSmartNginx.addHost('test201.blue.de', '192.192.192.191');
}); });
tap.test('.deploy() should deploy a config from an instance', async () => { tap.test('.deploy() should deploy a config from an instance', async () => {

View File

@ -1,5 +1,15 @@
import * as plugins from './smartnginx.plugins'; import * as plugins from './smartnginx.plugins';
export class CertHandler { export class CertHandler {
private _readyDeferred = plugins.smartpromise.defer();
certHandlerReady = this._readyDeferred.promise;
constructor() {} // nothing to do here for now
/**
* ensure a cert is at the right location
* @param hostName
*/
async ensureCertForHost(hostName) {
} }
}

View File

@ -37,7 +37,7 @@ export class NginxProcess {
); );
} }
this.started = true; this.started = true;
plugins.smartlog.defaultLogger.info('started Nginx!'); plugins.smartlog.defaultLogger.log('info', 'started Nginx!');
done.resolve(); done.resolve();
return done.promise; return done.promise;
} }
@ -52,7 +52,7 @@ export class NginxProcess {
} else { } else {
this.smartshellInstance.exec('nginx -s reload'); this.smartshellInstance.exec('nginx -s reload');
} }
plugins.smartlog.defaultLogger.info('NginxProcess has loaded the new config!'); plugins.smartlog.defaultLogger.log('info', 'NginxProcess has loaded the new config!');
done.resolve(); done.resolve();
return done.promise; return done.promise;
} }
@ -65,9 +65,9 @@ export class NginxProcess {
if (typeof this.nginxChildProcess != 'undefined') { if (typeof this.nginxChildProcess != 'undefined') {
this.smartshellInstance.exec('nginx -s quit'); this.smartshellInstance.exec('nginx -s quit');
this.started = false; this.started = false;
plugins.smartlog.defaultLogger.info('stopped Nginx!'); plugins.smartlog.defaultLogger.log('info', 'stopped Nginx!');
} else { } else {
plugins.smartlog.defaultLogger.info('nginx already stopped!'); plugins.smartlog.defaultLogger.log('info', 'nginx already stopped!');
} }
done.resolve(); done.resolve();
return done.promise; return done.promise;

View File

@ -26,10 +26,22 @@ export class SmartNginx {
* add a host * add a host
* @param nginxHostArg * @param nginxHostArg
*/ */
addHost(nginxHostArg: NginxHost) { addHost(hostNameArg: string, destinationIp: string): NginxHost {
this.hosts.push(nginxHostArg); const nginxHost = new NginxHost(this, {
hostName: hostNameArg,
destination: destinationIp
})
this.hosts.push(nginxHost);
return nginxHost;
} }
getNginxHostByHostName(hostNameArg: string): NginxHost {
return this.hosts.find(nginxHost => {
return nginxHost.hostName === hostNameArg;
})
}
/** /**
* listHosts * listHosts
*/ */
@ -67,7 +79,7 @@ export class SmartNginx {
let promiseArray = []; let promiseArray = [];
for (let host of this.hosts) { for (let host of this.hosts) {
await host.deploy(); await host.deploy();
plugins.smartlog.defaultLogger.info(`Host ${host.hostName} deployed!`); plugins.smartlog.defaultLogger.log('info', `Host ${host.hostName} deployed!`);
this.nginxProcess.reloadConfig(); this.nginxProcess.reloadConfig();
}; };
} }