From 883100d1c5cea5d5de1b7f9f29336fb958a16bf5 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Wed, 11 Oct 2023 15:55:36 -0400 Subject: [PATCH 01/15] Use zowe standard network config Signed-off-by: 1000TurquoisePogs --- defaults/serverConfig/defaults.yaml | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index c2daa70..b87689f 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -20,9 +20,17 @@ components: hostname: "${{ function a(){ if (process.env.ZWE_INTERNAL_HOST) { return process.env.ZWE_INTERNAL_HOST; } else if (process.env.ZWE_haInstance_hostname) { return process.env.ZWE_haInstance_hostname; } else { return undefined; } }; a() }}" https: ipAddresses: "${{ function a(){ + let addresses; + if (components['app-server'].zowe.network.server.listenAddresses) { + addresses = components['app-server'].zowe.network.server.listenAddresses; + } else if (zowe.network.server.listenAddresses) { + addresses = zowe.networking.server.listenAddresses; + } else { + addresses = ['0.0.0.0']; + } if (process.env.ZOWE_LOOPBACK_ADDRESS && process.env.BIND_TO_LOOPBACK == 'true') { - return [ process.env.ZOWE_LOOPBACK_ADDRESS , '0.0.0.0' ]; - } else { return ['0.0.0.0'] } }; + return [ process.env.ZOWE_LOOPBACK_ADDRESS ].concat(addresses); + } else { return addresses } }; a() }}" port: "${{ function a(){ if (process.env.ZWED_SERVER_HTTPS_PORT) { @@ -58,6 +66,22 @@ components: } } else { return ["../defaults/serverConfig/apiml-localca.cer"]; } }; a() }}' + maxTls: '${{ function a(){ + if (components["app-server"].zowe.network.server.maxTls) { + return components["app-server"].zowe.network.server.maxTls; + } else if (zowe.network.server.maxTls) { + return zowe.network.server.maxTls; + } else { + return "TLSv1.3"; + a() }}' + minTls: '${{ function a(){ + if (components["app-server"].zowe.network.server.minTls) { + return components["app-server"].zowe.network.server.minTls; + } else if (zowe.network.server.minTls) { + return zowe.network.server.minTls; + } else { + return "TLSv1.2"; + a() }}' loopbackAddress: "${{ function a(){ if (process.env.ZOWE_LOOPBACK_ADDRESS) { return process.env.ZOWE_LOOPBACK_ADDRESS; } else { return undefined; } }; a() }}" mediationLayer: server: From 384994976e1fb3618f1be507e6f2d6a0944a4561 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Fri, 27 Oct 2023 08:02:49 -0400 Subject: [PATCH 02/15] Fix checking for objects that might not exist Signed-off-by: 1000TurquoisePogs --- defaults/serverConfig/defaults.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index b87689f..397950d 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -21,9 +21,9 @@ components: https: ipAddresses: "${{ function a(){ let addresses; - if (components['app-server'].zowe.network.server.listenAddresses) { + if (components['app-server'].zowe?.network?.server?.listenAddresses) { addresses = components['app-server'].zowe.network.server.listenAddresses; - } else if (zowe.network.server.listenAddresses) { + } else if (zowe.network?.server?.listenAddresses) { addresses = zowe.networking.server.listenAddresses; } else { addresses = ['0.0.0.0']; @@ -67,17 +67,17 @@ components: } else { return ["../defaults/serverConfig/apiml-localca.cer"]; } }; a() }}' maxTls: '${{ function a(){ - if (components["app-server"].zowe.network.server.maxTls) { + if (components["app-server"].zowe?.network?.server.maxTls) { return components["app-server"].zowe.network.server.maxTls; - } else if (zowe.network.server.maxTls) { + } else if (zowe.network?.server?.maxTls) { return zowe.network.server.maxTls; } else { return "TLSv1.3"; a() }}' minTls: '${{ function a(){ - if (components["app-server"].zowe.network.server.minTls) { + if (components["app-server"].zowe?.network?.server.minTls) { return components["app-server"].zowe.network.server.minTls; - } else if (zowe.network.server.minTls) { + } else if (zowe.network?.server?.minTls) { return zowe.network.server.minTls; } else { return "TLSv1.2"; From 7bdaa10dee87f5fb59f38b0cbe66697684e662e4 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Fri, 27 Oct 2023 08:06:31 -0400 Subject: [PATCH 03/15] Update default to account for possibly missing objects Signed-off-by: 1000TurquoisePogs --- defaults/serverConfig/defaults.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index 397950d..029cb10 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -67,7 +67,7 @@ components: } else { return ["../defaults/serverConfig/apiml-localca.cer"]; } }; a() }}' maxTls: '${{ function a(){ - if (components["app-server"].zowe?.network?.server.maxTls) { + if (components["app-server"].zowe?.network?.server?.maxTls) { return components["app-server"].zowe.network.server.maxTls; } else if (zowe.network?.server?.maxTls) { return zowe.network.server.maxTls; @@ -75,7 +75,7 @@ components: return "TLSv1.3"; a() }}' minTls: '${{ function a(){ - if (components["app-server"].zowe?.network?.server.minTls) { + if (components["app-server"].zowe?.network?.server?.minTls) { return components["app-server"].zowe.network.server.minTls; } else if (zowe.network?.server?.minTls) { return zowe.network.server.minTls; From 1f9b366cdbe73f6bed2450ee415b64628212bfba Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Fri, 10 Nov 2023 07:07:59 -0500 Subject: [PATCH 04/15] Add missing tls Signed-off-by: 1000TurquoisePogs --- defaults/serverConfig/defaults.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index 029cb10..ac5a867 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -67,18 +67,18 @@ components: } else { return ["../defaults/serverConfig/apiml-localca.cer"]; } }; a() }}' maxTls: '${{ function a(){ - if (components["app-server"].zowe?.network?.server?.maxTls) { - return components["app-server"].zowe.network.server.maxTls; - } else if (zowe.network?.server?.maxTls) { - return zowe.network.server.maxTls; + if (components["app-server"].zowe?.network?.server?.tls?.maxTls) { + return components["app-server"].zowe.network.server.tls?.maxTls; + } else if (zowe.network?.server?.tls?.maxTls) { + return zowe.network.server.tls?.maxTls; } else { return "TLSv1.3"; a() }}' minTls: '${{ function a(){ - if (components["app-server"].zowe?.network?.server?.minTls) { - return components["app-server"].zowe.network.server.minTls; - } else if (zowe.network?.server?.minTls) { - return zowe.network.server.minTls; + if (components["app-server"].zowe?.network?.server?.tls?.minTls) { + return components["app-server"].zowe.network.server.tls?.minTls; + } else if (zowe.network?.server?.tls?.minTls) { + return zowe.network.server.tls?.minTls; } else { return "TLSv1.2"; a() }}' From f4414a22296e7eaf0d9d4758e87ea41457d57652 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Fri, 10 Nov 2023 07:09:19 -0500 Subject: [PATCH 05/15] Remove extra ? Signed-off-by: 1000TurquoisePogs --- defaults/serverConfig/defaults.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index ac5a867..5eeb482 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -68,17 +68,17 @@ components: a() }}' maxTls: '${{ function a(){ if (components["app-server"].zowe?.network?.server?.tls?.maxTls) { - return components["app-server"].zowe.network.server.tls?.maxTls; + return components["app-server"].zowe.network.server.tls.maxTls; } else if (zowe.network?.server?.tls?.maxTls) { - return zowe.network.server.tls?.maxTls; + return zowe.network.server.tls.maxTls; } else { return "TLSv1.3"; a() }}' minTls: '${{ function a(){ if (components["app-server"].zowe?.network?.server?.tls?.minTls) { - return components["app-server"].zowe.network.server.tls?.minTls; + return components["app-server"].zowe.network.server.tls.minTls; } else if (zowe.network?.server?.tls?.minTls) { - return zowe.network.server.tls?.minTls; + return zowe.network.server.tls.minTls; } else { return "TLSv1.2"; a() }}' From 12b74f5d573dfbdce7415e2dbb20e41d038cd749 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Wed, 15 Nov 2023 09:14:52 -0500 Subject: [PATCH 06/15] Switch keyring pattern to allow more types of keyrings Signed-off-by: 1000TurquoisePogs --- defaults/serverConfig/defaults.yaml | 6 +++--- schemas/app-server-config.json | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index c2daa70..3274548 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -32,7 +32,7 @@ components: } else { return Number(7556); } }; a() }}" keys: '${{ function a() { - if (zowe.certificate?.keystore?.type == "JCERACFKS") { + if (zowe.certificate?.keystore?.type && zowe.certificate.keystore.type.match("JCE.*KS")) { return [ zowe.certificate.keystore.file+"&"+zowe.certificate.keystore.alias ]; } else if (zowe.certificate?.pem?.key) { return [ zowe.certificate.pem.key ]; @@ -40,7 +40,7 @@ components: return [ "../defaults/serverConfig/zlux.keystore.key" ]; } }; a() }}' certificates: '${{ function a(){ - if (zowe.certificate?.keystore?.type == "JCERACFKS") { + if (zowe.certificate?.keystore?.type && zowe.certificate.keystore.type.match("JCE.*KS")) { return [ zowe.certificate.keystore.file+"&"+zowe.certificate.keystore.alias ]; } else if (zowe.certificate?.pem?.certificate) { return [ zowe.certificate.pem.certificate ]; @@ -48,7 +48,7 @@ components: return [ "../defaults/serverConfig/zlux.keystore.cer" ]; } }; a() }}' certificateAuthorities: '${{ function a() { - if (zowe.certificate?.truststore?.type == "JCERACFKS") { + if (zowe.certificate?.truststore?.type && zowe.certificate.truststore.type.match("JCE.*KS")) { return [ zowe.certificate.truststore.file ]; } else if(zowe.certificate?.pem?.certificateAuthorities) { if (Array.isArray(zowe.certificate.pem.certificateAuthorities)) { diff --git a/schemas/app-server-config.json b/schemas/app-server-config.json index e815562..03d733f 100644 --- a/schemas/app-server-config.json +++ b/schemas/app-server-config.json @@ -660,14 +660,14 @@ }, "safKeyringCertObject": { "type": "string", - "pattern": "^safkeyring:(\/\/)+.*$" + "pattern": "^safkeyring.*:(\/\/)+.*$" }, "pathCertObject": { "type": "string", "not": { "anyOf": [ { "pattern": "^file:\/\/.*$" }, - { "pattern": "^safkeyring:(\/\/)+.*$" } + { "pattern": "^safkeyring.*:(\/\/)+.*$" } ] } }, From 100c4ab4214079bdbc8eb340c51c70e7230776d2 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Wed, 15 Nov 2023 10:58:25 -0500 Subject: [PATCH 07/15] Update defaults.yaml Fix typo (networking -> network) Signed-off-by: 1000TurquoisePogs --- defaults/serverConfig/defaults.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index 5eeb482..f8461d2 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -24,7 +24,7 @@ components: if (components['app-server'].zowe?.network?.server?.listenAddresses) { addresses = components['app-server'].zowe.network.server.listenAddresses; } else if (zowe.network?.server?.listenAddresses) { - addresses = zowe.networking.server.listenAddresses; + addresses = zowe.network.server.listenAddresses; } else { addresses = ['0.0.0.0']; } From 483902a64d73384ee0fe4400385249f711479281 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Thu, 16 Nov 2023 06:57:25 -0500 Subject: [PATCH 08/15] Fixed schema errors and added curve and cipher customization Signed-off-by: 1000TurquoisePogs --- CHANGELOG.md | 7 ++++++- defaults/serverConfig/defaults.yaml | 20 ++++++++++++++++++-- schemas/app-server-config.json | 9 ++++++++- 3 files changed, 32 insertions(+), 4 deletions(-) mode change 100644 => 100755 schemas/app-server-config.json diff --git a/CHANGELOG.md b/CHANGELOG.md index b5cb675..6f98ed3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,12 @@ # Zlux App Server Changelog All notable changes to the Zlux App Server package will be documented in this file. - + +## v2.13.0 +- Enhancement: Updated schema to allow cipher customization in IANA format. (#284) +- Enhancement: Updated schema to allow curve customization. (#284) +- Enhancement: Updated defaults to read TLS settings and IP settings from the "zowe.network.server" attribute of Zowe.yaml. (#284) + ## v2.12.0 - enhancement: new versions of components can change the location of their plugins, as the app-server will now re-inspect the plugin locations on each startup. (#280) - bugfix: Removed error message "components/app-server/bin/configure.sh 26: .: FSUM6807 expression syntax error" seen in startup of Zowe in v2.11.0, caused by incorrect shell syntax. (#283) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index f8461d2..87db761 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -72,7 +72,7 @@ components: } else if (zowe.network?.server?.tls?.maxTls) { return zowe.network.server.tls.maxTls; } else { - return "TLSv1.3"; + return "TLSv1.3"; } }; a() }}' minTls: '${{ function a(){ if (components["app-server"].zowe?.network?.server?.tls?.minTls) { @@ -80,7 +80,23 @@ components: } else if (zowe.network?.server?.tls?.minTls) { return zowe.network.server.tls.minTls; } else { - return "TLSv1.2"; + return "TLSv1.2"; } }; + a() }}' + ciphers: '${{ function a(){ + if (components["app-server"].zowe?.network?.server?.tls?.ciphers) { + return components["app-server"].zowe.network.server.tls.ciphers.join(":"); + } else if (zowe.network?.server?.tls?.ciphers) { + return zowe.network.server.tls.ciphers.join(":"); + } else { + return "" } }; + a() }}' + curves: '${{ function a(){ + if (components["app-server"].zowe?.network?.server?.tls?.curves) { + return components["app-server"].zowe.network.server.tls.curves; + } else if (zowe.network?.server?.tls?.curves) { + return zowe.network.server.tls.curves; + } else { + return [] } }; a() }}' loopbackAddress: "${{ function a(){ if (process.env.ZOWE_LOOPBACK_ADDRESS) { return process.env.ZOWE_LOOPBACK_ADDRESS; } else { return undefined; } }; a() }}" mediationLayer: diff --git a/schemas/app-server-config.json b/schemas/app-server-config.json old mode 100644 new mode 100755 index e815562..17edc05 --- a/schemas/app-server-config.json +++ b/schemas/app-server-config.json @@ -55,6 +55,13 @@ { "$ref": "#/$defs/customCiphers" } ] }, + "curves": { + "type": "array", + "description": "A list of curve NIDs or names, for example P-521, P-384, P-256", + "items": { + "type": "string" + } + }, "enableTrace": { "type": "boolean", "default": false @@ -620,7 +627,7 @@ { "$ref": "#/$defs/zoweDefaultCiphers" } ] }, - "description": "Instructs app-server to use the list of ciphers in this string when using TLS. String must be in the form defined here https://nodejs.org/api/tls.html#modifying-the-default-tls-cipher-suite" + "description": "Instructs app-server to use the list of ciphers in this string when using TLS. String is a colon separated list of IANA or openSSL names" }, "headerCustomization": { "type": "object", From 6bc8990070639ca7bfc5f32507598ae26f16ea06 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Wed, 22 Nov 2023 04:23:47 -0500 Subject: [PATCH 09/15] Add definition for minTls and maxTls Signed-off-by: 1000TurquoisePogs --- schemas/app-server-config.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/schemas/app-server-config.json b/schemas/app-server-config.json index 8567d07..e616502 100755 --- a/schemas/app-server-config.json +++ b/schemas/app-server-config.json @@ -48,6 +48,18 @@ "deprecated": true, "description": "Passes through the secureProtocol attribute to TLS calls of nodeJS, as defined within https://nodejs.org/api/tls.html#tlscreatesecurecontextoptions" }, + "minTls": { + "type": "string", + "enum": ["TLSv1.2", "TLSv1.3"], + "default": "TLSv1.3", + "description": "Maximum TLS version allowed for network connections." + }, + "minTls": { + "type": "string", + "enum": ["TLSv1.2", "TLSv1.3"], + "default": "TLSv1.2", + "description": "Minimum TLS version allowed for network connections, and less than maxTls." + }, "ciphers": { "oneOf": [ { "$ref": "#/$defs/nodejsDefaultCiphers" }, From b16680c3b039bfe86ed0b19208721d648bf105ce Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Wed, 22 Nov 2023 04:26:10 -0500 Subject: [PATCH 10/15] Update app-server-config.json Signed-off-by: 1000TurquoisePogs --- schemas/app-server-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/app-server-config.json b/schemas/app-server-config.json index e616502..0c33afb 100755 --- a/schemas/app-server-config.json +++ b/schemas/app-server-config.json @@ -48,7 +48,7 @@ "deprecated": true, "description": "Passes through the secureProtocol attribute to TLS calls of nodeJS, as defined within https://nodejs.org/api/tls.html#tlscreatesecurecontextoptions" }, - "minTls": { + "maxTls": { "type": "string", "enum": ["TLSv1.2", "TLSv1.3"], "default": "TLSv1.3", From 954a9525761d545f2733f708b7ed4475a76d6e60 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Wed, 22 Nov 2023 10:02:59 -0500 Subject: [PATCH 11/15] Update app-server-config.json Signed-off-by: 1000TurquoisePogs --- schemas/app-server-config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schemas/app-server-config.json b/schemas/app-server-config.json index 0c33afb..4c8405d 100755 --- a/schemas/app-server-config.json +++ b/schemas/app-server-config.json @@ -58,7 +58,7 @@ "type": "string", "enum": ["TLSv1.2", "TLSv1.3"], "default": "TLSv1.2", - "description": "Minimum TLS version allowed for network connections, and less than maxTls." + "description": "Minimum TLS version allowed for network connections, and less than or equal to maxTls." }, "ciphers": { "oneOf": [ From 499a586e5e21078aefae21d4309144a5dbb0e2d2 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Tue, 12 Dec 2023 06:06:19 -0500 Subject: [PATCH 12/15] Add schema and default for getting all discovery servers instead of just one Signed-off-by: 1000TurquoisePogs --- CHANGELOG.md | 3 +++ defaults/serverConfig/defaults.yaml | 10 ++++++++++ schemas/app-server-config.json | 12 +++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f98ed3..66c4ac6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ All notable changes to the Zlux App Server package will be documented in this file. +## v2.14.0 +- Enhancement: Updated schema to specify multiple discovery servers. + ## v2.13.0 - Enhancement: Updated schema to allow cipher customization in IANA format. (#284) - Enhancement: Updated schema to allow curve customization. (#284) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index 1238688..017d0c7 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -102,12 +102,21 @@ components: mediationLayer: server: # strange but true: to contact discovery in a container, instead reach for the gateway hostname. + # DEPRECATED. Use discoveryUrls instead. hostname: '${{ function a() { if (process.env.ZWE_RUN_IN_CONTAINER=="true" && process.env.ZWE_GATEWAY_HOST) { return process.env.ZWE_GATEWAY_HOST; } else { return zowe.externalDomains[0] } }; a() }}' + discoveryUrls: '${{ function a() { + if (process.env.ZWE_RUN_IN_CONTAINER=="true" && process.env.ZWE_GATEWAY_HOST) { + return ["https://"+process.env.ZWE_GATEWAY_HOST+":"+components.discovery.port+"/eureka/"]; + } else if (process.env.ZWE_DISCOVERY_SERVICES_LIST) { + return process.env.ZWE_DISCOVERY_SERVICES_LIST.split(","); + } else { + return ["https://"+zowe.externalDomains[0]+":"+components.discovery.port+"/eureka/"]; + a() }}' # usually, externalDomains is where gateway is. But on containers, this isnt accessible to containers, so # HACK: special var ZWE_GATEWAY_HOST is used instead gatewayHostname: '${{ function a() { @@ -116,6 +125,7 @@ components: } else { return zowe.externalDomains[0] } }; a() }}' + # DEPRECATED. Use discoveryUrls instead. port: ${{ components.discovery.port }} # strange but true: to contact gateway in a container, dont use the external port. gatewayPort: '${{ function a() { diff --git a/schemas/app-server-config.json b/schemas/app-server-config.json index 4c8405d..b196a8a 100755 --- a/schemas/app-server-config.json +++ b/schemas/app-server-config.json @@ -117,6 +117,14 @@ "type": "boolean", "description": "Controls if connections to the API Mediation Layer gateway and/or discovery service should be HTTP or HTTPS" }, + "discoveryUrls": { + "type": "array", + "description": "A list of URLs where discovery servers can be found. URLs must be in the form of 'https://host:port/eureka/'. This will be used instead of the 'hostname' and 'port' values if present.", + "items": { + "type": "string", + "pattern": "https:\/\/.*:[0-9].*\/eureka\/" + } + }, "gatewayHostname": { "type": "string", "format": "hostname", @@ -125,7 +133,8 @@ "hostname": { "type": "string", "format": "hostname", - "description": "The hostname or IP where the Zowe Discovery service is running" + "description": "The hostname or IP where the Zowe Discovery service is running", + "deprecated": true }, "gatewayPort": { "oneOf": [ @@ -139,6 +148,7 @@ { "$ref": "/schemas/v2/server-common#zoweTcpPort" }, { "$ref": "/schemas/v2/server-common#zoweReservedTcpPort" }, ], + "deprecated": true, "description": "The port where the Zowe Discovery service is running" }, "enabled": { From 71fa1101af56c0355e61795d217786bb8c831787 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Tue, 12 Dec 2023 09:10:18 -0500 Subject: [PATCH 13/15] Fix missing syntax in defaults.yaml Signed-off-by: 1000TurquoisePogs --- defaults/serverConfig/defaults.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/serverConfig/defaults.yaml b/defaults/serverConfig/defaults.yaml index 017d0c7..53969ee 100644 --- a/defaults/serverConfig/defaults.yaml +++ b/defaults/serverConfig/defaults.yaml @@ -115,7 +115,7 @@ components: } else if (process.env.ZWE_DISCOVERY_SERVICES_LIST) { return process.env.ZWE_DISCOVERY_SERVICES_LIST.split(","); } else { - return ["https://"+zowe.externalDomains[0]+":"+components.discovery.port+"/eureka/"]; + return ["https://"+zowe.externalDomains[0]+":"+components.discovery.port+"/eureka/"] } }; a() }}' # usually, externalDomains is where gateway is. But on containers, this isnt accessible to containers, so # HACK: special var ZWE_GATEWAY_HOST is used instead From 353312ac88963026a93c491813e15a5cfd49ccd9 Mon Sep 17 00:00:00 2001 From: Timothy Gerstel Date: Wed, 31 Jan 2024 11:55:59 -0500 Subject: [PATCH 14/15] Bump axios 0.22.0 -> 1.6.7 Signed-off-by: Timothy Gerstel --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3b0054a..797db2c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,7 +19,7 @@ "@rocketsoftware/eureka-js-client": "~4.5.3", "@rocketsoftware/express-ws": "^5.0.0", "accept-language-parser": "~1.5.0", - "axios": "~0.22.0", + "axios": "~1.6.7", "bluebird": "~3.5.1", "body-parser": "~1.18.3", "cookie-parser": "~1.4.3", @@ -105,7 +105,7 @@ "@types/node": "~6.0.0", "@types/qs": "6.9.3", "accept-language-parser": "~1.5.0", - "axios": "~0.22.0", + "axios": "~1.6.7", "bluebird": "~3.5.1", "body-parser": "~1.18.3", "chai": "~4.2.0", From fda2a729c378d35ff23f2e49d6dac897ca477561 Mon Sep 17 00:00:00 2001 From: 1000TurquoisePogs Date: Tue, 20 Feb 2024 15:05:27 -0500 Subject: [PATCH 15/15] Add option meant for debugging where app-server can use the older shell plugins install process instead of the configmgr one even when zowe.useconfigmgr is set, if desired, by setting components.app-server.zowe.useconfigmgr as an override Signed-off-by: 1000TurquoisePogs --- bin/configure.sh | 4 +++- schemas/app-server-config.json | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/bin/configure.sh b/bin/configure.sh index 36276d8..499eaac 100755 --- a/bin/configure.sh +++ b/bin/configure.sh @@ -54,7 +54,9 @@ cd ../lib CONFIG_FILE=$ZWE_CLI_PARAMETER_CONFIG $NODE_BIN initInstance.js cd ${COMPONENT_HOME}/share/zlux-app-server/bin/init -if [ "${ZWE_zowe_useConfigmgr}" = "true" ]; then +if [ "${ZWE_components_app_server_zowe_useConfigmgr}" = "false" ]; then + . ./plugins-init.sh +elif [ "${ZWE_zowe_useConfigmgr}" = "true" ]; then _CEE_RUNOPTS="XPLINK(ON),HEAPPOOLS(OFF)" ${ZWE_zowe_runtimeDirectory}/bin/utils/configmgr -script "${ZWE_zowe_runtimeDirectory}/components/app-server/share/zlux-app-server/bin/init/plugins-init.js" else . ./plugins-init.sh diff --git a/schemas/app-server-config.json b/schemas/app-server-config.json index b196a8a..fbdbc51 100755 --- a/schemas/app-server-config.json +++ b/schemas/app-server-config.json @@ -6,6 +6,18 @@ "type": "object", "additionalProperties": true, "properties": { + "zowe": { + "type": "object", + "additionalProperties": true, + "description": "Contains customizations from the Zowe global configuration.", + "properties": { + "useConfigmgr": { + "type": "boolean", + "default": true, + "description": "Determines whether configmgr will be used during the startup proceedure, such as to register plugins." + } + } + }, "node": { "type": "object", "description": "Configuration options specific to the app-server and things it depends upon",