diff --git a/.gitignore b/.gitignore index d4cd8e8..a9c981b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules/ nginxconfig/zones/ coverage/ -docs/ \ No newline at end of file +docs/ +.nogit/ \ No newline at end of file diff --git a/dist/smartnginx.classes.nginxconfig.d.ts b/dist/smartnginx.classes.nginxconfig.d.ts index db5fb08..9144ebc 100644 --- a/dist/smartnginx.classes.nginxconfig.d.ts +++ b/dist/smartnginx.classes.nginxconfig.d.ts @@ -5,7 +5,7 @@ export declare class NginxConfig { zones: NginxZone[]; cert: plugins.cert.Cert; isDeployed: boolean; - constructor(optionsArg: plugins.cert.CertConstructorOptions); + constructor(optionsArg: plugins.cert.ICertConstructorOptions); addZone(zoneArg: NginxZone): void; listZones(): NginxZone[]; removeZones(zoneArg: NginxZone): void; diff --git a/dist/smartnginx.classes.nginxconfig.js b/dist/smartnginx.classes.nginxconfig.js index 74090e0..a7a2b8d 100644 --- a/dist/smartnginx.classes.nginxconfig.js +++ b/dist/smartnginx.classes.nginxconfig.js @@ -11,8 +11,9 @@ var NginxConfig = (function () { this.cert = new plugins.cert.Cert({ cfEmail: optionsArg.cfEmail, cfKey: optionsArg.cfKey, - sslDir: optionsArg.sslDir, - gitOriginRepo: optionsArg.gitOriginRepo + sslDir: paths.nginxCertBase, + gitOriginRepo: optionsArg.gitOriginRepo, + testMode: optionsArg.testMode }); } ; @@ -66,4 +67,4 @@ var NginxConfig = (function () { }()); exports.NginxConfig = NginxConfig; ; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFZLE9BQU8sV0FBTSxzQkFBc0IsQ0FBQyxDQUFBO0FBQ2hELElBQVksS0FBSyxXQUFNLG9CQUFvQixDQUFDLENBQUE7QUFDNUMsSUFBWSxPQUFPLFdBQU0sc0JBQXNCLENBQUMsQ0FBQTtBQUNoRCxJQUFZLFFBQVEsV0FBTSx1QkFDMUIsQ0FBQyxDQURnRDtBQUVqRCxJQUFJLFVBQVUsR0FBaUIsRUFBRSxDQUFDO0FBRWxDO0lBSUkscUJBQVksVUFBOEM7UUFIMUQsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQVcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QixPQUFPLEVBQUMsVUFBVSxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBQyxVQUFVLENBQUMsTUFBTTtZQUN4QixhQUFhLEVBQUMsVUFBVSxDQUFDLGFBQWE7U0FDekMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7SUFFRCxzQkFBc0I7SUFDdEIsNkJBQU8sR0FBUCxVQUFRLE9BQWlCO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCwrQkFBUyxHQUFUO1FBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7SUFDRCxpQ0FBVyxHQUFYLFVBQVksT0FBaUI7SUFFN0IsQ0FBQztJQUVELDZCQUE2QjtJQUM3Qiw0QkFBTSxHQUFOLFVBQU8sZUFBK0I7UUFBdEMsaUJBOEJDO1FBOUJNLCtCQUErQixHQUEvQix1QkFBK0I7UUFDbEMsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELEdBQUcsQ0FBQSxDQUFlLFVBQVUsRUFBVix5QkFBVSxFQUFWLHdCQUFVLEVBQVYsSUFBVSxDQUFDO1lBQXpCLElBQUksTUFBTSxtQkFBQTtZQUNWLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQzdCO1FBQUEsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLG9CQUFvQjtRQUNwQixPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQzdCLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxFQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFDLFlBQVksQ0FBQyxDQUN4RCxDQUFDO1FBQ0YsZUFBZTtRQUNmLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixHQUFHLENBQUEsQ0FBYSxVQUFVLEVBQVYsS0FBQSxJQUFJLENBQUMsS0FBSyxFQUFWLGNBQVUsRUFBVixJQUFVLENBQUM7WUFBdkIsSUFBSSxJQUFJLFNBQUE7WUFDUixZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDN0M7UUFBQSxDQUFDO1FBQ0YsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO2FBQ3RCLElBQUksQ0FBQztZQUNGLGdCQUFnQjtZQUNoQixFQUFFLENBQUEsQ0FBQyxlQUFlLENBQUMsQ0FBQSxDQUFDO2dCQUNoQixPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUksQ0FBQyxDQUFDO1lBQzFCLENBQUM7WUFBQSxDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7SUFDTCxrQkFBQztBQUFELENBQUMsQUF4REQsSUF3REM7QUF4RFksbUJBQVcsY0F3RHZCLENBQUE7QUFBQSxDQUFDIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRuZ2lueC5jbGFzc2VzLm5naW54Y29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFZLE9BQU8sV0FBTSxzQkFBc0IsQ0FBQyxDQUFBO0FBQ2hELElBQVksS0FBSyxXQUFNLG9CQUFvQixDQUFDLENBQUE7QUFDNUMsSUFBWSxPQUFPLFdBQU0sc0JBQXNCLENBQUMsQ0FBQTtBQUNoRCxJQUFZLFFBQVEsV0FBTSx1QkFDMUIsQ0FBQyxDQURnRDtBQUVqRCxJQUFJLFVBQVUsR0FBaUIsRUFBRSxDQUFDO0FBRWxDO0lBSUkscUJBQVksVUFBK0M7UUFIM0QsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQVcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM5QixPQUFPLEVBQUMsVUFBVSxDQUFDLE9BQU87WUFDMUIsS0FBSyxFQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ3RCLE1BQU0sRUFBQyxLQUFLLENBQUMsYUFBYTtZQUMxQixhQUFhLEVBQUMsVUFBVSxDQUFDLGFBQWE7WUFDdEMsUUFBUSxFQUFDLFVBQVUsQ0FBQyxRQUFRO1NBQy9CLENBQUMsQ0FBQztJQUNQLENBQUM7O0lBRUQsc0JBQXNCO0lBQ3RCLDZCQUFPLEdBQVAsVUFBUSxPQUFpQjtRQUNyQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0QsK0JBQVMsR0FBVDtRQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7O0lBQ0QsaUNBQVcsR0FBWCxVQUFZLE9BQWlCO0lBRTdCLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsNEJBQU0sR0FBTixVQUFPLGVBQStCO1FBQXRDLGlCQThCQztRQTlCTSwrQkFBK0IsR0FBL0IsdUJBQStCO1FBQ2xDLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RCxHQUFHLENBQUEsQ0FBZSxVQUFVLEVBQVYseUJBQVUsRUFBVix3QkFBVSxFQUFWLElBQVUsQ0FBQztZQUF6QixJQUFJLE1BQU0sbUJBQUE7WUFDVixNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUM3QjtRQUFBLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixvQkFBb0I7UUFDcEIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUM3QixRQUFRLENBQUMsbUJBQW1CLEVBQUUsRUFDOUIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBQyxZQUFZLENBQUMsQ0FDeEQsQ0FBQztRQUNGLGVBQWU7UUFDZixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdEIsR0FBRyxDQUFBLENBQWEsVUFBVSxFQUFWLEtBQUEsSUFBSSxDQUFDLEtBQUssRUFBVixjQUFVLEVBQVYsSUFBVSxDQUFDO1lBQXZCLElBQUksSUFBSSxTQUFBO1lBQ1IsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzdDO1FBQUEsQ0FBQztRQUNGLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQzthQUN0QixJQUFJLENBQUM7WUFDRixnQkFBZ0I7WUFDaEIsRUFBRSxDQUFBLENBQUMsZUFBZSxDQUFDLENBQUEsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFJLENBQUMsQ0FBQztZQUMxQixDQUFDO1lBQUEsQ0FBQztZQUNGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUVQLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7O0lBQ0wsa0JBQUM7QUFBRCxDQUFDLEFBekRELElBeURDO0FBekRZLG1CQUFXLGNBeUR2QixDQUFBO0FBQUEsQ0FBQyJ9 \ No newline at end of file diff --git a/nginxconfig/cert/test100.bleu.de/config.json b/nginxconfig/cert/test100.bleu.de/config.json new file mode 100644 index 0000000..c11ba78 --- /dev/null +++ b/nginxconfig/cert/test100.bleu.de/config.json @@ -0,0 +1 @@ +{"domainName":"test100.bleu.de","created":1468407737,"expires":1476183737} \ No newline at end of file diff --git a/nginxconfig/cert/test100.bleu.de/fullchain.pem b/nginxconfig/cert/test100.bleu.de/fullchain.pem new file mode 100644 index 0000000..39e6b4b --- /dev/null +++ b/nginxconfig/cert/test100.bleu.de/fullchain.pem @@ -0,0 +1,61 @@ +-----BEGIN CERTIFICATE----- +MIIF4zCCBMugAwIBAgITAPr5NPJaC4P8Afv5wUHV0taFDDANBgkqhkiG9w0BAQsF +ADAiMSAwHgYDVQQDDBdGYWtlIExFIEludGVybWVkaWF0ZSBYMTAeFw0xNjA3MTMx +MDAzMDBaFw0xNjEwMTExMDAzMDBaMBoxGDAWBgNVBAMTD3Rlc3QxMDAuYmxldS5k +ZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALWwQO+WIZZgEoGXfFVb +3sB5iIro4xtHHxYLr5l0i9YfxJFA0mltgez7IHPIE0CWbdxme+rFUdbG+s4bpe3b +g3IYtiSJ7HIMSpgkj66ow4ZVbs5jJ3VeykZsBcXDNqy5conFuwI326BZeDKfmm2g +UxY7Pm2jJOat7ERUpone6Y7UO7TRa5INmUPZzOB9FzAx3YSFSbUbXzpZFkTJrX+u +gVtgkEU4hj51NHGS1+AkvJrVbH5MtZiXxJLTYru8o6J4pwGVOgku/GQcN7uff2Xi +sbV9gWbFdQjULW1YMYLDhk5DmN/WuhodoJHdnjtlv9WwJ1gOHsxu3NVKYshDZJHV +r/CwEirdg9mffxiGHkhnrfNnXxHb9NygD0dXi/+ly8RsVBwTBV43782xE4hVZXOq +D0225hU6YcCfBb9qv8YG3vjIbnNyTjJjS2F5URX1RwhBTKmOZ1e8Wp8uf/yud2H7 +yd/j3vMQW2jNtCLzstw8JWq6S7hWs1nvGZAp7Ck5xXnrZnKT4sQiWlY35PUfvie+ +tzIAmmSHxr+38vKuD6SJF++Fdrr/tWiNXJApO3h9oL6B7c2+LeocfrsjL7AKReIG +vrTCmKCqNVcNjgozdHpto46gLqXEl0HjAU4V6xj6/rxmUCqOY71Gnqtm9rQZi7V4 +Sh3BzXTWP3HDOPuQ0KUuisZTAgMBAAGjggIYMIICFDAOBgNVHQ8BAf8EBAMCBaAw +HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYD +VR0OBBYEFML4+W+6Hwqj8GoH+8Vz5U/4TJxpMB8GA1UdIwQYMBaAFMDMA0a5WCDM +XHJw8+EuyyCm9Wg6MHgGCCsGAQUFBwEBBGwwajAzBggrBgEFBQcwAYYnaHR0cDov +L29jc3Auc3RnLWludC14MS5sZXRzZW5jcnlwdC5vcmcvMDMGCCsGAQUFBzAChido +dHRwOi8vY2VydC5zdGctaW50LXgxLmxldHNlbmNyeXB0Lm9yZy8wGgYDVR0RBBMw +EYIPdGVzdDEwMC5ibGV1LmRlMIH+BgNVHSAEgfYwgfMwCAYGZ4EMAQIBMIHmBgsr +BgEEAYLfEwEBATCB1jAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5jcnlw +dC5vcmcwgasGCCsGAQUFBwICMIGeDIGbVGhpcyBDZXJ0aWZpY2F0ZSBtYXkgb25s +eSBiZSByZWxpZWQgdXBvbiBieSBSZWx5aW5nIFBhcnRpZXMgYW5kIG9ubHkgaW4g +YWNjb3JkYW5jZSB3aXRoIHRoZSBDZXJ0aWZpY2F0ZSBQb2xpY3kgZm91bmQgYXQg +aHR0cHM6Ly9sZXRzZW5jcnlwdC5vcmcvcmVwb3NpdG9yeS8wDQYJKoZIhvcNAQEL +BQADggEBAG4BvxzF33T15QQyHKCIDdmzF2UGeBrQDpTrRim0fxJXJsdw47d8XFcK +fifHGhPn+imGaU2L7XFUr9Qry8VRvF8i86M3XVV5D0xCyKRAii7V33Udia5jwjMm +xulM2lPM3ODsYH/Ru9AvgSi9eq+o08c4FHW7RSkCX8EViZ/k5SEp7/i811NYqprL +LbKuIaATkglpKdcuaxGhUGDp/KfAQpGAn48MONY4cVBwkmhc4cHngzEGsY/7TiGq +HoLD5CIM1hDV9PLiaOcKFMP7mkap+kLdhn9fzYQ+npKzFqGKzVvzKXF9EPzNd1Nn +pKiHgFbw/W1LlXS5aeZ28kMr4x2sMck= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEqzCCApOgAwIBAgIRAIvhKg5ZRO08VGQx8JdhT+UwDQYJKoZIhvcNAQELBQAw +GjEYMBYGA1UEAwwPRmFrZSBMRSBSb290IFgxMB4XDTE2MDUyMzIyMDc1OVoXDTM2 +MDUyMzIyMDc1OVowIjEgMB4GA1UEAwwXRmFrZSBMRSBJbnRlcm1lZGlhdGUgWDEw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDtWKySDn7rWZc5ggjz3ZB0 +8jO4xti3uzINfD5sQ7Lj7hzetUT+wQob+iXSZkhnvx+IvdbXF5/yt8aWPpUKnPym +oLxsYiI5gQBLxNDzIec0OIaflWqAr29m7J8+NNtApEN8nZFnf3bhehZW7AxmS1m0 +ZnSsdHw0Fw+bgixPg2MQ9k9oefFeqa+7Kqdlz5bbrUYV2volxhDFtnI4Mh8BiWCN +xDH1Hizq+GKCcHsinDZWurCqder/afJBnQs+SBSL6MVApHt+d35zjBD92fO2Je56 +dhMfzCgOKXeJ340WhW3TjD1zqLZXeaCyUNRnfOmWZV8nEhtHOFbUCU7r/KkjMZO9 +AgMBAAGjgeMwgeAwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAw +HQYDVR0OBBYEFMDMA0a5WCDMXHJw8+EuyyCm9Wg6MHoGCCsGAQUFBwEBBG4wbDA0 +BggrBgEFBQcwAYYoaHR0cDovL29jc3Auc3RnLXJvb3QteDEubGV0c2VuY3J5cHQu +b3JnLzA0BggrBgEFBQcwAoYoaHR0cDovL2NlcnQuc3RnLXJvb3QteDEubGV0c2Vu +Y3J5cHQub3JnLzAfBgNVHSMEGDAWgBTBJnSkikSg5vogKNhcI5pFiBh54DANBgkq +hkiG9w0BAQsFAAOCAgEABYSu4Il+fI0MYU42OTmEj+1HqQ5DvyAeyCA6sGuZdwjF +UGeVOv3NnLyfofuUOjEbY5irFCDtnv+0ckukUZN9lz4Q2YjWGUpW4TTu3ieTsaC9 +AFvCSgNHJyWSVtWvB5XDxsqawl1KzHzzwr132bF2rtGtazSqVqK9E07sGHMCf+zp +DQVDVVGtqZPHwX3KqUtefE621b8RI6VCl4oD30Olf8pjuzG4JKBFRFclzLRjo/h7 +IkkfjZ8wDa7faOjVXx6n+eUQ29cIMCzr8/rNWHS9pYGGQKJiY2xmVC9h12H99Xyf +zWE9vb5zKP3MVG6neX1hSdo7PEAb9fqRhHkqVsqUvJlIRmvXvVKTwNCP3eCjRCCI +PTAvjV+4ni786iXwwFYNz8l3PmPLCyQXWGohnJ8iBm+5nk7O2ynaPVW0U2W+pt2w +SVuvdDM5zGv2f9ltNWUiYZHJ1mmO97jSY/6YfdOUH66iRtQtDkHBRdkNBsMbD+Em +2TgBldtHNSJBfB3pm9FblgOcJ0FSWcUDWJ7vO0+NTXlgrRofRT6pVywzxVo6dND0 +WzYlTWeUVsO40xJqhgUQRER9YLOLxJ0O6C8i0xFxAMKOtSdodMB3RIwt7RFQ0uyt +n5Z5MqkYhlMI3J1tPRTp1nEt9fyGspBOO05gi148Qasp+3N+svqKomoQglNoAxU= +-----END CERTIFICATE----- diff --git a/nginxconfig/cert/test100.bleu.de/privkey.pem b/nginxconfig/cert/test100.bleu.de/privkey.pem new file mode 100644 index 0000000..21e4f56 --- /dev/null +++ b/nginxconfig/cert/test100.bleu.de/privkey.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/package.json b/package.json index b1fa6b6..f4de82d 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "dependencies": { "@types/q": "*", "beautylog": "^5.0.13", - "cert": "0.0.15", + "cert": "0.0.16", "q": "^1.4.1", "shelljs": "^0.7.0", "smartfile": "^4.0.10", @@ -32,6 +32,7 @@ }, "devDependencies": { "npmts-g": "^5.2.6", + "qenv": "^1.0.8", "should": "^9.0.2", "typings-test": "^1.0.1" } diff --git a/qenv.yml b/qenv.yml new file mode 100644 index 0000000..6d352e9 --- /dev/null +++ b/qenv.yml @@ -0,0 +1,3 @@ +vars: +- CF_EMAIL +- CF_KEY \ No newline at end of file diff --git a/test/test.js b/test/test.js index 568adb6..0019ef8 100644 --- a/test/test.js +++ b/test/test.js @@ -1,7 +1,13 @@ "use strict"; require("typings-test"); +var path = require("path"); require("should"); +var qenv_1 = require("qenv"); var smartnginx = require("../dist/index"); +// setup environment +var testQenv = new qenv_1.Qenv(process.cwd(), path.join(process.cwd(), ".nogit")); +console.log(process.env.CF_EMAIL); +console.log(process.env.CF_KEY); describe("smartnginx", function () { var testNginxConfig; var testNginxZone01; @@ -9,7 +15,7 @@ describe("smartnginx", function () { describe("NginxZone", function () { it("\"new NginxZone()\" should produce an instance of NginxConfig", function () { testNginxZone01 = new smartnginx.NginxZone({ - zoneName: "test1.bleu.de", + zoneName: "test100.bleu.de", type: smartnginx.zoneTypes.reverseProxy, destination: "192.192.192.192" }); @@ -19,7 +25,11 @@ describe("smartnginx", function () { }); describe("NginxConfig", function () { it("\"new NginxConfig()\" should produce an instance of NginxConfig", function () { - testNginxConfig = new smartnginx.NginxConfig(); + testNginxConfig = new smartnginx.NginxConfig({ + cfEmail: process.env.CF_EMAIL, + cfKey: process.env.CF_KEY, + testMode: true + }); testNginxConfig.should.be.instanceof(smartnginx.NginxConfig); }); describe(".addZone()", function () { @@ -28,10 +38,14 @@ describe("smartnginx", function () { }); }); describe(".deploy()", function () { - it("should deploy a config from an instance", function () { - testNginxConfig.deploy(); + this.timeout(240000); + it("should deploy a config from an instance", function (done) { + testNginxConfig.deploy() + .then(function () { + done(); + }); }); }); }); }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUNoQixJQUFZLFVBQVUsV0FBTSxlQUFlLENBQUMsQ0FBQTtBQUU1QyxRQUFRLENBQUMsWUFBWSxFQUFDO0lBQ2xCLElBQUksZUFBc0MsQ0FBQztJQUMzQyxJQUFJLGVBQW9DLENBQUM7SUFDekMsSUFBSSxlQUFvQyxDQUFDO0lBQ3pDLFFBQVEsQ0FBQyxXQUFXLEVBQUM7UUFDakIsRUFBRSxDQUFDLCtEQUE2RCxFQUFDO1lBQzdELGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxTQUFTLENBQUM7Z0JBQ3ZDLFFBQVEsRUFBQyxlQUFlO2dCQUN4QixJQUFJLEVBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxZQUFZO2dCQUN0QyxXQUFXLEVBQUMsaUJBQWlCO2FBQ2hDLENBQUMsQ0FBQztZQUNILGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyxhQUFhLEVBQUM7UUFDbkIsRUFBRSxDQUFDLGlFQUErRCxFQUFDO1lBQy9ELGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMvQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLFlBQVksRUFBQztZQUNsQixFQUFFLENBQUMseUNBQXlDLEVBQUM7Z0JBQ3pDLGVBQWUsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQztRQUNILFFBQVEsQ0FBQyxXQUFXLEVBQUM7WUFDakIsRUFBRSxDQUFDLHlDQUF5QyxFQUFDO2dCQUN6QyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsSUFBTyxJQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDOUIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUNoQixxQkFBbUIsTUFBTSxDQUFDLENBQUE7QUFDMUIsSUFBWSxVQUFVLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFFNUMsb0JBQW9CO0FBQ3BCLElBQUksUUFBUSxHQUFHLElBQUksV0FBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQ3pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNsQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsUUFBUSxDQUFDLFlBQVksRUFBQztJQUNsQixJQUFJLGVBQXNDLENBQUM7SUFDM0MsSUFBSSxlQUFvQyxDQUFDO0lBQ3pDLElBQUksZUFBb0MsQ0FBQztJQUN6QyxRQUFRLENBQUMsV0FBVyxFQUFDO1FBQ2pCLEVBQUUsQ0FBQywrREFBNkQsRUFBQztZQUM3RCxlQUFlLEdBQUcsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDO2dCQUN2QyxRQUFRLEVBQUMsaUJBQWlCO2dCQUMxQixJQUFJLEVBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxZQUFZO2dCQUN0QyxXQUFXLEVBQUMsaUJBQWlCO2FBQ2hDLENBQUMsQ0FBQztZQUNILGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyxhQUFhLEVBQUM7UUFDbkIsRUFBRSxDQUFDLGlFQUErRCxFQUFDO1lBQy9ELGVBQWUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUM7Z0JBQ3pDLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVE7Z0JBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU07Z0JBQ3pCLFFBQVEsRUFBQyxJQUFJO2FBQ2hCLENBQUMsQ0FBQztZQUNILGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFDSCxRQUFRLENBQUMsWUFBWSxFQUFDO1lBQ2xCLEVBQUUsQ0FBQyx5Q0FBeUMsRUFBQztnQkFDekMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFDO1FBQ0gsUUFBUSxDQUFDLFdBQVcsRUFBQztZQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3JCLEVBQUUsQ0FBQyx5Q0FBeUMsRUFBQyxVQUFTLElBQUk7Z0JBQ3RELGVBQWUsQ0FBQyxNQUFNLEVBQUU7cUJBQ25CLElBQUksQ0FBQztvQkFDRixJQUFJLEVBQUUsQ0FBQztnQkFDWCxDQUFDLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIn0= \ No newline at end of file diff --git a/test/test.ts b/test/test.ts index a780c77..bfb44e8 100644 --- a/test/test.ts +++ b/test/test.ts @@ -1,7 +1,13 @@ import "typings-test"; +import path = require("path"); import "should"; +import {Qenv} from "qenv"; import * as smartnginx from "../dist/index"; +// setup environment +let testQenv = new Qenv(process.cwd(),path.join(process.cwd(),".nogit")); +console.log(process.env.CF_EMAIL); +console.log(process.env.CF_KEY); describe("smartnginx",function(){ let testNginxConfig:smartnginx.NginxConfig; let testNginxZone01:smartnginx.NginxZone; @@ -9,7 +15,7 @@ describe("smartnginx",function(){ describe("NginxZone",function(){ it(`"new NginxZone()" should produce an instance of NginxConfig`,function(){ testNginxZone01 = new smartnginx.NginxZone({ - zoneName:"test1.bleu.de", + zoneName:"test100.bleu.de", type:smartnginx.zoneTypes.reverseProxy, destination:"192.192.192.192" }); @@ -19,7 +25,11 @@ describe("smartnginx",function(){ }); describe("NginxConfig",function(){ it(`"new NginxConfig()" should produce an instance of NginxConfig`,function(){ - testNginxConfig = new smartnginx.NginxConfig(); + testNginxConfig = new smartnginx.NginxConfig({ + cfEmail: process.env.CF_EMAIL, + cfKey: process.env.CF_KEY, + testMode:true + }); testNginxConfig.should.be.instanceof(smartnginx.NginxConfig); }); describe(".addZone()",function(){ @@ -28,8 +38,12 @@ describe("smartnginx",function(){ }) }); describe(".deploy()",function(){ - it("should deploy a config from an instance",function(){ - testNginxConfig.deploy(); + this.timeout(240000); + it("should deploy a config from an instance",function(done){ + testNginxConfig.deploy() + .then(() => { + done(); + }); }) }); }); diff --git a/ts/smartnginx.classes.nginxconfig.ts b/ts/smartnginx.classes.nginxconfig.ts index bae6a45..d1d1de0 100644 --- a/ts/smartnginx.classes.nginxconfig.ts +++ b/ts/smartnginx.classes.nginxconfig.ts @@ -9,12 +9,13 @@ export class NginxConfig { zones:NginxZone[] = []; cert:plugins.cert.Cert; // the Cert Instance from which the config gets its certificates isDeployed:boolean = false; - constructor(optionsArg:plugins.cert.CertConstructorOptions){ + constructor(optionsArg:plugins.cert.ICertConstructorOptions){ this.cert = new plugins.cert.Cert({ cfEmail:optionsArg.cfEmail, cfKey:optionsArg.cfKey, - sslDir:optionsArg.sslDir, - gitOriginRepo:optionsArg.gitOriginRepo + sslDir:paths.nginxCertBase, + gitOriginRepo:optionsArg.gitOriginRepo, + testMode:optionsArg.testMode }); };