Skip to content
8 changes: 6 additions & 2 deletions manifest.jps
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ description:

globals:
scriptSufix: letsencrypt-ssl

mixins:
- configs/vers.yaml

Expand Down Expand Up @@ -114,7 +114,7 @@ onInstall:
onUninstall:
- callScript:
action: uninstall
- delete
- deleteScript

onBeforeDelete: delete

Expand Down Expand Up @@ -165,6 +165,10 @@ actions:
action: auto-update
configure: installScript
delete:
- callScript:
action: delete
- deleteScript
deleteScript:
script: |
jelastic.dev.scripting.DeleteScript('${env.envName}-${targetNodes.nodeGroup}-${globals.scriptSufix}');
return {result:0}
Expand Down
2 changes: 1 addition & 1 deletion scripts/generate-ssl-cert.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ do

[[ -z $error ]] && {
error=$(sed -rn 's/.*\s(.*)(Invalid response from http:\/\/.*)\\\"".*/\2/p' $LOG_FILE | sed '$!d')
[[ ! -z $error ]] && invalid_domain=$(echo $error | sed -rn 's/Invalid response from http:\/\/([^/]*)\/\.well-known.*/\1/p')
[[ ! -z $error ]] && invalid_domain=$(echo $error | sed -rn 's/Invalid response from https?:\/\/([^/]*)\/\.well-known.*/\1/p')
}

[[ -z $error ]] && {
Expand Down
26 changes: 25 additions & 1 deletion scripts/ssl-manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ function SSLManager(config) {
me.invoke = function (action) {
var actions = {
"install" : me.install,
"delete" : me.delete,
"uninstall" : me.uninstall,
"auto-update" : me.autoUpdate,
"backup-scripts": me.backupScripts,
Expand Down Expand Up @@ -316,6 +317,14 @@ function SSLManager(config) {
return resp;
};

me.delete = function() {
return me.execAll([
[ me.initAddOnExtIp, config.withExtIp ],

me.undeploy
]);
};

me.uninstall = function () {
var autoUpdateScript = nodeManager.getScriptPath(AUTO_UPDATE_SCRIPT);

Expand Down Expand Up @@ -1400,13 +1409,28 @@ function SSLManager(config) {

me.removeSSLCert = function removeSSLCert() {
var resp,
sslCerts;
sslCert,
sslCerts,
extDomain;

resp = jelastic.env.binder.GetSSLCerts(config.envName, session);
if (resp.result != 0) return resp;

sslCerts = resp.responses;

sslCert = sslCerts[sslCerts.length - 1];

if (sslCert.extDomains.length) {
for (var i = 0, n = sslCert.extDomains.length; i < n; i++) {
extDomain = sslCert.extDomains[i];

if (extDomain.sslEnabled) {
resp = jelastic.env.binder.RemoveExtDomain(config.envName, session, extDomain.domain);
if (resp.result != 0) return resp;
}
}
}

return jelastic.env.binder.RemoveSSLCerts(config.envName, session, sslCerts[sslCerts.length - 1].id);
};

Expand Down