From bae2c94849ccaddbf4d0ea2fb322e01d2752b62f Mon Sep 17 00:00:00 2001 From: "alexey.lazarenko" Date: Fri, 24 Mar 2023 14:29:50 +0200 Subject: [PATCH 1/7] JE-44414 [Let's Encrypt] No warning message about limitation ipv4 --- scripts/onBeforeInit.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 scripts/onBeforeInit.js diff --git a/scripts/onBeforeInit.js b/scripts/onBeforeInit.js new file mode 100644 index 00000000..8e53e684 --- /dev/null +++ b/scripts/onBeforeInit.js @@ -0,0 +1,33 @@ +let EXT_IP = 'environment.externalip.enabled'; +let FIELD_NAME = 'withExtIp'; +let isFieldExists = false; + +let resp = api.billing.account.GetQuotas(EXT_IP); +if (resp.result != 0) return resp; + +if (jps && jps.settings && jps.settings.fields) { + for (let i = 0, n = jps.settings.fields.length; i < n; i++) { + let field = jps.settings.fields[i]; + + if (field && field['name'] == FIELD_NAME) { + isFieldExists = true; + + if (resp.array[0].value == 0) { + field['value'] = 'false'; + } + break; + } + } +} + +if (!isFieldExists && resp.array[0].value == 0) { + jps.settings = jps.settings || {}; + jps.settings.fields = jps.settings.fields || []; + jps.settings.fields.push({ + name: FIELD_NAME, + value: 'false', + hidden: true + }); +} + +return { result: 0, settings: jps.settings} From dd11e7e66c3061444c176c65863d3f00fbd2c2e4 Mon Sep 17 00:00:00 2001 From: "alexey.lazarenko" Date: Fri, 24 Mar 2023 14:41:29 +0200 Subject: [PATCH 2/7] JE-44414 [Let's Encrypt] No warning message about limitation ipv4 --- scripts/onBeforeInit.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/onBeforeInit.js b/scripts/onBeforeInit.js index 8e53e684..841a5ded 100644 --- a/scripts/onBeforeInit.js +++ b/scripts/onBeforeInit.js @@ -28,6 +28,9 @@ if (!isFieldExists && resp.array[0].value == 0) { value: 'false', hidden: true }); + jps.settings.fields.push( + {"type": "displayfield", "cls": "warning", "height": 30, "hideLabel": true, "markup": "Using of public IP's is not possible because of such quota's value: 'environment.externalip.enabled'"} + ); } return { result: 0, settings: jps.settings} From c5ee9afa91567f29241ebb5d1f579e86eb869c89 Mon Sep 17 00:00:00 2001 From: "alexey.lazarenko" Date: Fri, 24 Mar 2023 14:44:30 +0200 Subject: [PATCH 3/7] JE-44414 [Let's Encrypt] No warning message about limitation ipv4 --- manifest.jps | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manifest.jps b/manifest.jps index c31063e3..2ff911d7 100644 --- a/manifest.jps +++ b/manifest.jps @@ -65,6 +65,8 @@ globals: mixins: - configs/vers.yaml - https://raw.githubusercontent.com/jelastic-jps/common/main/clustered-addon-utils.yml + +onBeforeInit: /scripts/onBeforeInit.js settings: fields: From d13f5c2dbfd7663593985d779dde8687a12a9578 Mon Sep 17 00:00:00 2001 From: "alexey.lazarenko" Date: Fri, 24 Mar 2023 15:28:23 +0200 Subject: [PATCH 4/7] Delete onBeforeInit.js --- scripts/onBeforeInit.js | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 scripts/onBeforeInit.js diff --git a/scripts/onBeforeInit.js b/scripts/onBeforeInit.js deleted file mode 100644 index 841a5ded..00000000 --- a/scripts/onBeforeInit.js +++ /dev/null @@ -1,36 +0,0 @@ -let EXT_IP = 'environment.externalip.enabled'; -let FIELD_NAME = 'withExtIp'; -let isFieldExists = false; - -let resp = api.billing.account.GetQuotas(EXT_IP); -if (resp.result != 0) return resp; - -if (jps && jps.settings && jps.settings.fields) { - for (let i = 0, n = jps.settings.fields.length; i < n; i++) { - let field = jps.settings.fields[i]; - - if (field && field['name'] == FIELD_NAME) { - isFieldExists = true; - - if (resp.array[0].value == 0) { - field['value'] = 'false'; - } - break; - } - } -} - -if (!isFieldExists && resp.array[0].value == 0) { - jps.settings = jps.settings || {}; - jps.settings.fields = jps.settings.fields || []; - jps.settings.fields.push({ - name: FIELD_NAME, - value: 'false', - hidden: true - }); - jps.settings.fields.push( - {"type": "displayfield", "cls": "warning", "height": 30, "hideLabel": true, "markup": "Using of public IP's is not possible because of such quota's value: 'environment.externalip.enabled'"} - ); -} - -return { result: 0, settings: jps.settings} From 7ea37128257cee9b73048bb8fb096718e7ec2387 Mon Sep 17 00:00:00 2001 From: "alexey.lazarenko" Date: Fri, 24 Mar 2023 15:44:07 +0200 Subject: [PATCH 5/7] JE-44414 [Let's Encrypt] No warning message about limitation ipv4 --- scripts/onbeforeinit.js | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 scripts/onbeforeinit.js diff --git a/scripts/onbeforeinit.js b/scripts/onbeforeinit.js new file mode 100644 index 00000000..432ed49f --- /dev/null +++ b/scripts/onbeforeinit.js @@ -0,0 +1,44 @@ +let extIP = "environment.externalip.enabled"; +let extIPperEnv = "environment.externalip.maxcount"; +let extIPperNode = "environment.externalip.maxcount.per.node"; +let FIELD_NAME = 'withExtIp'; +let markup = "", ext_ip = true; + +let quotas = jelastic.billing.account.GetQuotas(extIP + ";"+extIPperEnv+";" + extIPperNode ).array; +for (var i = 0; i < quotas.length; i++) { + var q = quotas[i], n = toNative(q.quota.name); + + if (n == extIP && !q.value) { + ext_ip = false; + err(q, false); + } + + if (n == extIPperEnv && q.value < 1) { + ext_ip = false; + err(q, false); + } + + if (n == extIPperNode && q.value < 1) { + ext_ip = false; + err(q, false); + } +} + +function err(e, override) { + let m = (e.quota.description || e.quota.name) + " - " + e.value + "; "; + if (override) markup = m; else markup += m; +} + +if (!ext_ip) { + jps.settings.fields.push({ + name: FIELD_NAME, + value: 'false', + hidden: true + }); + jps.settings.fields.push({"type": "displayfield", "cls": "warning", "height": 30, "hideLabel": true, "markup": "Using of public IP's is not possible because of such quota's values: " + markup}); +} + +return { + result: 0, + settings: jps.settings +}; From 4acd1bc3b96496307da421bb5d7bb7a3b466529c Mon Sep 17 00:00:00 2001 From: "alexey.lazarenko" Date: Fri, 24 Mar 2023 15:45:59 +0200 Subject: [PATCH 6/7] JE-44414 [Let's Encrypt] No warning message about limitation ipv4 --- manifest.jps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.jps b/manifest.jps index 2ff911d7..152897b6 100644 --- a/manifest.jps +++ b/manifest.jps @@ -66,7 +66,7 @@ mixins: - configs/vers.yaml - https://raw.githubusercontent.com/jelastic-jps/common/main/clustered-addon-utils.yml -onBeforeInit: /scripts/onBeforeInit.js +onBeforeInit: /scripts/onbeforeinit.js settings: fields: From e2b205a45ef4c3f9f07986b089a70a02281eedd7 Mon Sep 17 00:00:00 2001 From: Alexey Lazarenko Date: Tue, 28 Mar 2023 16:42:24 +0300 Subject: [PATCH 7/7] JE-44414 [Let's Encrypt] No warning message about limitation ipv4 --- scripts/onbeforeinit.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/scripts/onbeforeinit.js b/scripts/onbeforeinit.js index 432ed49f..59a2d4e4 100644 --- a/scripts/onbeforeinit.js +++ b/scripts/onbeforeinit.js @@ -2,9 +2,21 @@ let extIP = "environment.externalip.enabled"; let extIPperEnv = "environment.externalip.maxcount"; let extIPperNode = "environment.externalip.maxcount.per.node"; let FIELD_NAME = 'withExtIp'; -let markup = "", ext_ip = true; +let markup = "", ext_ip = true, quotas; +let hasCollaboration = (parseInt('${fn.compareEngine(7.0)}', 10) >= 0); + +if (hasCollaboration) { + quotas = [ + { quota : { name: extIP }, value: parseInt('${quota.environment.externalip.enabled}', 10) }, + { quota : { name: extIPperEnv }, value: parseInt('${quota.environment.externalip.maxcount}', 10) }, + { quota : { name: extIPperNode }, value: parseInt('${quota.environment.externalip.maxcount.per.node}', 10) } + ]; +} else { + resp = jelastic.billing.account.GetQuotas(extIP + ";"+extIPperEnv+";" + extIPperNode ); + if (resp.result != 0) return resp; + quotas = resp.array; +} -let quotas = jelastic.billing.account.GetQuotas(extIP + ";"+extIPperEnv+";" + extIPperNode ).array; for (var i = 0; i < quotas.length; i++) { var q = quotas[i], n = toNative(q.quota.name); @@ -39,6 +51,6 @@ if (!ext_ip) { } return { - result: 0, - settings: jps.settings -}; + result: 0, + settings: jps.settings +}; \ No newline at end of file