From 74adfdede80a017b876a10c3d1dec5560237d8d3 Mon Sep 17 00:00:00 2001
From: Joe Winchester
Date: Wed, 3 Jul 2024 13:14:48 +0100
Subject: [PATCH 01/67] Remove deprecated commented value for createZosmfTrust
Signed-off-by: Joe Winchester
---
example-zowe.yaml | 1 -
1 file changed, 1 deletion(-)
diff --git a/example-zowe.yaml b/example-zowe.yaml
index 0a611cf037..46c20f195a 100644
--- a/example-zowe.yaml
+++ b/example-zowe.yaml
@@ -178,7 +178,6 @@ zowe:
# certificate:
# # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS
# type: JCERACFKS
- # createZosmfTrust: true
# keyring:
# # **COMMONLY_CUSTOMIZED**
# # keyring name
From f39938fa8e6807cd38585e85dc52472bbd4529e3 Mon Sep 17 00:00:00 2001
From: Martin Zeithaml <66114686+Martin-Zeithaml@users.noreply.github.com>
Date: Fri, 5 Jul 2024 10:25:16 +0200
Subject: [PATCH 02/67] Change path to home (#3896)
Signed-off-by: Martin Zeithaml
Co-authored-by: 1000TurquoisePogs
---
bin/libs/java.sh | 2 +-
bin/libs/node.sh | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/bin/libs/java.sh b/bin/libs/java.sh
index b610ebe58f..bf62ce6c9a 100644
--- a/bin/libs/java.sh
+++ b/bin/libs/java.sh
@@ -83,7 +83,7 @@ require_java() {
fi
if [ -z "${JAVA_HOME}" ]; then
- print_error_and_exit "Error ZWEL0122E: Cannot find java. Set the java.path value in the Zowe YAML, or include java in the PATH environment variable of any accounts that start or manage Zowe" "" 122
+ print_error_and_exit "Error ZWEL0122E: Cannot find java. Set the java.home value in the Zowe YAML, or include java in the PATH environment variable of any accounts that start or manage Zowe" "" 122
fi
ensure_java_is_on_path
diff --git a/bin/libs/node.sh b/bin/libs/node.sh
index 4386be9005..d457c76b2f 100644
--- a/bin/libs/node.sh
+++ b/bin/libs/node.sh
@@ -94,7 +94,7 @@ require_node() {
fi
if [ -z "${NODE_HOME}" ]; then
- print_error_and_exit "Error ZWEL0121E: Cannot find node. Set the node.path value in the Zowe YAML, or include node in the PATH environment variable of any accounts that start or manage Zowe" "" 121
+ print_error_and_exit "Error ZWEL0121E: Cannot find node. Set the node.home value in the Zowe YAML, or include node in the PATH environment variable of any accounts that start or manage Zowe" "" 121
fi
ensure_node_is_on_path
From 3eccda6837ccc00a4660a5ceb28a7590cb5a41eb Mon Sep 17 00:00:00 2001
From: pz636264
Date: Tue, 9 Jul 2024 12:50:04 +0200
Subject: [PATCH 03/67] install command step optional
Signed-off-by: pz636264
---
workflows/files/ZWECONF.xml | 36 +++++++++++++++++++++++++++++++-----
1 file changed, 31 insertions(+), 5 deletions(-)
diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml
index 8f4ee7b153..d3185f714e 100644
--- a/workflows/files/ZWECONF.xml
+++ b/workflows/files/ZWECONF.xml
@@ -1147,6 +1147,19 @@ How we want to verify SSL certificates of services. Valid values are:
ZWESASTC
+
+
+ Only for convenience build, check this to enable to run optional step with zwe install command
+ Check this to enable optional workflow step with zwe install command. After Zowe convenience build was extracted,
+ you can enable this flag to run the zwe install command to install MVS data sets within this workflow run.
+ Only for convenience build, SMP/E installs the MVS data sets during install.
+ installMVSDatasets
+
+
+
+ false
+
+
@@ -1219,6 +1232,7 @@ How we want to verify SSL certificates of services. Valid values are:
+ Run this step to fill base variables.1z/OS System Programmer
@@ -1408,7 +1422,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
+ Run this step to specify the variables for the Caching Service1z/OS System Programmer
@@ -2410,10 +2424,22 @@ echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
Zowe installationZowe installation
-
- Run the Zowe install
- Configure the Zowe
-
+
+ Run the Zowe install (only for convenience build)
+ Configure the Zowe.
+
+
+
+ 1==1
+ Always true
+
+
+ Skips this step if Install the MVS data sets wasn't selected
+ !${instance-zowe_setup_installStep_enabled}
+ skipped
+
+
+
Date: Wed, 10 Jul 2024 19:17:38 +0200
Subject: [PATCH 04/67] fix (#3897)
Signed-off-by: Pavel Jares
---
files/SZWESAMP/ZWEITSS | 4 ++--
workflows/templates/ZWESECUR.vtl | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/files/SZWESAMP/ZWEITSS b/files/SZWESAMP/ZWEITSS
index 03ed3c0804..512ef8c8f6 100644
--- a/files/SZWESAMP/ZWEITSS
+++ b/files/SZWESAMP/ZWEITSS
@@ -99,7 +99,7 @@
/* userid for ZOWE main server */
TSS LIST({zowe.setup.security.users.zowe}) SEGMENT(OMVS)
- TSS CREATE({zowe.setup.security.users.zowe}) TYPE(USER) PASS(NOPW,0) +
+ TSS CREATE({zowe.setup.security.users.zowe}) TYPE(USER) PROTECTED +
NAME('ZOWE MAIN SERVER') +
DEPT(&STCUDEP.)
TSS ADD({zowe.setup.security.users.zowe}) +
@@ -109,7 +109,7 @@
/* userid for ZIS cross memory server */
TSS LIST({zowe.setup.security.users.zis}) SEGMENT(OMVS)
- TSS CREATE({zowe.setup.security.users.zis}) TYPE(USER) PASS(NOPW,0) +
+ TSS CREATE({zowe.setup.security.users.zis}) TYPE(USER) PROTECTED +
NAME('ZOWE ZIS CROSS MEMORY SERVER') +
DEPT(&STCUDEP.)
TSS ADD({zowe.setup.security.users.zis}) +
diff --git a/workflows/templates/ZWESECUR.vtl b/workflows/templates/ZWESECUR.vtl
index 07675682af..25c2f367c2 100644
--- a/workflows/templates/ZWESECUR.vtl
+++ b/workflows/templates/ZWESECUR.vtl
@@ -679,7 +679,7 @@ $$
/* userid for ZOWE main server */
TSS LIST(&ZOWEUSER.) SEGMENT(OMVS)
- TSS CREATE(&ZOWEUSER.) TYPE(USER) PASS(NOPW,0) +
+ TSS CREATE(&ZOWEUSER.) TYPE(USER) PROTECTED +
NAME('ZOWE MAIN SERVER') +
DEPT(&STCUDEP.)
TSS ADD(&ZOWEUSER.) GROUP(&STCGRP.) +
@@ -688,7 +688,7 @@ $$
/* userid for ZIS cross memory server */
TSS LIST(&ZISUSER.) SEGMENT(OMVS)
- TSS CREATE(&ZISUSER.) TYPE(USER) PASS(NOPW,0) +
+ TSS CREATE(&ZISUSER.) TYPE(USER) PROTECTED +
NAME('ZOWE ZIS CROSS MEMORY SERVER') +
DEPT(&STCUDEP.)
TSS ADD(&ZISUSER.) GROUP(&STCGRP.) +
From c55e750a53b67afd7e94ba1a16eb45c116c91500 Mon Sep 17 00:00:00 2001
From: Mark Ackert <35308966+MarkAckert@users.noreply.github.com>
Date: Wed, 10 Jul 2024 15:17:40 -0400
Subject: [PATCH 05/67] Backport fixes in the v2.x/rc branch to staging (#3907)
* Fix default schema validation error when using keyrings (#3901)
Signed-off-by: 1000TurquoisePogs
* Respect "import" option on pkcs12 certificate setup (#3905)
Signed-off-by: 1000TurquoisePogs
---------
Signed-off-by: 1000TurquoisePogs
Co-authored-by: 1000TurquoisePogs
---
schemas/zowe-yaml-schema.json | 362 +++++++++++++++++++---------------
1 file changed, 204 insertions(+), 158 deletions(-)
diff --git a/schemas/zowe-yaml-schema.json b/schemas/zowe-yaml-schema.json
index 5add61892c..071b908aaf 100644
--- a/schemas/zowe-yaml-schema.json
+++ b/schemas/zowe-yaml-schema.json
@@ -161,208 +161,254 @@
}
},
"certificate": {
- "type": "object",
- "additionalProperties": false,
- "if": {
- "properties": {
- "type": {
- "const": "PKCS12"
- }
- }
- },
- "then": {
- "required": ["pkcs12"]
- },
- "else": {
- "required": ["keyring"]
- },
- "description": "Certificate related configurations",
- "properties": {
- "type": {
- "type": "string",
- "description": "Type of certificate storage method.",
- "enum": ["PKCS12", "JCEKS", "JCECCAKS", "JCERACFKS", "JCECCARACFKS", "JCEHYBRIDRACFKS"],
- "default": "PKCS12"
- },
- "pkcs12": {
+ "oneOf": [
+ {
"type": "object",
- "additionalProperties": false,
- "description": "PKCS#12 keystore settings",
+ "required": [ "pkcs12" ],
"properties": {
- "directory": {
- "$ref": "/schemas/v2/server-common#zowePath",
- "description": "Keystore directory"
- },
- "name": {
- "type": "string",
- "description": "Certificate alias name. Note: please use all lower cases as alias.",
- "default": "localhost"
- },
- "password": {
- "type": "string",
- "description": "Keystore password",
- "default": "password"
- },
- "caAlias": {
- "type": "string",
- "description": "Alias name of self-signed certificate authority. Note: please use all lower cases as alias.",
- "default": "local_ca"
- },
- "caPassword": {
- "type": "string",
- "description": "Password of keystore stored self-signed certificate authority.",
- "default": "local_ca_password"
- },
- "lock": {
- "type": "boolean",
- "description": "Whether to restrict the permissions of the keystore after creation"
+ "type": { "const": "PKCS12" },
+ "pkcs12": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "PKCS#12 keystore settings",
+ "properties": {
+ "directory": {
+ "$ref": "/schemas/v2/server-common#zowePath",
+ "description": "Keystore directory"
+ },
+ "name": {
+ "type": [ "string", "null" ],
+ "description": "Certificate alias name. Note: please use all lower cases as alias.",
+ "default": "localhost"
+ },
+ "password": {
+ "type": [ "string", "null" ],
+ "description": "Keystore password",
+ "default": "password"
+ },
+ "caAlias": {
+ "type": [ "string", "null" ],
+ "description": "Alias name of self-signed certificate authority. Note: please use all lower cases as alias.",
+ "default": "local_ca"
+ },
+ "caPassword": {
+ "type": [ "string", "null" ],
+ "description": "Password of keystore stored self-signed certificate authority.",
+ "default": "local_ca_password"
+ },
+ "lock": {
+ "type": "boolean",
+ "description": "Whether to restrict the permissions of the keystore after creation"
+ },
+ "import": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "Configure this section if you want to import certificate from another PKCS#12 keystore.",
+ "properties": {
+ "keystore": {
+ "type": "string",
+ "description": "Existing PKCS#12 keystore which holds the certificate issued by external CA."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password of the above keystore"
+ },
+ "alias": {
+ "type": "string",
+ "description": "Certificate alias will be imported. Note: please use all lower cases as alias."
+ }
+ }
+ }
+ }
},
- "import": {
+ "dname": {
"type": "object",
"additionalProperties": false,
- "description": "Configure this section if you want to import certificate from another PKCS#12 keystore.",
+ "description": "Certificate distinguish name",
"properties": {
- "keystore": {
+ "caCommonName": {
"type": "string",
- "description": "Existing PKCS#12 keystore which holds the certificate issued by external CA."
+ "description": "Common name of certificate authority generated by Zowe."
},
- "password": {
+ "commonName": {
+ "type": "string",
+ "description": "Common name of certificate generated by Zowe."
+ },
+ "orgUnit": {
+ "type": "string",
+ "description": "Organization unit of certificate generated by Zowe."
+ },
+ "org": {
+ "type": "string",
+ "description": "Organization of certificate generated by Zowe."
+ },
+ "locality": {
"type": "string",
- "description": "Password of the above keystore"
+ "description": "Locality of certificate generated by Zowe. This is usually the city name."
},
- "alias": {
+ "state": {
"type": "string",
- "description": "Certificate alias will be imported. Note: please use all lower cases as alias."
+ "description": "State of certificate generated by Zowe. You can also put province name here."
+ },
+ "country": {
+ "type": "string",
+ "description": "2 letters country code of certificate generated by Zowe."
}
}
+ },
+ "validity": {
+ "type": [ "integer", "null" ],
+ "description": "Validity days for Zowe generated certificates",
+ "default": 3650
+ },
+ "san": {
+ "type": "array",
+ "description": "Domain names and IPs should be added into certificate SAN. If this field is not defined, `zwe init` command will use `zowe.externalDomains`.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "importCertificateAuthorities": {
+ "type": "array",
+ "description": "PEM format certificate authorities will also be imported and trusted. If you have other certificate authorities want to be trusted in Zowe keyring, list the certificate labels here. **NOTE**, due to the limitation of RACDCERT command, this field should contain maximum 2 entries.",
+ "items": {
+ "type": "string"
+ }
}
- }
+ }
},
- "keyring": {
+ {
"type": "object",
- "additionalProperties": false,
- "description": "Configure this section if you are using z/OS keyring",
+ "required": [ "keyring" ],
"properties": {
- "owner": {
- "type": "string",
- "description": "keyring owner. If this is empty, Zowe will use the user ID defined as zowe.setup.security.users.zowe."
- },
- "name": {
- "type": "string",
- "description": "keyring name"
- },
- "label": {
- "type": "string",
- "description": "Label of Zowe certificate.",
- "default": "localhost"
- },
- "caLabel": {
- "type": "string",
- "description": "label of Zowe CA certificate.",
- "default": "localca"
- },
- "connect": {
+ "type": { "enum": ["JCEKS", "JCECCAKS", "JCERACFKS", "JCECCARACFKS", "JCEHYBRIDRACFKS"] },
+ "keyring": {
"type": "object",
"additionalProperties": false,
- "description": "Configure this section if you want to connect existing certificate in keyring to Zowe.",
+ "description": "Configure this section if you are using z/OS keyring",
"properties": {
- "user": {
+ "owner": {
+ "type": "string",
+ "description": "keyring owner. If this is empty, Zowe will use the user ID defined as zowe.setup.security.users.zowe."
+ },
+ "name": {
"type": "string",
- "description": "Current owner of the existing certificate, can be SITE or an user ID."
+ "description": "keyring name"
},
"label": {
"type": "string",
- "description": "Label of the existing certificate will be connected to Zowe keyring."
+ "description": "Label of Zowe certificate.",
+ "default": "localhost"
+ },
+ "caLabel": {
+ "type": "string",
+ "description": "label of Zowe CA certificate.",
+ "default": "localca"
+ },
+ "connect": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "Configure this section if you want to connect existing certificate in keyring to Zowe.",
+ "properties": {
+ "user": {
+ "type": "string",
+ "description": "Current owner of the existing certificate, can be SITE or an user ID."
+ },
+ "label": {
+ "type": "string",
+ "description": "Label of the existing certificate will be connected to Zowe keyring."
+ }
+ }
+ },
+ "import": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "Configure this section if you want to import existing certificate stored in data set to Zowe.",
+ "properties": {
+ "dsName": {
+ "type": "string",
+ "description": "Name of the data set holds the certificate issued by other CA. This data set should be in PKCS12 format and contain private key."
+ },
+ "password": {
+ "type": "string",
+ "description": "Password for the PKCS12 data set."
+ }
+ }
+ },
+ "zOSMF": {
+ "type": "object",
+ "additionalProperties": false,
+ "description": "Configure this section if you want to trust z/OSMF certificate authority in Zowe keyring.",
+ "properties": {
+ "ca": {
+ "type": "string",
+ "description": "z/OSMF certificate authority alias"
+ },
+ "user": {
+ "type": "string",
+ "description": "z/OSMF user. Zowe initialization utility can detect alias of z/OSMF CA for RACF security system. The automated detection requires this z/OSMF user as input."
+ }
+ }
}
}
},
- "import": {
+ "dname": {
"type": "object",
"additionalProperties": false,
- "description": "Configure this section if you want to import existing certificate stored in data set to Zowe.",
+ "description": "Certificate distinguish name",
"properties": {
- "dsName": {
+ "caCommonName": {
"type": "string",
- "description": "Name of the data set holds the certificate issued by other CA. This data set should be in PKCS12 format and contain private key."
+ "description": "Common name of certificate authority generated by Zowe."
},
- "password": {
+ "commonName": {
"type": "string",
- "description": "Password for the PKCS12 data set."
- }
- }
- },
- "zOSMF": {
- "type": "object",
- "additionalProperties": false,
- "description": "Configure this section if you want to trust z/OSMF certificate authority in Zowe keyring.",
- "properties": {
- "ca": {
+ "description": "Common name of certificate generated by Zowe."
+ },
+ "orgUnit": {
+ "type": "string",
+ "description": "Organization unit of certificate generated by Zowe."
+ },
+ "org": {
"type": "string",
- "description": "z/OSMF certificate authority alias"
+ "description": "Organization of certificate generated by Zowe."
},
- "user": {
+ "locality": {
"type": "string",
- "description": "z/OSMF user. Zowe initialization utility can detect alias of z/OSMF CA for RACF security system. The automated detection requires this z/OSMF user as input."
+ "description": "Locality of certificate generated by Zowe. This is usually the city name."
+ },
+ "state": {
+ "type": "string",
+ "description": "State of certificate generated by Zowe. You can also put province name here."
+ },
+ "country": {
+ "type": "string",
+ "description": "2 letters country code of certificate generated by Zowe."
}
}
- }
- }
- },
- "dname": {
- "type": "object",
- "additionalProperties": false,
- "description": "Certificate distinguish name",
- "properties": {
- "caCommonName": {
- "type": "string",
- "description": "Common name of certificate authority generated by Zowe."
- },
- "commonName": {
- "type": "string",
- "description": "Common name of certificate generated by Zowe."
},
- "orgUnit": {
- "type": "string",
- "description": "Organization unit of certificate generated by Zowe."
- },
- "org": {
- "type": "string",
- "description": "Organization of certificate generated by Zowe."
+ "validity": {
+ "type": [ "integer", "null" ],
+ "description": "Validity days for Zowe generated certificates",
+ "default": 3650
},
- "locality": {
- "type": "string",
- "description": "Locality of certificate generated by Zowe. This is usually the city name."
- },
- "state": {
- "type": "string",
- "description": "State of certificate generated by Zowe. You can also put province name here."
+ "san": {
+ "type": "array",
+ "description": "Domain names and IPs should be added into certificate SAN. If this field is not defined, `zwe init` command will use `zowe.externalDomains`.",
+ "items": {
+ "type": "string"
+ }
},
- "country": {
- "type": "string",
- "description": "2 letters country code of certificate generated by Zowe."
+ "importCertificateAuthorities": {
+ "type": "array",
+ "description": "PEM format certificate authorities will also be imported and trusted. If you have other certificate authorities want to be trusted in Zowe keyring, list the certificate labels here. **NOTE**, due to the limitation of RACDCERT command, this field should contain maximum 2 entries.",
+ "items": {
+ "type": "string"
+ }
}
}
- },
- "validity": {
- "type": "integer",
- "description": "Validity days for Zowe generated certificates",
- "default": 3650
- },
- "san": {
- "type": "array",
- "description": "Domain names and IPs should be added into certificate SAN. If this field is not defined, `zwe init` command will use `zowe.externalDomains`.",
- "items": {
- "type": "string"
- }
- },
- "importCertificateAuthorities": {
- "type": "array",
- "description": "PEM format certificate authorities will also be imported and trusted. If you have other certificate authorities want to be trusted in Zowe keyring, list the certificate labels here. **NOTE**, due to the limitation of RACDCERT command, this field should contain maximum 2 entries.",
- "items": {
- "type": "string"
- }
}
- }
+ ]
},
"vsam": {
"type": "object",
From d81075edb2101ae652da2944ea1a44c03b64de6b Mon Sep 17 00:00:00 2001
From: Martin Zeithaml
Date: Thu, 11 Jul 2024 13:26:11 +0200
Subject: [PATCH 06/67] Minor changes
Signed-off-by: Martin Zeithaml
---
files/SZWESAMP/ZWEINSTL | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/files/SZWESAMP/ZWEINSTL b/files/SZWESAMP/ZWEINSTL
index 9d9249c81a..22011e9936 100644
--- a/files/SZWESAMP/ZWEINSTL
+++ b/files/SZWESAMP/ZWEINSTL
@@ -36,20 +36,20 @@ blksize(32760) unit(sysallda) space(30,15) tracks
//STDOUT DD SYSOUT=*
//STDERR DD SYSOUT=*
//STDPARM DD *
-SH cd {zowe.runtimeDirectory} &&
-cd files/SZWESAMP &&
+SH cd '{zowe.runtimeDirectory}' &&
+cd 'files/SZWESAMP' &&
cp * "//'{zowe.setup.dataset.prefix}.SZWESAMP'" &&
-cd ../SZWEEXEC &&
+cd '../SZWEEXEC' &&
cp * "//'{zowe.setup.dataset.prefix}.SZWEEXEC'" &&
-cd ../SZWELOAD &&
+cd '../SZWELOAD' &&
cp * "//'{zowe.setup.dataset.prefix}.SZWELOAD'" &&
-cd ../../components/launcher/bin
-cp zowe_launcher "//'{zowe.setup.dataset.prefix}.SZWEAUTH'" &&
-cd ../../zss/SAMPLIB &&
+cd '../../components/launcher/bin' &&
+cp zowe_launcher
+ "//'{zowe.setup.dataset.prefix}.SZWEAUTH(ZWELNCH)'" &&
+cd '../../zss/SAMPLIB' &&
cp ZWESASTC ZWESIP00 ZWESISTC ZWESISCH
"//'{zowe.setup.dataset.prefix}.SZWESAMP'" &&
-cd ../LOADLIB &&
+cd '../LOADLIB' &&
cp ZWESIS01 ZWESAUX ZWESISDL
"//'{zowe.setup.dataset.prefix}.SZWEAUTH'"
/*
-
From a20455cc31310a34c2fd5496e147dbd2510f01ee Mon Sep 17 00:00:00 2001
From: Martin Zeithaml
Date: Thu, 11 Jul 2024 13:43:12 +0200
Subject: [PATCH 07/67] Minor update
Signed-off-by: Martin Zeithaml
---
files/SZWESAMP/ZWEINSTL | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/files/SZWESAMP/ZWEINSTL b/files/SZWESAMP/ZWEINSTL
index 22011e9936..525a794991 100644
--- a/files/SZWESAMP/ZWEINSTL
+++ b/files/SZWESAMP/ZWEINSTL
@@ -47,8 +47,12 @@ cd '../../components/launcher/bin' &&
cp zowe_launcher
"//'{zowe.setup.dataset.prefix}.SZWEAUTH(ZWELNCH)'" &&
cd '../../zss/SAMPLIB' &&
-cp ZWESASTC ZWESIP00 ZWESISTC ZWESISCH
+cp ZWESIP00 ZWESISCH
"//'{zowe.setup.dataset.prefix}.SZWESAMP'" &&
+cp ZWESAUX
+ "//'{zowe.setup.dataset.prefix}.SZWESAMP(ZWESASTC)'" &&
+cp ZWESIS01
+ "//'{zowe.setup.dataset.prefix}.SZWESAMP(ZWESISTC)'" &&
cd '../LOADLIB' &&
cp ZWESIS01 ZWESAUX ZWESISDL
"//'{zowe.setup.dataset.prefix}.SZWEAUTH'"
From 7824bc8d22d230f90acbc2d270e83f4d3449cbb7 Mon Sep 17 00:00:00 2001
From: Andrew Jandacek
Date: Mon, 15 Jul 2024 16:16:05 +0200
Subject: [PATCH 08/67] language refactor
Signed-off-by: Andrew Jandacek
---
workflows/files/ZWECONF.xml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml
index d3185f714e..1781c05b49 100644
--- a/workflows/files/ZWECONF.xml
+++ b/workflows/files/ZWECONF.xml
@@ -1149,10 +1149,10 @@ How we want to verify SSL certificates of services. Valid values are:
- Only for convenience build, check this to enable to run optional step with zwe install command
- Check this to enable optional workflow step with zwe install command. After Zowe convenience build was extracted,
+ This install option is only for convenience build. Check this option to enable this run step with the zwe install command.
+ Check this option to enable the optional workflow step with zwe install command. After Zowe convenience build is extracted,
you can enable this flag to run the zwe install command to install MVS data sets within this workflow run.
- Only for convenience build, SMP/E installs the MVS data sets during install.
+ This option is for convenience build only. SMP/E installs the MVS data sets during installation.installMVSDatasets
@@ -2426,7 +2426,7 @@ echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
Zowe installationRun the Zowe install (only for convenience build)
- Configure the Zowe.
+ Configure Zowe.
@@ -2434,7 +2434,7 @@ echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
Always true
- Skips this step if Install the MVS data sets wasn't selected
+ Skips this step if Install the MVS data sets was not selected!${instance-zowe_setup_installStep_enabled}skipped
From e9b758b2f2179d845c5458de89e89f9b3dc1c4b3 Mon Sep 17 00:00:00 2001
From: Andrew Jandacek
Date: Tue, 16 Jul 2024 15:26:47 +0200
Subject: [PATCH 09/67] fix component abstract/description language
Signed-off-by: Andrew Jandacek
---
workflows/files/ZWECONF.xml | 54 ++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml
index 1781c05b49..d55f7f5060 100644
--- a/workflows/files/ZWECONF.xml
+++ b/workflows/files/ZWECONF.xml
@@ -448,9 +448,9 @@ How we want to verify SSL certificates of services. Valid values are:
-
- Should the APIML gateway be enabled?
- Should the APIML gateway be enabled?
+
+ Check this option to enable the gateway
+ Check this option to enable the gatewaycomponents
@@ -579,9 +579,9 @@ How we want to verify SSL certificates of services. Valid values are:
-
- Use this option to enable the metrics seervice
- Use this option to enable the metrics seervice
+
+ Check this option to enable the Metrics service
+ Check this option to enable the Metrics servicecomponents
@@ -612,9 +612,9 @@ How we want to verify SSL certificates of services. Valid values are:
-
- Use this option to enable the cloud gateway
- Use this option to enable the cloud gateway
+
+ Check this option to enable the Cloud gateway
+ Check this option to enable the Cloud gatewaycomponents
@@ -645,9 +645,9 @@ How we want to verify SSL certificates of services. Valid values are:
-
- Use this option to enable the API catalog
- Use this option to enable the API catalog
+
+ Check this option to enable the API Catalog
+ Check this option to enable the API Catalogcomponents
@@ -678,9 +678,9 @@ How we want to verify SSL certificates of services. Valid values are:
-
- Should the automatic discovery be enabled?
- Should the automatic discovery be enabled?
+
+ Check this option to enable the Discovery service
+ Check this option to enable the Discovery servicecomponents
@@ -711,9 +711,9 @@ How we want to verify SSL certificates of services. Valid values are:
-
- Check to enable the caching service
- Check to enable the caching service
+
+ Check this option to enable the Caching service
+ Check this option to enable the Caching servicecomponents
@@ -804,7 +804,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
+
Check this option to enable the app serverCheck this option to enable the app servercomponents
@@ -838,8 +838,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Check this option to enable the ZSS component
- Check this option to enable the ZSS component
+ Check this option to enable ZSS
+ Check this option to enable ZSScomponents
@@ -959,8 +959,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Check this to enable the JES explorer
- Check this to enable the JES explorer
+ Check this option to enable the JES explorer
+ Check this option to enable the JES explorercomponents
@@ -970,8 +970,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Check this option to enable MVS explorer
- Check this option to enable MVS explorer
+ Check this option to enable the MVS explorer
+ Check this option to enable the MVS explorercomponents
@@ -981,8 +981,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Check this option to enable USS explorer
- Check this option to enable USS explorer
+ Check this option to enable the USS explorer
+ Check this option to enable the USS explorercomponents
From d252a5321a84590bcb644517d56eeddb29c08caa Mon Sep 17 00:00:00 2001
From: Andrew Jandacek
Date: Tue, 16 Jul 2024 15:55:35 +0200
Subject: [PATCH 10/67] fix abstract lengths
Signed-off-by: Andrew Jandacek
---
workflows/files/ZWECONF.xml | 72 ++++++++++++++++++-------------------
1 file changed, 36 insertions(+), 36 deletions(-)
diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml
index d55f7f5060..183af7feb5 100644
--- a/workflows/files/ZWECONF.xml
+++ b/workflows/files/ZWECONF.xml
@@ -101,8 +101,8 @@
- VSAM data set with Record-Level-Sharing enabled or not
- VSAM data set with Record-Level-Sharing enabled or not
+ VSAM data set with Record-Level-Sharing enabled or disabled
+ VSAM data set with Record-Level-Sharing enabled or disabledcomponents
@@ -202,8 +202,8 @@ It is used by ZWESLSTC or by zwe command
- This should be the domain name of your Dynamic VIP Address (DVIPA)
- This should be the domain name of your Dynamic VIP Address (DVIPA)
+ The domain name of your Dynamic VIP Address (DVIPA)
+ The domain name of your Dynamic VIP Address (DVIPA)zowe
@@ -213,7 +213,7 @@ It is used by ZWESLSTC or by zwe command
- This is the port you use to access Zowe Gateway from your web browser
+ The port you use to access Zowe Gateway from your web browserThis is the port you use to access Zowe Gateway from your web browser.
In many use cases, this should be same as <b>components.gateway.port</b>. But in
some use cases, like containerization, this port could be different.
@@ -268,7 +268,7 @@ some use cases, like containerization, this port could be different.
- Zowe certificate keystore file. In case of keyring the format is "safkeyring://OWNER/KEYRING".
+ Zowe certificate keystore file. For keyring, the format is "safkeyring://OWNER/KEYRING".Zowe certificate keystore filecertificates
@@ -317,7 +317,7 @@ some use cases, like containerization, this port could be different.
- File location for the certificate truststore. Keyring is in the format "safkeyring://OWNER/KEYRING".
+ File location for cert truststore. For keyring, the format is "safkeyring://OWNER/KEYRING"File location for the certificate truststorecertificates
@@ -460,8 +460,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Port for the APIML gateway
- Port for the APIML gateway
+ Port for the API ML gateway
+ Port for the API ML gatewaycomponents
@@ -515,8 +515,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Use this to enable the security authorization endpoint
- Use this to enable the security authorization endpoint
+ Check to enable the security authorization endpoint
+ Check to enable the security authorization endpointcomponents
@@ -547,8 +547,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Enable gateway server internal connector
- Enable gateway server internal connector
+ Check this option to enable gateway server internal connector
+ Check this option to enable gateway server internal connectorcomponents
@@ -657,8 +657,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Port on which the API catalog should be running.
- Port on which the API catalog should be running.
+ Port on which the API Catalog should be running.
+ Port on which the API Catalog should be running.components
@@ -668,8 +668,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Extra debugging information from API catalog.
- Extra debugging information from API catalog.
+ Extra debugging information from API Catalog.
+ Extra debugging information from API Catalog.components
@@ -690,8 +690,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Port on which the discovery service should be running
- Port on which the discovery service should be running
+ Port on which the Discovery service should be running
+ Port on which the Discovery service should be runningcomponents
@@ -701,8 +701,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Should there be extra debugging information?
- Should there be extra debugging information?
+ Check this option to include extra debugging information
+ Check this option to include extra debugging informationcomponents
@@ -745,7 +745,7 @@ How we want to verify SSL certificates of services. Valid values are:
- Specifies the eviction strategy when storage size is achieved.
+ Specifies the eviction strategy when storage size is achievedSpecifies the eviction strategy when storage size is achieved.components
@@ -759,7 +759,7 @@ How we want to verify SSL certificates of services. Valid values are:
Specifies the components caching service storage mode
- Specifies the components caching service storage mode
+ Specifies the components caching service storage mode.components
@@ -774,7 +774,7 @@ How we want to verify SSL certificates of services. Valid values are:
Number of records before the eviction strategies kick in
- Number of records before the eviction strategies kick in
+ Number of records before the eviction strategies kick in.components
@@ -806,7 +806,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check this option to enable the app server
- Check this option to enable the app server
+ Check this option to enable the app server.components
@@ -817,7 +817,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check to get extra debug information from the service
- Check to get extra debug information from the service
+ Check to get extra debug information from the service.components
@@ -894,7 +894,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check this option to enable the jobs API
- Check this option to enable the jobs API
+ Check this option to enable the jobs API.components
@@ -905,7 +905,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check to get extra debug information from the service
- Check to get extra debug information from the service
+ Check to get extra debug information from the service.components
@@ -927,7 +927,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check this option to enable the files API
- Check this option to enable the files API
+ Check this option to enable the files API.components
@@ -938,7 +938,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check to get extra debug information from the service
- Check to get extra debug information from the service
+ Check to get extra debug information from the service.components
@@ -960,7 +960,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check this option to enable the JES explorer
- Check this option to enable the JES explorer
+ Check this option to enable the JES explorer.components
@@ -971,7 +971,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check this option to enable the MVS explorer
- Check this option to enable the MVS explorer
+ Check this option to enable the MVS explorer.components
@@ -982,7 +982,7 @@ How we want to verify SSL certificates of services. Valid values are:
Check this option to enable the USS explorer
- Check this option to enable the USS explorer
+ Check this option to enable the USS explorer.components
@@ -992,8 +992,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Should Zowe configuration manager be enabled?
- Should Zowe configuration manager be enabled?
+ Check this option to enable Zowe configuration manager
+ Check this option to enable Zowe configuration manager.configManager
@@ -1149,7 +1149,7 @@ How we want to verify SSL certificates of services. Valid values are:
- This install option is only for convenience build. Check this option to enable this run step with the zwe install command.
+ Check to enable this run step with the zwe install command. For convenience build only.Check this option to enable the optional workflow step with zwe install command. After Zowe convenience build is extracted,
you can enable this flag to run the zwe install command to install MVS data sets within this workflow run.
This option is for convenience build only. SMP/E installs the MVS data sets during installation.
From 60d8faeca94505019a34788e36295d96be2ca7f9 Mon Sep 17 00:00:00 2001
From: zowe-robot
Date: Thu, 18 Jul 2024 16:30:15 +0000
Subject: [PATCH 11/67] Promote PTF after release v2.17.0
Signed-off-by: zowe-robot
---
smpe/bld/service/promoted-apar.txt | 3 ++
smpe/bld/service/promoted-close.txt | 45 +++++++++++++++++++++++++++++
smpe/bld/service/promoted-hold.txt | 25 ++++++++++++++++
smpe/bld/service/promoted-ptf.txt | 2 ++
smpe/bld/service/ptf-bucket.txt | 2 +-
5 files changed, 76 insertions(+), 1 deletion(-)
diff --git a/smpe/bld/service/promoted-apar.txt b/smpe/bld/service/promoted-apar.txt
index f9cd37ddc0..e65ef7390f 100644
--- a/smpe/bld/service/promoted-apar.txt
+++ b/smpe/bld/service/promoted-apar.txt
@@ -1,3 +1,6 @@
+IO29428
+IO29429
+IO29430
IO29424
IO29425
IO29426
diff --git a/smpe/bld/service/promoted-close.txt b/smpe/bld/service/promoted-close.txt
index a2f51e8eaf..b0196523e5 100644
--- a/smpe/bld/service/promoted-close.txt
+++ b/smpe/bld/service/promoted-close.txt
@@ -1,3 +1,48 @@
+ IO29428 -
+ PROBLEM SUMMARY:
+ ****************************************************************
+ * USERS AFFECTED: All Zowe users *
+ ****************************************************************
+ * PROBLEM DESCRIPTION: Update Zowe FMID AZWE002 to match the *
+ * community release *
+ ****************************************************************
+ * RECOMMENDATION: Apply provided service *
+ ****************************************************************
+ The Zowe community version was updated to 2.17.0.
+ This PTF provides the community changes in SMP/E format.
+ Follow this link for more details on the community changes:
+ https://docs.zowe.org/stable/
+
+ IO29429 -
+ PROBLEM SUMMARY:
+ ****************************************************************
+ * USERS AFFECTED: All Zowe users *
+ ****************************************************************
+ * PROBLEM DESCRIPTION: Update Zowe FMID AZWE002 to match the *
+ * community release *
+ ****************************************************************
+ * RECOMMENDATION: Apply provided service *
+ ****************************************************************
+ The Zowe community version was updated to 2.17.0.
+ This PTF provides the community changes in SMP/E format.
+ Follow this link for more details on the community changes:
+ https://docs.zowe.org/stable/
+
+ IO29430 -
+ PROBLEM SUMMARY:
+ ****************************************************************
+ * USERS AFFECTED: All Zowe users *
+ ****************************************************************
+ * PROBLEM DESCRIPTION: Update Zowe FMID AZWE002 to match the *
+ * community release *
+ ****************************************************************
+ * RECOMMENDATION: Apply provided service *
+ ****************************************************************
+ The Zowe community version was updated to 2.17.0.
+ This PTF provides the community changes in SMP/E format.
+ Follow this link for more details on the community changes:
+ https://docs.zowe.org/stable/
+
IO29424 -
PROBLEM SUMMARY:
****************************************************************
diff --git a/smpe/bld/service/promoted-hold.txt b/smpe/bld/service/promoted-hold.txt
index 2930ab1572..e5d2bfc0ca 100644
--- a/smpe/bld/service/promoted-hold.txt
+++ b/smpe/bld/service/promoted-hold.txt
@@ -1,3 +1,28 @@
+++HOLD(UO90059) SYSTEM FMID(AZWE002) REASON(ACTION) DATE(24200)
+ COMMENT(
+ ****************************************************************
+ * Affected function: Zowe servers *
+ ****************************************************************
+ * Description: stop servers *
+ ****************************************************************
+ * Timing: pre-APPLY *
+ ****************************************************************
+ * Part: ZWESLSTC and ZWESISTC *
+ ****************************************************************
+ Stop the Zowe servers before installing this update.
+
+ ****************************************************************
+ * Affected function: Zowe servers *
+ ****************************************************************
+ * Description: start servers *
+ ****************************************************************
+ * Timing: post-APPLY *
+ ****************************************************************
+ * Part: ZWESLSTC and ZWESISTC *
+ ****************************************************************
+ Start the Zowe servers after installing this update.
+
+ ).
++HOLD(UO90057) SYSTEM FMID(AZWE002) REASON(ACTION) DATE(24144)
COMMENT(
****************************************************************
diff --git a/smpe/bld/service/promoted-ptf.txt b/smpe/bld/service/promoted-ptf.txt
index 0e1d192cd2..a3922dcc47 100644
--- a/smpe/bld/service/promoted-ptf.txt
+++ b/smpe/bld/service/promoted-ptf.txt
@@ -1,3 +1,5 @@
+UO90059
+UO90060
UO90057
UO90058
UO90049
diff --git a/smpe/bld/service/ptf-bucket.txt b/smpe/bld/service/ptf-bucket.txt
index b63d0823e2..d148b2abef 100644
--- a/smpe/bld/service/ptf-bucket.txt
+++ b/smpe/bld/service/ptf-bucket.txt
@@ -23,5 +23,5 @@
#UO90047 UO90048 - IO29346 IO29347 IO29348 - Fri Jan 26 17:21:09 UTC 2024
#UO90049 UO90050 - IO29349 IO29350 IO29351 - Fri Mar 8 19:42:44 UTC 2024
#UO90057 UO90058 - IO29424 IO29425 IO29426 - Fri May 24 14:23:02 UTC 2024
-UO90059 UO90060 - IO29428 IO29429 IO29430
+#UO90059 UO90060 - IO29428 IO29429 IO29430 - Thu Jul 18 16:30:14 UTC 2024
UO90061 UO90062 - IO29431 IO29432 IO29433
\ No newline at end of file
From d76ac6f9ca5d193d6a6aac167d96e87df8e7134b Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Thu, 18 Jul 2024 13:28:11 -0400
Subject: [PATCH 12/67] update manifest to create 2.18 staging builds
Signed-off-by: MarkAckert
---
manifest.json.template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/manifest.json.template b/manifest.json.template
index 854288128e..cbd43cd090 100644
--- a/manifest.json.template
+++ b/manifest.json.template
@@ -1,6 +1,6 @@
{
"name": "Zowe",
- "version": "2.17.0",
+ "version": "2.18.0",
"description": "Zowe is an open source project created to host technologies that benefit the Z platform from all members of the Z community (Integrated Software Vendors, System Integrators and z/OS consumers). Zowe, like Mac or Windows, comes with a set of APIs and OS capabilities that applications build on and also includes some applications out of the box. Zowe offers modern interfaces to interact with z/OS and allows you to work with z/OS in a way that is similar to what you experience on cloud platforms today. You can use these interfaces as delivered or through plug-ins and extensions that are created by clients or third-party vendors.",
"license": "EPL-2.0",
"homepage": "https://zowe.org",
From 8179ef206607bd7d06666a35ef7c0186e582b39d Mon Sep 17 00:00:00 2001
From: James Struga
Date: Tue, 23 Jul 2024 21:41:55 -0400
Subject: [PATCH 13/67] Switch launcher path to point to staging
Signed-off-by: James Struga
---
manifest.json.template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/manifest.json.template b/manifest.json.template
index d8b2346603..9b3c54f218 100644
--- a/manifest.json.template
+++ b/manifest.json.template
@@ -120,7 +120,7 @@
"artifact": "*.pax"
},
"org.zowe.launcher": {
- "version": "^2.0.0-SNAPSHOT"
+ "version": "^2.0.0-STAGING"
},
"org.zowe.keyring-utilities": {
"version": "1.0.4",
From 07b929e02b1a20dc256b806ab35c055273faa61a Mon Sep 17 00:00:00 2001
From: Mark Ackert <35308966+MarkAckert@users.noreply.github.com>
Date: Wed, 24 Jul 2024 10:23:53 -0400
Subject: [PATCH 14/67] Backport fixes in v2.x/master to v2.x/staging (#3923)
---
.../manifest_verification/check_sources.js | 19 +++++++++++--------
.../manifest_verification/package-lock.json | 2 +-
example-zowe.yaml | 10 +++++-----
files/defaults.yaml | 16 ++++++++--------
schemas/zowe-yaml-schema.json | 14 +++++++-------
smpe/bld/service/ptf-bucket.txt | 2 +-
6 files changed, 33 insertions(+), 30 deletions(-)
diff --git a/.github/scripts/manifest_verification/check_sources.js b/.github/scripts/manifest_verification/check_sources.js
index 31293432f8..8514553108 100644
--- a/.github/scripts/manifest_verification/check_sources.js
+++ b/.github/scripts/manifest_verification/check_sources.js
@@ -81,15 +81,18 @@ async function main() {
}
// If not a commit, check repo tags
- const tags = await octokit.rest.repos.listTags({
- owner: 'zowe',
- repo: repo,
- }).then((resp) => {
- if (resp.status < 400) {
- return resp.data;
+ // requires paginate API.
+
+ const tags = await octokit.paginate(
+ "GET /repos/{owner}/{repo}/tags",
+ {
+ owner: 'zowe',
+ repo: repo,
}
- return [];
- })
+ ).then((resp) => {
+ // resp is the aggregated data from paginate.. [ { name: 'tag-a', ..other-fields.. }, {}, {}, ...]
+ return resp;
+ });
const knownTag = tags.find((item) => item.name === tag);
if (knownTag != null && knownTag.name.trim().length > 0) {
diff --git a/.github/scripts/manifest_verification/package-lock.json b/.github/scripts/manifest_verification/package-lock.json
index 784fe7954d..31f555dc36 100644
--- a/.github/scripts/manifest_verification/package-lock.json
+++ b/.github/scripts/manifest_verification/package-lock.json
@@ -10,7 +10,7 @@
"license": "EPL-2.0",
"dependencies": {
"@actions/core": "1.10.1",
- "@actions/github": "^6.0.0",
+ "@actions/github": "6.0.0",
"fs-extra": "11.2.0"
}
},
diff --git a/example-zowe.yaml b/example-zowe.yaml
index 46c20f195a..1f8a36c801 100644
--- a/example-zowe.yaml
+++ b/example-zowe.yaml
@@ -98,7 +98,7 @@ zowe:
# >>>> Certificate setup scenario 1
# PKCS12 (keystore) with Zowe generate certificates.
certificate:
- # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS
+ # Type of certificate storage. Valid values are: PKCS12, JCERACFKS. APIML additionally supports: JCEKS, JCECCAKS, JCECCARACFKS, or JCEHYBRIDRACFKS
type: PKCS12
pkcs12:
# **COMMONLY_CUSTOMIZED**
@@ -143,7 +143,7 @@ zowe:
# # >>>> Certificate setup scenario 2
# # PKCS12 (keystore) with importing certificate generated by other CA.
# certificate:
- # # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS
+ # # Type of certificate storage. Valid values are: PKCS12, JCERACFKS. APIML additionally supports: JCEKS, JCECCAKS, JCECCARACFKS, or JCEHYBRIDRACFKS
# type: PKCS12
# pkcs12:
# # **COMMONLY_CUSTOMIZED**
@@ -176,7 +176,7 @@ zowe:
# # >>>> Certificate setup scenario 3
# # Zowe generated z/OS Keyring with Zowe generated certificates.
# certificate:
- # # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS
+ # # Type of certificate storage. Valid values are: PKCS12, JCERACFKS. APIML additionally supports: JCEKS, JCECCAKS, JCECCARACFKS, or JCEHYBRIDRACFKS
# type: JCERACFKS
# keyring:
# # **COMMONLY_CUSTOMIZED**
@@ -211,7 +211,7 @@ zowe:
# # >>>> Certificate setup scenario 4
# # Zowe generated z/OS Keyring and connect to existing certificate
# certificate:
- # # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS
+ # # Type of certificate storage. Valid values are: PKCS12, JCERACFKS. APIML additionally supports: JCEKS, JCECCAKS, JCECCARACFKS, or JCEHYBRIDRACFKS
# type: JCERACFKS
# keyring:
# # **COMMONLY_CUSTOMIZED**
@@ -235,7 +235,7 @@ zowe:
# # >>>> Certificate setup scenario 5
# # Zowe generated z/OS Keyring with importing certificate stored in data set
# certificate:
- # # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS
+ # # Type of certificate storage. Valid values are: PKCS12, JCERACFKS. APIML additionally supports: JCEKS, JCECCAKS, JCECCARACFKS, or JCEHYBRIDRACFKS
# type: JCERACFKS
# keyring:
# # **COMMONLY_CUSTOMIZED**
diff --git a/files/defaults.yaml b/files/defaults.yaml
index 8b32c91796..8705166e9a 100644
--- a/files/defaults.yaml
+++ b/files/defaults.yaml
@@ -70,15 +70,15 @@ zowe:
# Distinguished name for Zowe generated certificates.
dname:
- caCommonName: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.label) ? 'Zowe Development Instances CA' : null }}"
- commonName: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.label) ? 'Zowe Development Instances Certificate' : null }}"
- orgUnit: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.label) ? 'API Mediation Layer' : null }}"
- org: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.label) ? 'Zowe Sample' : null }}"
- locality: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.label) ? 'Prague' : null }}"
- state: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.label) ? 'Prague' : null }}"
- country: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.label) ? 'CZ' : null }}"
+ caCommonName: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.name) ? 'Zowe Development Instances CA' : null }}"
+ commonName: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.name) ? 'Zowe Development Instances Certificate' : null }}"
+ orgUnit: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.name) ? 'API Mediation Layer' : null }}"
+ org: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.name) ? 'Zowe Sample' : null }}"
+ locality: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.name) ? 'Prague' : null }}"
+ state: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.name) ? 'Prague' : null }}"
+ country: "${{ (zowe.setup.certificate.pkcs12?.name || zowe.setup.certificate.keyring?.name) ? 'CZ' : null }}"
# Validity days for Zowe generated certificates
- validity: "${{ (zowe.setup.certificate.pkcs12?.import || zowe.setup.certificate.keyring?.label) ? null : 3650 }}"
+ validity: "${{ (zowe.setup.certificate.pkcs12?.import || zowe.setup.certificate.keyring?.name) ? null : 3650 }}"
vsam:
# Default to caching service entry as it predates this one
diff --git a/schemas/zowe-yaml-schema.json b/schemas/zowe-yaml-schema.json
index 071b908aaf..4601706c51 100644
--- a/schemas/zowe-yaml-schema.json
+++ b/schemas/zowe-yaml-schema.json
@@ -227,31 +227,31 @@
"description": "Certificate distinguish name",
"properties": {
"caCommonName": {
- "type": "string",
+ "type": [ "string", "null" ],
"description": "Common name of certificate authority generated by Zowe."
},
"commonName": {
- "type": "string",
+ "type": [ "string", "null" ],
"description": "Common name of certificate generated by Zowe."
},
"orgUnit": {
- "type": "string",
+ "type": [ "string", "null" ],
"description": "Organization unit of certificate generated by Zowe."
},
"org": {
- "type": "string",
+ "type": [ "string", "null" ],
"description": "Organization of certificate generated by Zowe."
},
"locality": {
- "type": "string",
+ "type": [ "string", "null" ],
"description": "Locality of certificate generated by Zowe. This is usually the city name."
},
"state": {
- "type": "string",
+ "type": [ "string", "null" ],
"description": "State of certificate generated by Zowe. You can also put province name here."
},
"country": {
- "type": "string",
+ "type": [ "string", "null" ],
"description": "2 letters country code of certificate generated by Zowe."
}
}
diff --git a/smpe/bld/service/ptf-bucket.txt b/smpe/bld/service/ptf-bucket.txt
index d148b2abef..11868e20ab 100644
--- a/smpe/bld/service/ptf-bucket.txt
+++ b/smpe/bld/service/ptf-bucket.txt
@@ -24,4 +24,4 @@
#UO90049 UO90050 - IO29349 IO29350 IO29351 - Fri Mar 8 19:42:44 UTC 2024
#UO90057 UO90058 - IO29424 IO29425 IO29426 - Fri May 24 14:23:02 UTC 2024
#UO90059 UO90060 - IO29428 IO29429 IO29430 - Thu Jul 18 16:30:14 UTC 2024
-UO90061 UO90062 - IO29431 IO29432 IO29433
\ No newline at end of file
+UO90061 UO90062 - IO29431 IO29432 IO29433
From 1f9ad776820f62672d7b3e17d64ef8b9b0569332 Mon Sep 17 00:00:00 2001
From: ManjuVNair133 <160747386+ManjuVNair133@users.noreply.github.com>
Date: Wed, 31 Jul 2024 17:19:09 +0530
Subject: [PATCH 15/67] Rename ssh host name (#3927)
Signed-off-by: ManjuVNair133
---
playbooks/host_vars/tvt4188.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/playbooks/host_vars/tvt4188.yml b/playbooks/host_vars/tvt4188.yml
index ce58c19764..d158b19685 100644
--- a/playbooks/host_vars/tvt4188.yml
+++ b/playbooks/host_vars/tvt4188.yml
@@ -1,5 +1,5 @@
---
-ansible_ssh_host: tvt4188.svl.ibm.com
+ansible_ssh_host: tvt4188.pok.stglabs.ibm.com
ansible_user:
ansible_password:
@@ -16,7 +16,7 @@ zowe_smpe_volser: T41882
# caching service volume
zowe_caching_vsam_volume: T41882
-zowe_external_ip_address: 9.30.241.209
+zowe_external_ip_address: 9.47.90.163
zowe_zlux_terminal_telnet_port: 992
zowe_zlux_terminal_telnet_security_type: tls
zowe_apiml_security_x509_enabled: true
From 83b086fc6ee5071027e35fda9f4a92e83a362897 Mon Sep 17 00:00:00 2001
From: Martin Zeithaml <66114686+Martin-Zeithaml@users.noreply.github.com>
Date: Mon, 12 Aug 2024 16:45:58 +0200
Subject: [PATCH 16/67] Clean up for crashing java (#3931)
Signed-off-by: Martin Zeithaml <66114686+Martin-Zeithaml@users.noreply.github.com>
---
bin/commands/support/verify-fingerprints/index.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/bin/commands/support/verify-fingerprints/index.sh b/bin/commands/support/verify-fingerprints/index.sh
index 0044c5e48a..3a67cc129b 100644
--- a/bin/commands/support/verify-fingerprints/index.sh
+++ b/bin/commands/support/verify-fingerprints/index.sh
@@ -63,7 +63,10 @@ print_message "- Calculate hashes of Zowe files"
cust_hashes=$(create_tmp_file "${tmp_file_prefix}")
result=$(java -cp "${ZWE_zowe_runtimeDirectory}/bin/utils/" HashFiles "${all_files}" | sort > "${cust_hashes}")
code=$?
-if [ ${code} -eq 1 -o ! -f "${cust_hashes}" ]; then
+if [ -f "${cust_hashes}" ]; then
+ file_size_check=$(wc -l "${cust_hashes}" | awk '{print $1}')
+fi
+if [ "${code}" -eq 1 -o ! -f "${cust_hashes}" -o "${file_size_check}" -eq 0 ]; then
print_error " * Error ZWEL0151E: Failed to create temporary file ${cust_hashes}. Please check permission or volume free space."
print_error " * Exit code: ${code}"
print_error " * Output:"
From 0c2c64e677e168dcfb65adb9ab6b6f59038633e8 Mon Sep 17 00:00:00 2001
From: Mark Ackert <35308966+MarkAckert@users.noreply.github.com>
Date: Mon, 12 Aug 2024 10:48:14 -0400
Subject: [PATCH 17/67] update safkeyring schema (#3928)
Signed-off-by: MarkAckert
---
schemas/zowe-yaml-schema.json | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/schemas/zowe-yaml-schema.json b/schemas/zowe-yaml-schema.json
index 4601706c51..deadae3492 100644
--- a/schemas/zowe-yaml-schema.json
+++ b/schemas/zowe-yaml-schema.json
@@ -804,7 +804,7 @@
"file": {
"type": "string",
"description": "Path of your z/OS keyring, including ring owner and ring name. Case sensitivity and spaces matter.",
- "pattern": "^safkeyring:\/\/.*"
+ "pattern": "^safkeyring[a-z]*:\/\/.*"
},
"password": {
"type": "string",
@@ -831,7 +831,7 @@
"file": {
"type": "string",
"description": "Path of your z/OS keyring, including ring owner and ring name. Case sensitivity and spaces matter.",
- "pattern": "^safkeyring:\/\/.*"
+ "pattern": "^safkeyring[a-z]*:\/\/.*"
},
"password": {
"type": "string",
From 6acc8e2c8bbbb9933915bb5d1cc5c96a1da89146 Mon Sep 17 00:00:00 2001
From: Martin Zeithaml <66114686+Martin-Zeithaml@users.noreply.github.com>
Date: Mon, 12 Aug 2024 17:17:47 +0200
Subject: [PATCH 18/67] Use correct parameters (#3929)
Signed-off-by: Martin Zeithaml
---
bin/libs/zosmf.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/libs/zosmf.ts b/bin/libs/zosmf.ts
index 89bddfa108..949c0eddf6 100644
--- a/bin/libs/zosmf.ts
+++ b/bin/libs/zosmf.ts
@@ -31,7 +31,7 @@ export function validateZosmfHostAndPort(zosmfHost: string, zosmfPort: number):
common.printError(`Warning: Could not validate if z/OS MF is available on 'https://${zosmfHost}:${zosmfPort}/zosmf/info'. NODE_HOME is not defined.`);
zosmfCheckPassed=false;
} else {
- let execReturn = shell.execOutSync(`${std.getenv('NODE_HOME')}/bin/node`, `${std.getenv('ZWE_zowe_runtimeDirectory')}/bin/utils/curl.js`, `"https://${zosmfHost}:${zosmfPort}/zosmf/info"`, `-k`, `-H`, `"X-CSRF-ZOSMF-HEADER: true"`, `--response-type`, `status`);
+ const execReturn = shell.execOutSync(`${std.getenv('NODE_HOME')}/bin/node`, `${std.getenv('ZWE_zowe_runtimeDirectory')}/bin/utils/curl.js`, `https://${zosmfHost}:${zosmfPort}/zosmf/info`, `-k`, `-H`, `X-CSRF-ZOSMF-HEADER: true`, `--response-type`, `status`);
if (execReturn.rc || !execReturn.out) {
common.printError(`Warning: Could not validate if z/OS MF is available on 'https://${zosmfHost}:${zosmfPort}/zosmf/info'. No response code from z/OSMF server.`);
zosmfCheckPassed=false
From a4ff599babf7e648e521517d665fb4df5c56cba5 Mon Sep 17 00:00:00 2001
From: pavelzlatnik <45940302+pavelzlatnik@users.noreply.github.com>
Date: Wed, 14 Aug 2024 15:33:52 +0200
Subject: [PATCH 19/67] NONRLS vsam mode if variable not initialized (#3935)
Signed-off-by: pz636264
---
workflows/files/ZWECONF.xml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml
index 183af7feb5..5d725d8adf 100644
--- a/workflows/files/ZWECONF.xml
+++ b/workflows/files/ZWECONF.xml
@@ -1848,7 +1848,11 @@ echo ' # VSAM configurations if you are using VSAM as Caching Service storage
echo ' vsam:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # VSAM data set with Record-Level-Sharing enabled or not' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # Valid values could be: NONRLS or RLS.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+#if (${instance-zowe_setup_vsam_mode})
echo ' mode: $!{instance-zowe_setup_vsam_mode}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+#else
+echo ' mode: NONRLS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+#end
echo ' # Volume name if you are using VSAM in NONRLS mode' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' volume: "$!{instance-zowe_setup_vsam_volume}"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # Storage class name if you are using VSAM in RLS mode' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
From b6911acc5fcccc8dd776c3e6878c49a930af58e4 Mon Sep 17 00:00:00 2001
From: John Mertic
Date: Wed, 14 Aug 2024 14:31:06 -0500
Subject: [PATCH 20/67] Add DigitalOcean sponsorship link - per guidelines for
credits (#3940)
* Add DigitalOcean sponsorship link - per guidelines for credits
Signed-off-by: John Mertic
* Fix link
Signed-off-by: John Mertic
---------
Signed-off-by: John Mertic
---
README.md | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/README.md b/README.md
index ff5b649cb5..d6e491fd59 100644
--- a/README.md
+++ b/README.md
@@ -192,3 +192,10 @@ Please check details in [playbooks folder](playbooks/README.md).
## Quick Sanity Check on Your Zowe Instance
Please check details in [sanity test folder](tests/sanity/README.md).
+
+
Hosting infrastructure for this project is supported by:
vsam: Configure the VSAM files needed to run the Zowe caching service used for high availability (HA).
+#end
]]>
1
@@ -2535,24 +2534,20 @@ zwe init vsam -c '${instance-zowe_runtimeDirectory}/zowe.yaml' --allow-overwrite
- Run the Zowe init security
- Executes the Zowe initialization for security setup
+ Run scripts for Zowe security initialization
+ Executes Zowe initialization scripts for security setup
- zwe init apfauth -c ${instance-zowe_runtimeDirectory}/zowe.yml zwe init security -c ${instance-zowe_runtimeDirectory}/zowe.yml --allow-overwrite
+ zwe init apfauth -c ${instance-zowe_runtimeDirectory}/zowe.yml
NOTE:
Each zwe init sub-command defines a configuration.
-
mvs: Copy the data sets provided with Zowe to custom data sets.
security: Create the user IDs and security manager settings.
apfauth: APF authorize the LOADLIB containing the modules that need to perform z/OS priviledged security calls.
-
certificate: Configure Zowe to use TLS certificates.
-
vsam: Configure the VSAM files needed to run the Zowe caching service used for high availability (HA).
-
stc: Configure the system to launch the Zowe started task.
]]>1
diff --git a/workflows/files/ZWECRECR.xml b/workflows/files/ZWECRECR.xml
index c5d3c3b812..094f05cc32 100644
--- a/workflows/files/ZWECRECR.xml
+++ b/workflows/files/ZWECRECR.xml
@@ -33,7 +33,7 @@
Please, specify your security management software
- Please, specify the ESM system you use on your workstation
+ Please, specify the ESM system you useGeneral
@@ -276,7 +276,8 @@ TSS GENREQ(${instance-tss_acid}) +
- This step will generate the CSR request into the ${instance-output_dataset}
+ This step uses ACF2 command GENREQ
]]>
1Security Administratortrue
@@ -302,8 +303,7 @@ GENREQ ${instance-acf2_acid} +
- This step uses ACF2 command GENREQ]]>
+ 1Security Administratortrue
From d92edfac30e337bc35128b51a1a9d97f0af6ddc9 Mon Sep 17 00:00:00 2001
From: Pavel Zlatnik
Date: Thu, 28 Nov 2024 09:44:25 +0100
Subject: [PATCH 48/67] retrofit issue fix 4083 to v2
Signed-off-by: Pavel Zlatnik
---
example-zowe.yaml | 2 +-
workflows/files/ZWECONF.xml | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/example-zowe.yaml b/example-zowe.yaml
index 409afb7248..05767b9825 100644
--- a/example-zowe.yaml
+++ b/example-zowe.yaml
@@ -39,7 +39,7 @@ zowe:
# MVS data set related configurations
dataset:
# **COMMONLY_CUSTOMIZED**
- # where Zowe MVS data sets will be installed
+ # where are existing Zowe SZWEEXEC Target libraries
prefix: IBMUSER.ZWEV2
# **COMMONLY_CUSTOMIZED**
# PROCLIB where Zowe STCs will be copied over
diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml
index 85424983b3..cbc5eb9963 100644
--- a/workflows/files/ZWECONF.xml
+++ b/workflows/files/ZWECONF.xml
@@ -12,9 +12,9 @@
-
- Where Zowe MVS data sets will be installed
- Where Zowe MVS data sets will be installed
+
+ Prefix of existing SZWEEXEC Target libraries created during PSWI or SMP/E
+ Prefix of existing SZWEEXEC Target libraries created during PSWI or SMP/E installation phasezowe
@@ -1640,7 +1640,7 @@ echo ' setup:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # MVS data set related configurations' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' dataset:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
-echo ' # where Zowe MVS data sets will be installed' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # where are existing Zowe SZWEEXEC Target libraries' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' prefix: $!{instance-zowe_setup_dataset_prefix}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # PROCLIB where Zowe STCs will be copied over' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
From fd57438ce9dd115cd19278b6f270d22944fa6f13 Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Mon, 2 Dec 2024 14:43:29 -0500
Subject: [PATCH 49/67] remove accidental periods
Signed-off-by: MarkAckert
---
example-zowe.yaml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/example-zowe.yaml b/example-zowe.yaml
index 05767b9825..b70fbc81e8 100644
--- a/example-zowe.yaml
+++ b/example-zowe.yaml
@@ -469,17 +469,17 @@ java:
#-------------------------------------------------------------------------------
-# Node.js. configuration
+# Node.js configuration
#
# Some Zowe components requires Node.js. Define the path where you have your
-# Node.js. is installed.
+# Node.js is installed.
#
# **NOTE**: this field can be updated automatically if you pass `--update-config`
# to `zwe init` command.
#-------------------------------------------------------------------------------
node:
# **COMMONLY_CUSTOMIZED**
- # Path to your Node.js. home directory
+ # Path to your Node.js home directory
home: ""
From de43e24c63556a38f11fb7786c35783c010e9618 Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Wed, 27 Nov 2024 11:32:38 -0500
Subject: [PATCH 50/67] adds python sdk to sourceDependencies. adds new field
"core" to source dep entry
Signed-off-by: MarkAckert
---
manifest.json.template | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/manifest.json.template b/manifest.json.template
index be11c98858..c75c0588ed 100644
--- a/manifest.json.template
+++ b/manifest.json.template
@@ -137,7 +137,7 @@
"version": "~2.0.0-SNAPSHOT"
},
"org.zowe.licenses": {
- "version": "2.3.0",
+ "version": "3.0.0",
"artifact": "zowe_licenses_full.zip"
}
},
@@ -391,6 +391,14 @@
"tag": "v2.x/master",
"destinations": ["Zowe PAX"]
}]
+ }, {
+ "componentGroup": "Zowe Client Python SDK",
+ "entries": [{
+ "repository": "zowe-client-python-sdk",
+ "core": false,
+ "tag": "main",
+ "destinations": ["Zowe Client Python SDK"]
+ }]
}
],
"imageDependencies": {
From c539e099dc0696546bcd5ca1080034b7d6c1ec50 Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Mon, 9 Dec 2024 16:28:39 -0500
Subject: [PATCH 51/67] adjust licenses version after cherry-pick
Signed-off-by: MarkAckert
---
manifest.json.template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/manifest.json.template b/manifest.json.template
index c75c0588ed..89c2eb6aab 100644
--- a/manifest.json.template
+++ b/manifest.json.template
@@ -137,7 +137,7 @@
"version": "~2.0.0-SNAPSHOT"
},
"org.zowe.licenses": {
- "version": "3.0.0",
+ "version": "2.18.0",
"artifact": "zowe_licenses_full.zip"
}
},
From d2873eb745c0ffc282186023197af3a74dcbe01a Mon Sep 17 00:00:00 2001
From: Mark Ackert <35308966+MarkAckert@users.noreply.github.com>
Date: Wed, 4 Dec 2024 14:24:09 -0500
Subject: [PATCH 52/67] Merge cherry-pick PR #4092 into v2
Signed-off-by: MarkAckert
---
.github/scripts/cicd_test/make_matrix.sh | 5 ---
.github/workflows/cicd-test-readme.md | 5 +--
.github/workflows/cicd-test.yml | 9 +---
.pax/pre-packaging.sh | 7 +--
bin/libs/node.sh | 2 +-
bin/libs/node.ts | 2 +-
.../extended/node-versions/node-v18.ts | 45 -------------------
7 files changed, 10 insertions(+), 65 deletions(-)
delete mode 100644 tests/installation/src/__tests__/extended/node-versions/node-v18.ts
diff --git a/.github/scripts/cicd_test/make_matrix.sh b/.github/scripts/cicd_test/make_matrix.sh
index 81273471ab..0af3d8cd77 100644
--- a/.github/scripts/cicd_test/make_matrix.sh
+++ b/.github/scripts/cicd_test/make_matrix.sh
@@ -32,11 +32,6 @@ case $install_test_choice in
test_file="$KEYRING_TESTFILE"
;;
-"z/OS node v18")
- test_file="$ZOS_NODE_V18_TESTFILE"
- test_force_system="zzow11"
- ;;
-
"z/OS node v20")
test_file="$ZOS_NODE_V20_TESTFILE"
;;
diff --git a/.github/workflows/cicd-test-readme.md b/.github/workflows/cicd-test-readme.md
index e1b081a2e5..7e4b80d984 100644
--- a/.github/workflows/cicd-test-readme.md
+++ b/.github/workflows/cicd-test-readme.md
@@ -29,7 +29,7 @@ Workflow trigger is at [cicd-test](https://github.com/zowe/zowe-install-packagin
- SMPE PTF
- Extensions
- Keyring
- - z/OS node v18
+ - z/OS node v20
- Non-strict Verify External Certificate
- Install PTF twice
- VSAM Caching storage method
@@ -109,7 +109,7 @@ Background: CICD testing relies on a `zowe.pax` or `zowe-smpe.zip` (for SMPE ins
When running CICD integration tests during RC stage, the following string will be parsed into the Github Actions matrix. As a result, a total of 21 independent jobs will be spawned.
```
-basic/install.ts(zzow09,zzow10,zzow11);basic/install-ptf.ts(zzow09,zzow10,zzow11);basic/install-ext.ts(zzow10);extended/keyring.ts(zzow09,zzow10,zzow11);extended/node-versions/node-v18.ts(zzow09,zzow10,zzow11);extended/node-versions/node-v20.ts(zzow09,zzow10,zzow11);extended/certificates/nonstrict-verify-external-certificate.ts(zzow09)
+basic/install.ts(zzow09,zzow10,zzow11);basic/install-ptf.ts(zzow09,zzow10,zzow11);basic/install-ext.ts(zzow10);extended/keyring.ts(zzow09,zzow10,zzow11);extended/node-versions/node-v20.ts(zzow09,zzow10,zzow11);extended/node-versions/node-v20.ts(zzow09,zzow10,zzow11);extended/certificates/nonstrict-verify-external-certificate.ts(zzow09)
```
Total elapsed time when running in parallel is approximately 3.5 hours on paper idealy if all parallel jobs are executing at the same time. In reality, from numerous tests performed, total elapsed time is around 4 hours.
@@ -121,7 +121,6 @@ Selected test running elapsed time:
| ---- | ------------ |
| Convenience Pax | 53m |
| SMPE PTF | 68m |
-| z/OS node v18 | 45m |
| z/OS node v20 | 45m |
| Keyring | 53m |
| Non-strict Verify External Certificate | 51m |
diff --git a/.github/workflows/cicd-test.yml b/.github/workflows/cicd-test.yml
index ca6ee6e670..91ce831b9a 100644
--- a/.github/workflows/cicd-test.yml
+++ b/.github/workflows/cicd-test.yml
@@ -31,7 +31,6 @@ on:
- SMPE PTF
- Extensions
- Keyring
- - z/OS node v18
- z/OS node v20
- Non-strict Verify External Certificate
- Install PTF Twice
@@ -69,8 +68,8 @@ env:
DEFAULT_ZOWE_EXT_ARTIFACTORY_PATTERN: libs-snapshot-local/org/zowe/{ext-name}/*/{ext-name}-*.pax
# below block can be overwritten, adjusted by DevOps only
- # ZOS_NODE_VERSION more to choose from: v16.20.1, v18.16.0
- ZOS_NODE_VERSION: v16.20.1
+ # ZOS_NODE_VERSION more to choose from: v18.16.0, v20.11.0
+ ZOS_NODE_VERSION: v18.16.0
CLIENT_NODE_VERSION: v12.18.3
INSTALL_TEST_DEBUG_INFORMATION: zowe-install-test:*
SANITY_TEST_DEBUG_INFORMATION: zowe-sanity-test:*
@@ -81,7 +80,6 @@ env:
SMPE_PTF_TESTFILE: basic/install-ptf.ts
EXTENSIONS_TESTFILE: basic/install-ext.ts
KEYRING_TESTFILE: extended/keyring.ts
- ZOS_NODE_V18_TESTFILE: extended/node-versions/node-v18.ts
ZOS_NODE_V20_TESTFILE: extended/node-versions/node-v20.ts
NON_STRICT_VERIFY_EXTERNAL_CERTIFICATE_TESTFILE: extended/certificates/nonstrict-verify-external-certificate.ts
INSTALL_PTF_TWICE_TESTFILE: extended/install-ptf-two-times.ts
@@ -298,9 +296,6 @@ jobs:
case 'Keyring':
eta = 53
break;
- case 'z/OS node v18':
- eta = 45
- break;
case 'z/OS node v20':
eta = 45
break;
diff --git a/.pax/pre-packaging.sh b/.pax/pre-packaging.sh
index cb17b8244b..201b9aac03 100755
--- a/.pax/pre-packaging.sh
+++ b/.pax/pre-packaging.sh
@@ -190,9 +190,10 @@ BASE_DIR=$(
pwd
) # /.pax
-# use node v16 to build
-export NODE_HOME=/ZOWE/node/node-v16.20.1-os390-s390x
-
+# use node v18 to build
+export NODE_HOME=/ZOWE/node/node-v18.16.0
+export JAVA_HOME=/ZOWE/node/J17.0_64
+export PATH=$JAVA_HOME/bin:$PATH
ZOWE_ROOT_DIR="${BASE_DIR}/content"
cd "${BASE_DIR}"
diff --git a/bin/libs/node.sh b/bin/libs/node.sh
index d457c76b2f..4782864d7d 100644
--- a/bin/libs/node.sh
+++ b/bin/libs/node.sh
@@ -22,7 +22,7 @@ export NODE_STDIN_CCSID=1047
# Workaround Fix for node 8.16.1 that requires compatibility mode for untagged files
export __UNTAGGED_READ_MODE=V6
-NODE_MIN=16
+NODE_MIN=18
ensure_node_is_on_path() {
if [[ ":${PATH}:" != *":${NODE_HOME}/bin:"* ]]; then
diff --git a/bin/libs/node.ts b/bin/libs/node.ts
index 3b20ccfd76..40880f5665 100644
--- a/bin/libs/node.ts
+++ b/bin/libs/node.ts
@@ -18,7 +18,7 @@ import * as shell from './shell';
import * as config from './config';
import { PathAPI as pathoid } from './pathoid';
-const NODE_MIN_VERSION=16;
+const NODE_MIN_VERSION=18;
// enforce encoding of stdio/stdout/stderr
// sometimes /dev/tty* ($SSH_TTY) are not configured properly, for example tagged as binary or wrong encoding
diff --git a/tests/installation/src/__tests__/extended/node-versions/node-v18.ts b/tests/installation/src/__tests__/extended/node-versions/node-v18.ts
deleted file mode 100644
index d6345a1df6..0000000000
--- a/tests/installation/src/__tests__/extended/node-versions/node-v18.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * This program and the accompanying materials are made available under the terms of the
- * Eclipse Public License v2.0 which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-v20.html
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Copyright IBM Corporation 2022
- */
-
-import {
- checkMandatoryEnvironmentVariables,
- installAndVerifyConvenienceBuild,
- showZoweRuntimeLogs,
-} from '../../../utils';
-import { TEST_TIMEOUT_CONVENIENCE_BUILD } from '../../../constants';
-
-// Only runs on zzow11 at time of change (04.2023). See cicd-test.yml and make_matrix.sh.
-const testServer = process.env.TEST_SERVER;
-const testSuiteName = 'Test convenience build installation with node.js v18';
-describe(testSuiteName, () => {
- beforeAll(() => {
- // validate variables
- checkMandatoryEnvironmentVariables([
- 'ZOWE_BUILD_LOCAL',
- ]);
- });
-
- test('install and verify', async () => {
- await installAndVerifyConvenienceBuild(
- testSuiteName,
- testServer,
- {
- 'zowe_build_local': process.env['ZOWE_BUILD_LOCAL'],
- 'zowe_custom_for_test': 'true',
- 'zos_node_home': '/ZOWE/node/node-v18.16.0',
- 'zowe_lock_keystore': 'false',
- }
- );
- }, TEST_TIMEOUT_CONVENIENCE_BUILD);
-
- afterAll(async () => {
- await showZoweRuntimeLogs(testServer);
- })
-});
From ad00d5126b50c4cbd8c028023dc9a89f2912a7b5 Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Mon, 9 Dec 2024 16:21:13 -0500
Subject: [PATCH 53/67] add node-v22 tests and add them to extended suite
Signed-off-by: MarkAckert
---
.github/scripts/cicd_test/make_matrix.sh | 4 ++
.github/workflows/cicd-test.yml | 4 +-
.../extended/node-versions/node-v22.ts | 44 +++++++++++++++++++
3 files changed, 51 insertions(+), 1 deletion(-)
create mode 100644 tests/installation/src/__tests__/extended/node-versions/node-v22.ts
diff --git a/.github/scripts/cicd_test/make_matrix.sh b/.github/scripts/cicd_test/make_matrix.sh
index 0af3d8cd77..4aea7a10ae 100644
--- a/.github/scripts/cicd_test/make_matrix.sh
+++ b/.github/scripts/cicd_test/make_matrix.sh
@@ -36,6 +36,10 @@ case $install_test_choice in
test_file="$ZOS_NODE_V20_TESTFILE"
;;
+"z/OS node v22")
+ test_file="$ZOS_NODE_V22_TESTFILE"
+ ;;
+
"Non-strict Verify External Certificate")
test_file="$NON_STRICT_VERIFY_EXTERNAL_CERTIFICATE_TESTFILE"
;;
diff --git a/.github/workflows/cicd-test.yml b/.github/workflows/cicd-test.yml
index 91ce831b9a..1cf8977285 100644
--- a/.github/workflows/cicd-test.yml
+++ b/.github/workflows/cicd-test.yml
@@ -32,6 +32,7 @@ on:
- Extensions
- Keyring
- z/OS node v20
+ - z/OS node v22
- Non-strict Verify External Certificate
- Install PTF Twice
- VSAM Caching Storage Method
@@ -81,6 +82,7 @@ env:
EXTENSIONS_TESTFILE: basic/install-ext.ts
KEYRING_TESTFILE: extended/keyring.ts
ZOS_NODE_V20_TESTFILE: extended/node-versions/node-v20.ts
+ ZOS_NODE_V22_TESTFILE: extended/node-versions/node-v22.ts
NON_STRICT_VERIFY_EXTERNAL_CERTIFICATE_TESTFILE: extended/certificates/nonstrict-verify-external-certificate.ts
INSTALL_PTF_TWICE_TESTFILE: extended/install-ptf-two-times.ts
VSAM_CACHING_STORAGE_METHOD_TESTFILE: extended/caching-storages/vsam-storage.ts
@@ -88,7 +90,7 @@ env:
CONFIG_MANAGER_TESTFILE: extended/config-manager/enable-config-manager.ts
GENERAL_API_DOCUMENTATION_TESTFILE: basic/install-api-gen.ts
ZOWE_NIGHTLY_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all)
- ZOWE_RELEASE_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all);basic/install-ext.ts(any);extended/keyring.ts(all);extended/node-versions/node-v18.ts(zzow11);extended/node-versions/node-v20.ts(any);extended/certificates/nonstrict-verify-external-certificate.ts(any);extended/caching-storages/infinispan-storage.ts(any);extended/config-manager/enable-config-manager.ts(any)
+ ZOWE_RELEASE_TESTS_FULL: basic/install.ts(all);basic/install-ptf.ts(all);basic/install-ext.ts(any);extended/keyring.ts(all);extended/node-versions/node-v20.ts(any);extended/node-versions/node-v22.ts(any);extended/certificates/nonstrict-verify-external-certificate.ts(any);extended/caching-storages/infinispan-storage.ts(any);extended/config-manager/enable-config-manager.ts(any)
jobs:
display-dispatch-event-id:
diff --git a/tests/installation/src/__tests__/extended/node-versions/node-v22.ts b/tests/installation/src/__tests__/extended/node-versions/node-v22.ts
new file mode 100644
index 0000000000..8375055f01
--- /dev/null
+++ b/tests/installation/src/__tests__/extended/node-versions/node-v22.ts
@@ -0,0 +1,44 @@
+/**
+ * This program and the accompanying materials are made available under the terms of the
+ * Eclipse Public License v2.0 which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-v20.html
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Copyright Zowe Contributors 2024
+ */
+
+import {
+ checkMandatoryEnvironmentVariables,
+ installAndVerifyConvenienceBuild,
+ showZoweRuntimeLogs,
+} from '../../../utils';
+import { TEST_TIMEOUT_CONVENIENCE_BUILD } from '../../../constants';
+
+const testServer = process.env.TEST_SERVER;
+const testSuiteName = 'Test convenience build installation with node.js v22';
+describe(testSuiteName, () => {
+ beforeAll(() => {
+ // validate variables
+ checkMandatoryEnvironmentVariables([
+ 'ZOWE_BUILD_LOCAL',
+ ]);
+ });
+
+ test('install and verify', async () => {
+ await installAndVerifyConvenienceBuild(
+ testSuiteName,
+ testServer,
+ {
+ 'zowe_build_local': process.env['ZOWE_BUILD_LOCAL'],
+ 'zowe_custom_for_test': 'true',
+ 'zos_node_home': '/ZOWE/node/node-v22.10.0',
+ 'zowe_lock_keystore': 'false',
+ }
+ );
+ }, TEST_TIMEOUT_CONVENIENCE_BUILD);
+
+ afterAll(async () => {
+ await showZoweRuntimeLogs(testServer);
+ })
+});
From 7491d3dd02fe6a0d091a7abd363b7a755a250af9 Mon Sep 17 00:00:00 2001
From: Mark Ackert <35308966+MarkAckert@users.noreply.github.com>
Date: Tue, 10 Dec 2024 13:51:50 -0500
Subject: [PATCH 54/67] Merge pull request #4104 from
zowe/user/markackert/dead-link-checker
Dead Link Checker
Signed-off-by: MarkAckert
---
.github/lychee.toml | 12 ++++++++
.github/workflows/link-check.yml | 49 ++++++++++++++++++++++++++++++++
workflows/files/ZWELOADC.xml | 8 +++---
3 files changed, 65 insertions(+), 4 deletions(-)
create mode 100644 .github/lychee.toml
create mode 100644 .github/workflows/link-check.yml
diff --git a/.github/lychee.toml b/.github/lychee.toml
new file mode 100644
index 0000000000..d256ce025a
--- /dev/null
+++ b/.github/lychee.toml
@@ -0,0 +1,12 @@
+# This lychee configuration tries to find dead links in zwe, pswi, and smpe files which may be displayed to the user.
+# This does not focus on dead links for internal-facing documentation, e.g. README.md.
+
+# We're including language sources as well as document files since the language sources embed URLs
+# which can be displayed to the user, e.g. 'zwe' shell script commands displaying help information.
+
+exclude_path = ['smpe/bld/service/_README_sample_sysmod_builds.docx']
+# This exclude list covers known urls which should be ignored, including ones which contained
+# templated values in typescript. The templates are covered by a wildcard.
+exclude = [ 'https://www.eclipse.org/legal/epl-v20.html', 'https://zowe.org/schemas/*', 'https://www.zowe.org/schemas/*', 'https://discovery', 'https://github.com/zowe/launcher/blob/*', 'https://myregistry/url$', 'https://your-zos-host-name/zosmf/*{1,60}', '^http://service.software.ibm.com/holdata/390holddata.html', ]
+
+hidden = true
diff --git a/.github/workflows/link-check.yml b/.github/workflows/link-check.yml
new file mode 100644
index 0000000000..d11b069c7a
--- /dev/null
+++ b/.github/workflows/link-check.yml
@@ -0,0 +1,49 @@
+# This link checker focuses on covering end-user facing links, not developer documentation.
+# This means we cover the smp/e, pswi, and zwe content.
+# The lychee toml files are set to ignore links which popped up in comments or variables.
+permissions: read-all
+
+name: Link Check CI
+
+on:
+ pull_request:
+ types: [opened, synchronize]
+ push:
+ branches:
+ - 'v3.x/staging'
+ - 'v2.x/staging'
+ workflow_dispatch:
+
+jobs:
+ lychee-link-check:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+
+ - name: Link Checker
+ id: lychee
+ uses: lycheeverse/lychee-action@f81112d0d2814ded911bd23e3beaa9dda9093915 # v2.1.0
+ with:
+ fail: true
+ format: json
+ output: lychee_output.json
+ args: --config ./.github/lychee.toml --no-progress --verbose --max-retries 10 'bin/**/*' 'smpe/**/*' 'workflows/**/*'
+
+ - name: Output failed links in console
+ id: quick-output
+ if: always()
+ run: |
+ if [[ -f "lychee_output.json" ]]; then
+ jq .fail_map lychee_output.json
+ else
+ echo "lychee command failed and didn't produce output"
+ fi
+
+ - name: Publish Output
+ id: publish
+ if: always()
+ uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882
+ with:
+ name: lychee_results.json
+ path: lychee_output.json
diff --git a/workflows/files/ZWELOADC.xml b/workflows/files/ZWELOADC.xml
index c823b2b813..786e28fb37 100644
--- a/workflows/files/ZWELOADC.xml
+++ b/workflows/files/ZWELOADC.xml
@@ -192,7 +192,7 @@
Use this step to define the variables for RACF.
]]>
1
@@ -252,7 +252,7 @@
Use this step to define the variables for ACF2.
For more information about security system setup and it's variables, please open via right-click in new tab or window and refer to security documentation
- configure ACF2 security certificates.
+ configure ACF2 security certificates.
]]>1Security Administrator
@@ -367,7 +367,7 @@
This step will load signed client authentication certificate from the ${instance-output_dataset} into ESM
]]>1
@@ -452,7 +452,7 @@ DCDSN(${instance-output_dataset}) TRUST
This step will load signed client authentication certificate from the ${instance-output_dataset} into ESM
For more information about security system setup and it's variables, please open via right-click in new tab or window and refer to security documentation
- configure ACF2 security certificates.
+ configure ACF2 security certificates.
]]>1Security Administrator
From 63d5d584ca87d0d6c6aa598c717f9619bf51ecb0 Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Tue, 10 Dec 2024 15:05:30 -0500
Subject: [PATCH 55/67] keep java8 for v2 pax build
Signed-off-by: MarkAckert
---
.pax/pre-packaging.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.pax/pre-packaging.sh b/.pax/pre-packaging.sh
index 201b9aac03..dd95ee81f5 100755
--- a/.pax/pre-packaging.sh
+++ b/.pax/pre-packaging.sh
@@ -192,7 +192,7 @@ BASE_DIR=$(
# use node v18 to build
export NODE_HOME=/ZOWE/node/node-v18.16.0
-export JAVA_HOME=/ZOWE/node/J17.0_64
+export JAVA_HOME=/ZOWE/node/J8.0_64
export PATH=$JAVA_HOME/bin:$PATH
ZOWE_ROOT_DIR="${BASE_DIR}/content"
From 242f9a7df17263d0cb6af21a1c6e1d9bfc58a7d9 Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Tue, 10 Dec 2024 15:07:23 -0500
Subject: [PATCH 56/67] control JAVA_HOME in playbooks, rather than relying on
remote system profile
Signed-off-by: MarkAckert
---
playbooks/group_vars/marist.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/playbooks/group_vars/marist.yml b/playbooks/group_vars/marist.yml
index d6eed7dbfc..92ff54eb00 100644
--- a/playbooks/group_vars/marist.yml
+++ b/playbooks/group_vars/marist.yml
@@ -9,6 +9,7 @@ zowe_keystore_dir: /ZOWE/tmp/keystore
zowe_install_logs_dir: /ZOWE/tmp/logs
zowe_dataset_prefix: ZOWEAD3.ZWE
zowe_apiml_verify_certficates_of_services: false
+zos_java_home: /ZOWE/node/J8.0_64
# enable Non-Strict verify certificates by default
zowe_apiml_nonstrict_verify_certficates_of_services: true
zowe_jcllib: ZOWEAD3.ZWE.JCLLIB
From d0b528a1911904a12bef821637f4630881811c9e Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Thu, 12 Dec 2024 15:51:33 -0500
Subject: [PATCH 57/67] fix NODE_HOME_PATTERN
Signed-off-by: MarkAckert
---
.../cicd_test/prep7_more_test_prep/06_process_outputs.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/scripts/cicd_test/prep7_more_test_prep/06_process_outputs.sh b/.github/scripts/cicd_test/prep7_more_test_prep/06_process_outputs.sh
index bce1d40594..89d12cf135 100644
--- a/.github/scripts/cicd_test/prep7_more_test_prep/06_process_outputs.sh
+++ b/.github/scripts/cicd_test/prep7_more_test_prep/06_process_outputs.sh
@@ -13,7 +13,7 @@
# Set outputs
echo ZOWE_ARTIFACTORY_FINAL=$ZOWE_ARTIFACTORY_FINAL >>$GITHUB_OUTPUT
echo ZOWE_ARTIFACTORY_FINAL_FILENAME=$ZOWE_ARTIFACTORY_FINAL_FILENAME >>$GITHUB_OUTPUT
-echo NODE_HOME_PATTERN=/ZOWE/node/node-$ZOS_NODE_VERSION-os390-s390x >>$GITHUB_OUTPUT
+echo NODE_HOME_PATTERN=/ZOWE/node/node-$ZOS_NODE_VERSION >>$GITHUB_OUTPUT
echo TEST_SERVER=$TEST_SERVER >>$GITHUB_OUTPUT
echo TEST_SERVER_NICKNAME=$TEST_SERVER_NICKNAME >>$GITHUB_OUTPUT
echo EXTENSION_LIST=$EXTENSION_LIST >>$GITHUB_OUTPUT
From 2f65256342ece493fb533ffeb2ff3a0d51eaef61 Mon Sep 17 00:00:00 2001
From: ojcelis <84936499+ojcelis@users.noreply.github.com>
Date: Mon, 16 Dec 2024 15:34:50 -0500
Subject: [PATCH 58/67] Add new extended test cases - Zowe v2 and Java 11
(#3571)
* add new java 11 test cases
Signed-off-by: ojcelis
* update typo
Signed-off-by: ojcelis
* update where to get utils and constants
Signed-off-by: ojcelis
* missed the other folder
Signed-off-by: ojcelis
* update indentation
Signed-off-by: ojcelis
* update last lint errors
Signed-off-by: ojcelis
* update make matrix
Signed-off-by: ojcelis
* JAVA 17 install pax test
Signed-off-by: ojcelis
* remove java 17 and 11+pax tests
Signed-off-by: MarkAckert
* cleanup some merge issues
Signed-off-by: MarkAckert
---------
Signed-off-by: ojcelis
Signed-off-by: MarkAckert
Co-authored-by: MarkAckert
---
.github/scripts/cicd_test/make_matrix.sh | 8 +++
.github/workflows/cicd-test-readme.md | 6 +++
.github/workflows/cicd-test.yml | 10 ++++
.../java-versions/java11/install-keyring.ts | 50 +++++++++++++++++++
.../java-versions/java11/install-pax.ts | 45 +++++++++++++++++
5 files changed, 119 insertions(+)
create mode 100644 tests/installation/src/__tests__/extended/java-versions/java11/install-keyring.ts
create mode 100644 tests/installation/src/__tests__/extended/java-versions/java11/install-pax.ts
diff --git a/.github/scripts/cicd_test/make_matrix.sh b/.github/scripts/cicd_test/make_matrix.sh
index 4aea7a10ae..eee2b97757 100644
--- a/.github/scripts/cicd_test/make_matrix.sh
+++ b/.github/scripts/cicd_test/make_matrix.sh
@@ -36,6 +36,14 @@ case $install_test_choice in
test_file="$ZOS_NODE_V20_TESTFILE"
;;
+"z/OS java 11 Pax")
+ test_file="$ZOS_JAVA_11_PAX_TESTFILE"
+ ;;
+
+"z/OS java 11 Keyring")
+ test_file="$ZOS_JAVA_11_KYRNG_TESTFILE"
+ ;;
+
"z/OS node v22")
test_file="$ZOS_NODE_V22_TESTFILE"
;;
diff --git a/.github/workflows/cicd-test-readme.md b/.github/workflows/cicd-test-readme.md
index 7e4b80d984..6867fd2979 100644
--- a/.github/workflows/cicd-test-readme.md
+++ b/.github/workflows/cicd-test-readme.md
@@ -29,6 +29,8 @@ Workflow trigger is at [cicd-test](https://github.com/zowe/zowe-install-packagin
- SMPE PTF
- Extensions
- Keyring
+ - z/OS java 11 Pax
+ - z/OS java 11 Keyring
- z/OS node v20
- Non-strict Verify External Certificate
- Install PTF twice
@@ -121,7 +123,11 @@ Selected test running elapsed time:
| ---- | ------------ |
| Convenience Pax | 53m |
| SMPE PTF | 68m |
+| Keyring | 53m |
| z/OS node v20 | 45m |
+| z/OS node v22 | 45m |
+| z/OS java 11 Pax | 53m |
+| z/OS java 11 Keyring | 53m |
| Keyring | 53m |
| Non-strict Verify External Certificate | 51m |
| Extensions | 67m
diff --git a/.github/workflows/cicd-test.yml b/.github/workflows/cicd-test.yml
index 1cf8977285..90c1084105 100644
--- a/.github/workflows/cicd-test.yml
+++ b/.github/workflows/cicd-test.yml
@@ -33,6 +33,8 @@ on:
- Keyring
- z/OS node v20
- z/OS node v22
+ - z/OS java 11 Pax
+ - z/OS java 11 Keyring
- Non-strict Verify External Certificate
- Install PTF Twice
- VSAM Caching Storage Method
@@ -83,6 +85,8 @@ env:
KEYRING_TESTFILE: extended/keyring.ts
ZOS_NODE_V20_TESTFILE: extended/node-versions/node-v20.ts
ZOS_NODE_V22_TESTFILE: extended/node-versions/node-v22.ts
+ ZOS_JAVA_11_PAX_TESTFILE: extended/java-versions/java11/install-pax.ts
+ ZOS_JAVA_11_KYRNG_TESTFILE: extended/java-versions/java11/install-keyring.ts
NON_STRICT_VERIFY_EXTERNAL_CERTIFICATE_TESTFILE: extended/certificates/nonstrict-verify-external-certificate.ts
INSTALL_PTF_TWICE_TESTFILE: extended/install-ptf-two-times.ts
VSAM_CACHING_STORAGE_METHOD_TESTFILE: extended/caching-storages/vsam-storage.ts
@@ -301,6 +305,12 @@ jobs:
case 'z/OS node v20':
eta = 45
break;
+ case 'z/OS java 11 Pax':
+ eta = 53
+ break;
+ case 'z/OS java 11 Keyring':
+ eta = 53
+ break;q
case 'Infinispan Caching Storage Method':
eta = 51
break;
diff --git a/tests/installation/src/__tests__/extended/java-versions/java11/install-keyring.ts b/tests/installation/src/__tests__/extended/java-versions/java11/install-keyring.ts
new file mode 100644
index 0000000000..30e2651bce
--- /dev/null
+++ b/tests/installation/src/__tests__/extended/java-versions/java11/install-keyring.ts
@@ -0,0 +1,50 @@
+/**
+ * This program and the accompanying materials are made available under the terms of the
+ * Eclipse Public License v2.0 which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-v20.html
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Copyright IBM Corporation 2020
+ */
+
+import {
+ checkMandatoryEnvironmentVariables,
+ installAndVerifyConvenienceBuild,
+ showZoweRuntimeLogs,
+} from '../../../../utils';
+import {
+ TEST_TIMEOUT_CONVENIENCE_BUILD,
+ KEYSTORE_MODE_KEYRING,
+} from '../../../../constants';
+
+const testServer = process.env.TEST_SERVER;
+const testSuiteName = 'Test convenience build installation by enabling VERIFY_CERTIFICATES with java 11';
+describe(testSuiteName, () => {
+ beforeAll(() => {
+ // validate variables
+ checkMandatoryEnvironmentVariables([
+ 'TEST_SERVER',
+ 'ZOWE_BUILD_LOCAL',
+ ]);
+ });
+
+ test('install and verify', async () => {
+ await installAndVerifyConvenienceBuild(
+ testSuiteName,
+ testServer,
+ {
+ 'zowe_build_local': process.env['ZOWE_BUILD_LOCAL'],
+ 'zowe_custom_for_test': 'true',
+ 'zos_keystore_mode': KEYSTORE_MODE_KEYRING,
+ 'zos_java_home': '/ZOWE/node/J11.0_64',
+ 'zowe_lock_keystore': 'false',
+ }
+ );
+ }, TEST_TIMEOUT_CONVENIENCE_BUILD);
+
+ afterAll(async () => {
+ await showZoweRuntimeLogs(testServer);
+ })
+});
+
\ No newline at end of file
diff --git a/tests/installation/src/__tests__/extended/java-versions/java11/install-pax.ts b/tests/installation/src/__tests__/extended/java-versions/java11/install-pax.ts
new file mode 100644
index 0000000000..bfcd461b8b
--- /dev/null
+++ b/tests/installation/src/__tests__/extended/java-versions/java11/install-pax.ts
@@ -0,0 +1,45 @@
+/**
+ * This program and the accompanying materials are made available under the terms of the
+ * Eclipse Public License v2.0 which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-v20.html
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Copyright IBM Corporation 2020
+ */
+
+import {
+ checkMandatoryEnvironmentVariables,
+ installAndVerifyConvenienceBuild,
+ showZoweRuntimeLogs,
+} from '../../../../utils';
+import {TEST_TIMEOUT_CONVENIENCE_BUILD} from '../../../../constants';
+
+const testSuiteName = 'Test convenience build installation with java 11';
+describe(testSuiteName, () => {
+ beforeAll(() => {
+ // validate variables
+ checkMandatoryEnvironmentVariables([
+ 'TEST_SERVER',
+ 'ZOWE_BUILD_LOCAL',
+ ]);
+ });
+
+ test('install and verify', async () => {
+ await installAndVerifyConvenienceBuild(
+ testSuiteName,
+ process.env.TEST_SERVER,
+ {
+ 'zowe_build_local': process.env['ZOWE_BUILD_LOCAL'],
+ 'zowe_custom_for_test': 'true',
+ 'zos_java_home': '/ZOWE/node/J11.0_64',
+ 'zowe_lock_keystore': 'false',
+ }
+ );
+ }, TEST_TIMEOUT_CONVENIENCE_BUILD);
+
+ afterAll(async () => {
+ await showZoweRuntimeLogs(process.env.TEST_SERVER);
+ })
+});
+
\ No newline at end of file
From 09ab26c7252993bc6a62ee1bd534f9330c23671c Mon Sep 17 00:00:00 2001
From: 1000TurquoisePogs
Date: Thu, 9 Jan 2025 15:35:53 +0100
Subject: [PATCH 59/67] Print error message on invalid extension install
package (v2) (#4122)
* Update index.ts
Signed-off-by: 1000TurquoisePogs
* Update .errors
Signed-off-by: 1000TurquoisePogs
---------
Signed-off-by: 1000TurquoisePogs
---
bin/commands/components/install/extract/.errors | 3 ++-
bin/commands/components/install/extract/index.ts | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/bin/commands/components/install/extract/.errors b/bin/commands/components/install/extract/.errors
index 6d8180c649..cad360418d 100644
--- a/bin/commands/components/install/extract/.errors
+++ b/bin/commands/components/install/extract/.errors
@@ -4,4 +4,5 @@ ZWEL0154E|154|Temporary directory is empty.
ZWEL0155E|155|Component %s already exists in %s. If you meant to upgrade this component, run the command 'zwe components upgrade' instead.
ZWEL0167E|167|Cannot find component name from %s package manifest.
ZWEL0204E|204|Symlink creation failure, error=%s
-ZWEL0313E|313|Cannot file component file %s.
+ZWEL0313E|313|Cannot find component file %s.
+ZWEL0318E|318|File extension invalid. Supported file extensions: .pax, .tar, .zip
diff --git a/bin/commands/components/install/extract/index.ts b/bin/commands/components/install/extract/index.ts
index 9a7685904d..5da6d0b660 100644
--- a/bin/commands/components/install/extract/index.ts
+++ b/bin/commands/components/install/extract/index.ts
@@ -98,6 +98,8 @@ export function execute(componentFile: string, autoEncoding?: string, upgrade?:
result = shell.execSync('sh', '-c', `cd ${tmpDir} && jar xf ${componentFile}`);
} else if (componentFile.endsWith('.tar')) {
result = shell.execSync('sh', '-c', `_CEE_RUNOPTS="FILETAG() POSIX(ON)" cd ${tmpDir} && pax -x tar -rf "${componentFile}"`);
+ } else {
+ common.printErrorAndExit(`Error ZWEL0318E File extension invalid. Supported file extensions: .pax, .tar, .zip`, undefined, 318);
}
if (result.rc) {
common.printError(`Extract completed with rc=${result.rc}`);
@@ -106,7 +108,7 @@ export function execute(componentFile: string, autoEncoding?: string, upgrade?:
result = shell.execOutSync('sh', '-c', `cd ${tmpDir} && ls -la 2>&1`);
common.printTrace(stringlib.paddingLeft(result.out, " "));
} else {
- common.printErrorAndExit(`Error ZWEL0313E: Cannot file component file ${componentFile}.`, undefined, 313);
+ common.printErrorAndExit(`Error ZWEL0313E: Cannot find component file ${componentFile}.`, undefined, 313);
}
// automatically tag files
From 7a0543cac9d91a649bda767a128db023a6c6d63a Mon Sep 17 00:00:00 2001
From: 1000TurquoisePogs
Date: Thu, 9 Jan 2025 17:18:36 +0100
Subject: [PATCH 60/67] Explain missing nodeJS error better (v2) (#4124)
* Update json.sh
Signed-off-by: 1000TurquoisePogs
* Update .errors
Signed-off-by: 1000TurquoisePogs
* Update json.sh
Signed-off-by: 1000TurquoisePogs
---------
Signed-off-by: 1000TurquoisePogs
---
bin/commands/.errors | 3 ++-
bin/libs/json.sh | 7 +++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/bin/commands/.errors b/bin/commands/.errors
index 89b56b008f..b41af191c9 100644
--- a/bin/commands/.errors
+++ b/bin/commands/.errors
@@ -32,4 +32,5 @@ ZWEL0200E||Failed to copy USS file %s to MVS data set %s.
ZWEL0201E||File %s does not exist.
ZWEL0202E||Unable to find samplib key for %s.
ZWEL0203E||Env value in key-value pair %s has not been defined.
-ZWEL0316E||Command requires zowe.useConfigmgr=true to use.
\ No newline at end of file
+ZWEL0316E||Command requires zowe.useConfigmgr=true to use.
+ZWEL0319E||NodeJS required but not found. Errors such as ZWEL0157E may occur as a result. The value 'node.home' in the Zowe YAML is not correct.
diff --git a/bin/libs/json.sh b/bin/libs/json.sh
index 5b5342a4a3..bf41777c1a 100644
--- a/bin/libs/json.sh
+++ b/bin/libs/json.sh
@@ -83,6 +83,13 @@ read_yaml() {
code=$?
print_trace " * Exit code: ${code}"
if [ ${code} -ne 0 ]; then
+ # Check for "node ... FSUM7351 not found". Common user error that we can solve more quickly by providing advice below.
+ missing_id_check=$(echo "${ZWE_PRIVATE_YAML_CACHE}" | grep "FSUM7351" 2>&1)
+ if [ -n "${missing_id_check}" ]; then
+ print_error "Error ZWEL0319E: NodeJS required but not found. Errors such as ZWEL0157E may occur as a result."
+ print_error "The value 'node.home' in the Zowe YAML is not correct. Set it to the parent directory of 'bin/node'."
+ print_error "For example, if NodeJS is at '/opt/nodejs/bin/node', then set 'node.home' to '/opt/nodejs'."
+ fi
print_error " * Output:"
print_error "$(padding_left "${ZWE_PRIVATE_YAML_CACHE}" " ")"
return ${code}
From 31aba0c9179d16e3f5db8a3f7cf880730258da67 Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Wed, 22 Jan 2025 10:33:29 -0500
Subject: [PATCH 61/67] add "-O" to scp commands used in automation (ubuntu-24
compat)
Signed-off-by: MarkAckert
---
playbooks/roles/common/templates/scp.with-key.sh.j2 | 2 +-
playbooks/roles/common/templates/scp.with-pwd.sh.j2 | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/playbooks/roles/common/templates/scp.with-key.sh.j2 b/playbooks/roles/common/templates/scp.with-key.sh.j2
index e4eb9b7891..c61ac836c1 100644
--- a/playbooks/roles/common/templates/scp.with-key.sh.j2
+++ b/playbooks/roles/common/templates/scp.with-key.sh.j2
@@ -4,4 +4,4 @@ FILE_LOCAL=$1
FILE_REMOTE=$2
echo "SCP $FILE_LOCAL ==> $FILE_REMOTE"
-scp -oHostKeyAlgorithms=+ssh-rsa -P {{ hostvars[inventory_hostname].ansible_port | default('22') }} -i {{ hostvars[inventory_hostname].ansible_ssh_private_key_file }} $FILE_LOCAL {{ hostvars[inventory_hostname].ansible_user }}@{{ hostvars[inventory_hostname].ansible_ssh_host }}:$FILE_REMOTE
+scp -O -oHostKeyAlgorithms=+ssh-rsa -P {{ hostvars[inventory_hostname].ansible_port | default('22') }} -i {{ hostvars[inventory_hostname].ansible_ssh_private_key_file }} $FILE_LOCAL {{ hostvars[inventory_hostname].ansible_user }}@{{ hostvars[inventory_hostname].ansible_ssh_host }}:$FILE_REMOTE
diff --git a/playbooks/roles/common/templates/scp.with-pwd.sh.j2 b/playbooks/roles/common/templates/scp.with-pwd.sh.j2
index 7a3c48bf9a..d522b3bebe 100644
--- a/playbooks/roles/common/templates/scp.with-pwd.sh.j2
+++ b/playbooks/roles/common/templates/scp.with-pwd.sh.j2
@@ -4,4 +4,4 @@ FILE_LOCAL=$1
FILE_REMOTE=$2
echo "SCP $FILE_LOCAL ==> $FILE_REMOTE"
-sshpass -p "{{ hostvars[inventory_hostname].ansible_password }}" scp -oHostKeyAlgorithms=+ssh-rsa -P {{ hostvars[inventory_hostname].ansible_port | default('22') }} $FILE_LOCAL {{ hostvars[inventory_hostname].ansible_user }}@{{ hostvars[inventory_hostname].ansible_ssh_host }}:$FILE_REMOTE
+sshpass -p "{{ hostvars[inventory_hostname].ansible_password }}" scp -O -oHostKeyAlgorithms=+ssh-rsa -P {{ hostvars[inventory_hostname].ansible_port | default('22') }} $FILE_LOCAL {{ hostvars[inventory_hostname].ansible_user }}@{{ hostvars[inventory_hostname].ansible_ssh_host }}:$FILE_REMOTE
From 09f6ffeddc16b1b14b447226f309a54560f67526 Mon Sep 17 00:00:00 2001
From: MarkAckert
Date: Wed, 22 Jan 2025 10:35:10 -0500
Subject: [PATCH 62/67] update upload-artifact to v4
Signed-off-by: MarkAckert
---
.github/workflows/cicd-test.yml | 2 +-
.github/workflows/diff-schema.yml | 2 +-
.github/workflows/diff-yaml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/cicd-test.yml b/.github/workflows/cicd-test.yml
index 90c1084105..2d189b10b5 100644
--- a/.github/workflows/cicd-test.yml
+++ b/.github/workflows/cicd-test.yml
@@ -392,7 +392,7 @@ jobs:
- name: '[After Test 2] Upload test report'
if: always()
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: InstallTestReports-${{ env.TEST_NAME }}-${{ steps.more-test-prep.outputs.TEST_SERVER_NICKNAME }}-${{ github.run_id }}-${{ env.CURRENT_TIME }}
path: ${{ env.INSTALL_TEST_PATH }}/reports/
diff --git a/.github/workflows/diff-schema.yml b/.github/workflows/diff-schema.yml
index ae8c8c4db7..3e47227461 100644
--- a/.github/workflows/diff-schema.yml
+++ b/.github/workflows/diff-schema.yml
@@ -34,7 +34,7 @@ jobs:
- name: '[Build] Make diff'
run: git diff ${{ env.FROM }} ${{ env.TO }} -- schemas > schemas.diff
- name: '[Upload]'
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: schemas.diff
path: schemas.diff
diff --git a/.github/workflows/diff-yaml b/.github/workflows/diff-yaml
index 52212e980a..032656ef78 100644
--- a/.github/workflows/diff-yaml
+++ b/.github/workflows/diff-yaml
@@ -34,7 +34,7 @@ jobs:
- name: '[Build] Make diff'
run: git diff ${{ env.FROM }} ${{ env.TO }} -- example-zowe.yaml > example-yaml.diff
- name: '[Upload]'
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
name: example-yaml.diff
path: example-yaml.diff
From 4f6b56e31822ef42111e7fae615d1513b2d334c1 Mon Sep 17 00:00:00 2001
From: Pablo Carle
Date: Tue, 4 Feb 2025 16:10:02 +0100
Subject: [PATCH 63/67] pick from v3 (#4164)
Signed-off-by: Pablo Carle
Co-authored-by: Pablo Carle
---
bin/libs/component.ts | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/bin/libs/component.ts b/bin/libs/component.ts
index 457a12364c..39f2de2176 100644
--- a/bin/libs/component.ts
+++ b/bin/libs/component.ts
@@ -387,6 +387,32 @@ export function findAllLaunchComponents2(): string[] {
});
}
+function getBooleanEnv(variableName) {
+ const value = std.getenv(`${variableName}`);
+ if (value === "true") {
+ return true
+ }
+ if (value === "false") {
+ return false
+ }
+ return undefined
+}
+
+
+function isClientAttls() {
+ const clientGlobalAttls = getBooleanEnv('ZWE_zowe_network_client_tls_attls');
+ const serverGlobalAttls = getBooleanEnv('ZWE_zowe_network_server_tls_attls');
+ const clientLocalAttls = getBooleanEnv('ZWE_components_zaas_zowe_network_client_tls_attls');
+ const serverLocalAttls = getBooleanEnv('ZWE_components_zaas_zowe_network_server_tls_attls');
+ const clientAttls = clientGlobalAttls || clientLocalAttls;
+ if ((clientGlobalAttls !== false) && (clientLocalAttls !== false) && (!clientAttls)) {
+ // If client attls not explicitly false OR truthy, have client follow server attls variable. it simplifies common case in which users want both.
+ return serverGlobalAttls || serverLocalAttls;
+ } else {
+ return clientAttls;
+ }
+}
+
export function processComponentApimlStaticDefinitions(componentDir: string): boolean {
const STATIC_DEF_DIR=std.getenv('ZWE_STATIC_DEFINITIONS_DIR');
if (!STATIC_DEF_DIR) {
@@ -418,6 +444,22 @@ export function processComponentApimlStaticDefinitions(componentDir: string): bo
const contents = xplatform.loadFileUTF8(path,xplatform.AUTO_DETECT);
if (contents) {
+ const zosmfScheme = std.getenv("ZOSMF_SCHEME");
+ const attls = isClientAttls()
+ const schemeEnv = std.getenv("ZWE_zOSMF_scheme");
+
+ let scheme = "https";
+
+ if (zosmfScheme) {
+ scheme = zosmfScheme;
+ } else if (schemeEnv) {
+ scheme = schemeEnv;
+ } else if (attls) {
+ scheme = "http";
+ }
+
+ std.setenv('ZOSMF_SCHEME', scheme);
+
const resolvedContents = varlib.resolveShellTemplate(contents);
const zweCliParameterHaInstance=std.getenv("ZWE_CLI_PARAMETER_HA_INSTANCE");
From f048cde955570cb6a30854d9052750d2440c5820 Mon Sep 17 00:00:00 2001
From: Mark Ackert <35308966+MarkAckert@users.noreply.github.com>
Date: Mon, 10 Feb 2025 09:58:43 -0500
Subject: [PATCH 64/67] Fix v2 PTF Failures (#4178)
* increase verbosity
Signed-off-by: MarkAckert
* empty commit (trigger build)
Signed-off-by: MarkAckert
* add var to holddata step (no longer implicit)
Signed-off-by: MarkAckert
* Revert "increase verbosity"
This reverts commit 6e3e2d1664428b3607600260e8253072642a53ed.
Signed-off-by: MarkAckert
* Revert "empty commit (trigger build)"
This reverts commit a0f91b30d8014e3d12a61ae579ad3c107687e5e4.
Signed-off-by: MarkAckert
---------
Signed-off-by: MarkAckert
---
playbooks/roles/ptf/tasks/main.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/playbooks/roles/ptf/tasks/main.yml b/playbooks/roles/ptf/tasks/main.yml
index f8cd402414..539484efdc 100644
--- a/playbooks/roles/ptf/tasks/main.yml
+++ b/playbooks/roles/ptf/tasks/main.yml
@@ -128,6 +128,8 @@
dest: "{{ work_dir_local }}/{{ inventory_hostname }}/HOLDDATA.jcl"
newline_sequence: '\n'
mode: 0700
+ vars:
+ smpe_csi: "{{ zowe_smpe_hlq_csi }}.CSI"
delegate_to: localhost
- name: Upload HOLDDATA.jcl to server
From 501f4a13ae247a2ace0d8715a57e8e42046333e1 Mon Sep 17 00:00:00 2001
From: pavelzlatnik <45940302+pavelzlatnik@users.noreply.github.com>
Date: Mon, 10 Feb 2025 17:25:45 +0100
Subject: [PATCH 65/67] Retrofit workflows changes from Zowe V3 RC3 (new API ML
workflow included) (#4176)
* initAPIMLwf2x
Signed-off-by: Pavel Zlatnik
* iteration1
Signed-off-by: Pavel Zlatnik
* iteration2
Signed-off-by: Pavel Zlatnik
* signcomit
Signed-off-by: Pavel Zlatnik
* set debugs to flase
Signed-off-by: Pavel Zlatnik
* lastComponents
Signed-off-by: Pavel Zlatnik
* port reorder
Signed-off-by: Pavel Zlatnik
* wf version based on pipeline
Signed-off-by: Pavel Zlatnik
* signof
Signed-off-by: Pavel Zlatnik
* packaging pswi v2
Signed-off-by: Pavel Zlatnik
* apiml wf logic changes
Signed-off-by: Pavel Zlatnik
* proper apiml wording
Signed-off-by: Pavel Zlatnik
* zowe conf update
Signed-off-by: Pavel Zlatnik
---------
Signed-off-by: Pavel Zlatnik
Co-authored-by: Mark Ackert <35308966+MarkAckert@users.noreply.github.com>
---
example-zowe.yaml | 2 +-
pswi/03_create.sh | 8 +-
pswi/scripts/deploy_test_2_3.py | 9 +-
workflows/files/ZWEAMLCF.xml | 1433 +++++++++++++++++++++++++++++++
workflows/files/ZWECONF.xml | 65 +-
5 files changed, 1470 insertions(+), 47 deletions(-)
create mode 100644 workflows/files/ZWEAMLCF.xml
diff --git a/example-zowe.yaml b/example-zowe.yaml
index b70fbc81e8..11444cd9d6 100644
--- a/example-zowe.yaml
+++ b/example-zowe.yaml
@@ -39,7 +39,7 @@ zowe:
# MVS data set related configurations
dataset:
# **COMMONLY_CUSTOMIZED**
- # where are existing Zowe SZWEEXEC Target libraries
+ # where Zowe MVS data sets will be installed
prefix: IBMUSER.ZWEV2
# **COMMONLY_CUSTOMIZED**
# PROCLIB where Zowe STCs will be copied over
diff --git a/pswi/03_create.sh b/pswi/03_create.sh
index 0e79707819..49b218da98 100644
--- a/pswi/03_create.sh
+++ b/pswi/03_create.sh
@@ -28,7 +28,8 @@ echo "z/OSMF version :" $ZOSMF_V
# JSONs
ADD_SWI_JSON='{"name":"'${SWI_NAME}'","system":"'${ZOSMF_SYSTEM}'","description":"ZOWE v'${VERSION}' Portable Software Instance",
"globalzone":"'${GLOBAL_ZONE}'","targetzones":["'${TZONE}'"],"workflows":[{"name":"ZOWE Mount Workflow","description":"This workflow performs mount action of ZOWE zFS.",
-"location": {"dsname":"'${WORKFLOW_DSN}'(ZWEWRF02)"}},{"name":"ZOWE Configuration of Zowe 2.0","description":"This workflow configures Zowe v2.0.",
+"location": {"dsname":"'${WORKFLOW_DSN}'(ZWEWRF02)"}},{"name":"Stand-alone Zowe API ML Configuration","description":"This workflow configures only API ML for Zowe 2.0.",
+"location": {"dsname":"'${WORKFLOW_DSN}'(ZWEAMLCF)"}},{"name":"Full Zowe server-side configuration for Zowe 2.0","description":"This workflow configures all Zowe server-side components for Zowe v2.0.",
"location": {"dsname":"'${WORKFLOW_DSN}'(ZWECONF)"}},{"name":"ZOWE Creation of CSR request workflow","description":"This workflow creates a certificate sign request.",
"location": {"dsname":"'${WORKFLOW_DSN}'(ZWECRECR)"}},{"name":"ZOWE Sign a CSR request","description":"This workflow signs the certificate sign request by a local CA.",
"location": {"dsname":"'${WORKFLOW_DSN}'(ZWESIGNC)"}},{"name":"ZOWE Load Authentication Certificate into ESM","description":"This workflow loads a signed client authentication certificate to the ESM.",
@@ -145,6 +146,11 @@ echo "target=\"//'${WORKFLOW_DSN}(ZWESIGNC)'\";" >>JCL
echo "iconv -f ISO8859-1 -t IBM-1047 \$source > _ZWESIGNC;" >>JCL
echo "sed 's|UTF-8|IBM-1047|g' _ZWESIGNC > ZWESIGNC;" >>JCL
echo "cp -T ZWESIGNC \$target;" >>JCL
+echo "source=\"${ZOWE_MOUNT}files/workflows/ZWEAMLCF.xml\";" >>JCL
+echo "target=\"//'${WORKFLOW_DSN}(ZWEAMLCF)'\";" >>JCL
+echo "iconv -f ISO8859-1 -t IBM-1047 \$source > _ZWEAMLCF;" >>JCL
+echo "sed 's|UTF-8|IBM-1047|g' _ZWEAMLCF > ZWEAMLCF;" >>JCL
+echo "cp -T ZWEAMLCF \$target;" >>JCL
echo "source=\"${ZOWE_MOUNT}files/workflows/ZWECONF.xml\";" >>JCL
echo "target=\"//'${WORKFLOW_DSN}(ZWECONF)'\";" >>JCL
echo "iconv -f ISO8859-1 -t IBM-1047 \$source > _ZWECONF;" >>JCL
diff --git a/pswi/scripts/deploy_test_2_3.py b/pswi/scripts/deploy_test_2_3.py
index f06a631379..152223aedf 100644
--- a/pswi/scripts/deploy_test_2_3.py
+++ b/pswi/scripts/deploy_test_2_3.py
@@ -196,9 +196,12 @@ def create_swi(self):
{"name": "ZOWE Mount Workflow",
"description": "This workflow performs mount action of ZOWE zFS.",
"location": {"dsname": self.hlq + ".WORKFLOW(ZWEWRF02)"}},
- {"name": "ZOWE Configuration of Zowe 2.0",
- "description": "This workflow configures Zowe v2.0.",
- "location": {"dsname": self.hlq + ".WORKFLOW(ZWECONF)"}},
+ {"name": "Stand-alone Zowe API ML Configuration",
+ "description": "This workflow configures only API ML for Zowe 2.0.",
+ "location": {"dsname": self.hlq + ".WORKFLOW(ZWEAMLCF)"}},
+ {"name": "Full Zowe server-side configuration for Zowe 2.0",
+ "description": "This workflow configures all Zowe server-side components for Zowe v2.0.",
+ "location": {"dsname": self.hlq + ".WORKFLOW(ZWECONF)"}},
{"name":"ZOWE Creation of CSR request workflow",
"description":"This workflow creates a certificate sign request.",
"location": {"dsname": self.hlq + ".WORKFLOW(ZWECRECR)"}},
diff --git a/workflows/files/ZWEAMLCF.xml b/workflows/files/ZWEAMLCF.xml
new file mode 100644
index 0000000000..07bd8ffa03
--- /dev/null
+++ b/workflows/files/ZWEAMLCF.xml
@@ -0,0 +1,1433 @@
+
+
+ true
+
+
+ config_apiml_zowe_20
+ Configuration of API ML for Zowe 2.0
+ Use this simplified workflow to configure API ML for Zowe 2.0
+ ###ZOWE_VERSION###
+ Zowe
+
+
+
+
+
+ Prefix of datasets where remaining runtime datasets will be created
+ Prefix of datasets where remaining runtime libraries will be created within execution of Zowe install step (SZWEAUTH, SZWESAMP, SZWEEXEC, SZWELOAD)
+ zowe
+
+
+
+ IBMUSER.ZWEV2
+
+
+
+
+ Where Zowe STCs will be copied over
+ Where Zowe STCs will be copied over
+ zowe
+
+
+
+ USER.PROCLIB
+
+
+
+
+ Zowe PARMLIB
+ Zowe parameter library
+ zowe
+
+
+
+ IBMUSER.ZWEV2.CUST.PARMLIB
+
+
+
+
+ Zowe ZIS plugins PARMLIB
+ Holds PARMLIB members for ZIS plugins
+ zowe
+
+
+
+ ZWESIP00
+
+
+
+
+ JCL library where Zowe will store temporary JCLs during initialization
+ JCL library where Zowe will store temporary JCLs during initialization
+ zowe
+
+
+
+ IBMUSER.ZWEV2.CUST.JCLLIB
+
+
+
+
+ Load library where Zowe stores libraries for Utilities for use by Zowe and extensions
+ Load library for Utilities for use by Zowe and extensions
+ zowe
+
+
+
+ IBMUSER.ZWEV2.SZWELOAD
+
+
+
+
+ APF authorized LOADLIB for Zowe
+ APF authorized LOADLIB for Zowe core
+ zowe
+
+
+
+ IBMUSER.ZWEV2.SZWEAUTH
+
+
+
+
+ APF authorized LOADLIB for Zowe ZIS Plugins
+ APF authorized LOADLIB for Zowe ZIS Plugins
+ zowe
+
+
+
+ IBMUSER.ZWEV2.CUST.ZWESAPL
+
+
+
+
+ Zowe runtime (root) directory with libraries
+ Existing Zowe runtime.<br />
+If you created ZOWE via PSWI, <br />
+zowe runtime is your Target Mount Point from PSWI deployment. <br />
+It is used by ZWESLSTC or by zwe command
+ zowe
+
+ ~?(\/[^\/]+)+
+ Please specify proper full USS path ending without a trailing slash.
+
+
+
+
+ Where to store runtime logs
+ Where to store runtime logs
+ zowe
+
+
+
+ /global/zowe/logs
+
+
+
+
+ Zowe runtime workspace directory
+ Zowe runtime workspace directory
+ zowe
+
+
+
+ /global/zowe/workspace
+
+
+
+
+ Where extensions are installed
+ zowe_extensionDirectory
+ zowe
+
+
+
+ /global/zowe/extensions
+
+
+
+
+ Zowe JES job name
+ Zowe JES job name
+ zowe
+
+
+
+ ZWE1SV
+
+
+
+
+ Prefix of component address space
+ Prefix of component address space
+ zowe
+
+
+
+ ZWE1
+
+
+
+
+ The list of external domains
+ Defines a list of external domains that will be used by the Zowe instance.
+ zowe
+
+
+
+ sample-domain.com
+
+
+
+
+ The port you use to access Zowe Gateway from your web browser
+ This is the port you use to access Zowe Gateway from your web browser.
+In many use cases, this should be same as <b>components.gateway.port</b>. But in
+some use cases, like containerization, this port could be different.
+ zowe
+
+
+
+ 7554
+
+
+
+
+ Set to "debug" or "trace" to display extra debug information
+ Set to "debug" or "trace" to display extra debug information
+ zowe
+
+
+ info
+ debug
+ trace
+ info
+
+
+
+
+ Set to "exit" or "warn" if any component has an error
+ Set to "exit" if you want startup to exit if any component has an error in the configuration stage, otherwise zwe will issue a warning but continue running.
+ zowe
+
+
+ warn
+ exit
+ warn
+
+
+
+
+ Certificate keystore type (PKCS12, JCERACFKS)
+ Certificate keystore type (PKCS12, JCERACFKS)
+ certificates
+
+
+
+ PKCS12
+ JCERACFKS
+ JCERACFKS
+
+
+
+
+ Zowe certificate keystore file. For keyring, the format is "safkeyring://OWNER/KEYRING".
+ Zowe certificate keystore file
+ certificates
+
+
+
+ safkeyring://OWNER/KEYRING
+
+
+
+
+ Certificate keystore password.
+ Certificate keystore password.
+ certificates
+
+
+ password
+
+
+
+
+ Alias for the certificate keystore
+ Alias for the certificate keystore
+ certificates
+
+
+
+ localhost
+
+
+
+
+ Zowe certificate truststore type
+ Zowe certificate truststore type
+ certificates
+
+
+
+ PKCS12
+ JCERACFKS
+ JCERACFKS
+
+
+
+
+ File location for certificate truststore. For keyring, the format is "safkeyring://OWNER/KEYRING"
+ File location for the certificate truststore
+ certificates
+
+
+
+ safkeyring://OWNER/KEYRING
+
+
+
+
+ Password for the certificate truststore
+ Password for the certificate truststore
+ certificates
+
+
+
+ password
+
+
+
+
+ Path to the JAVA home
+ Path to the JAVA home
+ java
+
+
+
+
+
+
+
+ Path to the Node.js home
+ Path to the Node.js home
+ Node.js
+
+
+
+
+
+
+
+ Hostname of the running z/OSMF instance
+ Hostname of the running z/OSMF instance
+ zOSMF
+
+
+
+ dvipa.my-company.com
+
+
+
+
+ Port of the z/OSMF instance
+ Port of the z/OSMF instance
+ zOSMF
+
+
+
+ 443
+
+
+
+
+ APPLID of the z/OSMF instance
+ APPLID of the z/OSMF instance
+ zOSMF
+
+
+
+ IZUDFLT
+
+
+
+
+ Port for API ML Gateway
+ Port for API ML Gateway
+ components
+
+
+
+ 7554
+
+
+
+
+ Port on which API Catalog should be running.
+ Port on which API Catalog should be running.
+ components
+
+
+
+ 7552
+
+
+
+
+ Port on which Discovery service should be running
+ Port on which Discovery service should be running
+ components
+
+
+
+ 7553
+
+
+
+
+ Port for Caching service
+ Port for Caching service
+ components
+
+
+
+ 7555
+
+
+
+
+ Port for jgroups
+ Port for jgroups. This is required if storage mode is infinispan.
+ components
+
+
+
+ 7559
+
+
+
+
+ ID you use to separate multiple Zowe installs
+ ID when determining resource names used in RBAC authorization checks such as dataservices with RBAC expects this ID in SAF resources
+ zowe
+
+
+
+ 1
+
+
+
+
+ ID that can be used by servers to distinguish their cookies from unrelated Zowe installs
+ ID which allows multiple copies of Zowe to be used within the same client
+ zowe
+
+
+
+ 1
+
+
+
+
+ Security product name. Can be RACF, ACF2 or TSS
+ Security product name. Can be RACF, ACF2 or TSS
+ security
+
+
+
+
+ RACF
+ TSS
+ ACF2
+ RACF
+
+
+
+
+ Zowe admin user group
+ Zowe admin user group
+ security
+
+
+
+ ZWEADMIN
+
+
+
+
+
+ Zowe STC group
+ Zowe STC group
+ security
+
+
+
+
+ ZWEADMIN
+
+
+
+
+ Zowe SysProg group
+ Zowe SysProg group
+ security
+
+
+
+
+ ZWEADMIN
+
+
+
+
+ Zowe runtime user name of main service
+ Zowe runtime user name of main service
+ security
+
+
+
+
+ ZWESVUSR
+
+
+
+
+ Zowe runtime user name of ZIS
+ Zowe runtime user name of ZIS
+ security
+
+
+
+
+ ZWESIUSR
+
+
+
+
+ STC name of main service
+ STC name of main service
+ security
+
+
+
+
+ ZWESLSTC
+
+
+
+
+ STC name of ZIS
+ STC name of ZIS
+ security
+
+
+
+
+ ZWESISTC
+
+
+
+
+ STC name of Auxiliary Service
+ STC name of Auxiliary Service
+ security
+
+
+
+
+ ZWESASTC
+
+
+
+
+
+ Define variables
+ Use this step to define the variables for execution
+
+
+ Define the main variables
+ Use this step to define the main variables for Zowe
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Run this step to fill base variables.
+ 1
+ z/OS System Programmer
+ false
+ false
+
+
+
+ Ports
+ Specify ports variables for components
+
+
+
+
+
+
+ Run this step to specify ports variables for components
+ 1
+ z/OS System Programmer
+ false
+ false
+
+
+
+
+ Create configuration
+ Creates the configuration for the Zowe (API ML)
+
+
+
+
+ Generated yaml file is backward compatible with full Zowe,
+ this workflow is just simplified with focus on easier API ML configuration.
+ Ensure that the values are correct.
+ zowe.yaml file is created in the: ${instance-zowe_runtimeDirectory} directory
+ NOTE: If you run this workflow outside of PSWI (SMP/E or convenience build), you might encounter a folder write permission issue.
+ To solve the issue, run the following command in USS:
+ chmod 775 ${instance-zowe_runtimeDirectory}
+ and change the folder UID to the ID of the user who executes this workflow.
+ Issue the following command:
+ chown ${_workflow-workflowOwner} ${instance-zowe_runtimeDirectory}
+ Re-run the step.
+]]>
+ 1
+ z/OS System Programmer
+ false
+ false
+
+ "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# This program and the accompanying materials are made available under the terms of the' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Eclipse Public License v2.0 which accompanies this distribution, and is available at' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# https://www.eclipse.org/legal/epl-v20.html' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# SPDX-License-Identifier: EPL-2.0' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Copyright Contributors to the Zowe Project.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#[[################################################################################]]#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#===============================================================================' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# This is a YAML configuration file for a Zowe instance.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# YAML is a human-friendly data serialization language for all programming languages.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# To learn more about YAML specifications, please check https://yaml.org/.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# To learn more details about the content of this file, please check https://docs.zowe.org/.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# For first time users, or for the most common use cases, please pay more' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# attention to the entries marked with "**COMMONLY_CUSTOMIZED**". A "directory" refers' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# to a directory in z/OS Unix.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# If you modify any settings listed in "zwe init --help" command, you may need to' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# re-run the "zwe init" command to make them take effect.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#===============================================================================' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Zowe global configurations' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# This section includes Zowe setup information used by `zwe install` and' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# `zwe init` command, as well as default configurations for Zowe runtime.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo 'zowe:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' #-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # These configurations are used by "zwe install" or "zwe init" commands.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' #-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' setup:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # MVS data set related configurations' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' dataset:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # where Zowe MVS data sets will be installed' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' prefix: $!{instance-zowe_setup_dataset_prefix}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # PROCLIB where Zowe STCs will be copied over' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' proclib: $!{instance-zowe_setup_dataset_proclib}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe PARMLIB' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' parmlib: $!{instance-zowe_setup_dataset_parmlib}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Holds Zowe PARMLIB members for plugins' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' parmlibMembers:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # For ZIS plugins' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' zis: $!{instance-zowe_setup_dataset_libzis}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # JCL library where Zowe will store temporary JCLs during initialization' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' jcllib: $!{instance-zowe_setup_dataset_jcllib}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Utilities for use by Zowe and extensions' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' loadlib: $!{instance-zowe_setup_dataset_loadlibPlugin}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # APF authorized LOADLIB for Zowe' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' authLoadlib: $!{instance-zowe_setup_dataset_authLoadlib}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # APF authorized LOADLIB for Zowe ZIS Plugins' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' authPluginLib: $!{instance-zowe_setup_dataset_authPluginLib}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Security related configurations. This setup is optional.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' security:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # security product name. Can be RACF, ACF2 or TSS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' product: $!{instance-zowe_setup_security_product}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # security group name' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' groups:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe admin user group' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' admin: $!{instance-zowe_setup_security_groups_admin}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe STC group' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' stc: $!{instance-zowe_setup_security_groups_stc}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe SysProg group' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' sysProg: $!{instance-zowe_setup_security_groups_sysProg}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # security user name' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' users:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe runtime user name of main service' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' zowe: $!{instance-zowe_setup_security_users_zowe}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe runtime user name of ZIS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' zis: $!{instance-zowe_setup_security_users_zis}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # STC names' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' stcs:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # STC name of Zowe main service' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' zowe: $!{instance-zowe_setup_security_stcs_zowe}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # STC name of Zowe ZIS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' zis: $!{instance-zowe_setup_security_stcs_zis}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # STC name of Zowe ZIS Auxiliary Server' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' aux: $!{instance-zowe_setup_security_stcs_aux}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Certificate related configurations' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' #' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # There are 5 configurations cases. Please choose one from below.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>> Certificate setup scenario 1' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # PKCS12 (keystore) with Zowe generate certificates.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # type: $!{instance-zowe_setup_certificate_type}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # pkcs12:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Keystore directory' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # directory: ' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Lock the keystore directory to only accessible by Zowe runtime user and group.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # lock: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Certificate alias name. Optional, default value is localhost.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Note: please use all lower cases as alias.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # name: localhost' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Keystore password. Optional, default value is password.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # password: password' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Alias name of self-signed certificate authority. Optional, default value is local_ca.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Note: please use all lower cases as alias.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # caAlias: local_ca' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Password of keystore stored self-signed certificate authority. Optional, default value is local_ca_password.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # caPassword: local_ca_password' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Distinguished name for Zowe generated certificates. All optional.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # dname:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # caCommonName: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # commonName: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # orgUnit: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # org: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # locality: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # state: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # country: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Validity days for Zowe generated certificates' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # validity: 3650' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Domain names and IPs should be added into certificate SAN' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # If this field is not defined, `zwe init` command will use' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # `zowe.externalDomains`.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # san:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # sample domain name' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # - dvipa.my-company.com' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # sample IP address' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # - 12.34.56.78' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # >>>> Certificate setup scenario 2' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # PKCS12 (keystore) with importing certificate generated by other CA.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # type: PKCS12' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # pkcs12:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Keystore directory' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # directory: /var/zowe/keystore' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Lock the keystore directory to only accessible by Zowe runtime user and group.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # lock: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # Certificate alias name. Optional, default value is localhost.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # Note: please use all lower cases as alias.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # name: localhost' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # Keystore password. Optional, default value is password.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # password: password' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # import:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Existing PKCS12 keystore which holds the certificate issued by external CA.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # keystore: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Password of the above keystore' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # password: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Certificate alias will be imported' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Note: please use all lower cases as alias.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # alias: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # PEM format certificate authorities will also be imported and trusted.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # importCertificateAuthorities:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Path to the certificate authority signed the certificate will be imported.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # - ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # >>>> Certificate setup scenario 3' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe generated z/OS Keyring with Zowe generated certificates.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # type: JCERACFKS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # createZosmfTrust: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # keyring:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # keyring name' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # name: ZoweKeyring' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # Label of Zowe certificate. Optional, default value is localhost.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # label: localhost' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # label of Zowe CA certificate. Optional, default value is localca.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # caLabel: localca' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # Distinguished name for Zowe generated certificates. All optional.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # dname:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # caCommonName: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # commonName: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # orgUnit: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # org: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # locality: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # state: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # country: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # Validity days for Zowe generated certificates' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # validity: 3650' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # Domain names and IPs should be added into certificate SAN' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # If this field is not defined, `zwe init` command will use' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # `zowe.externalDomains`.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # **NOTE**: due to the limitation of RACDCERT command, this field should' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # contain exactly 2 entries with the domain name and IP address.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # san:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # - dvipa.my-company.com' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # - 12.34.56.78' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # >>>> Certificate setup scenario 4' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe generated z/OS Keyring and connect to existing certificate' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # type: JCERACFKS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # keyring:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # keyring name' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # name: ZoweKeyring' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # connect:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Current owner of the existing certificate, can be SITE or an user ID.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # user: IBMUSER' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Label of the existing certificate will be connected to Zowe keyring.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # label: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # If you have other certificate authorities want to be trusted in Zowe keyring,' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # list the certificate labels here.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **NOTE**, due to the limitation of RACDCERT command, this field should' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # contain maximum 2 entries.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # importCertificateAuthorities:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # - ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # >>>> Certificate setup scenario 5' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe generated z/OS Keyring with importing certificate stored in data set' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Type of certificate storage. Valid values are: PKCS12, JCEKS, JCECCAKS, JCERACFKS, JCECCARACFKS, or JCEHYBRIDRACFKS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # type: JCERACFKS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # keyring:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # keyring name' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # name: ZoweKeyring' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # # Label of Zowe certificate. Optional, default value is localhost.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # label: localhost' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # import:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Name of the data set holds the certificate issued by other CA.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # This data set should be in PKCS12 format and contain private key.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # dsName: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Password for the PKCS12 data set.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # password: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # VSAM configurations if you are using VSAM as Caching Service storage' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' vsam:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # VSAM data set with Record-Level-Sharing enabled or not' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Valid values could be: NONRLS or RLS.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' mode: NONRLS' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Volume name if you are using VSAM in NONRLS mode' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' volume: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Storage class name if you are using VSAM in RLS mode' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' storageClass: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe runtime (root) directory' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' #' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **NOTE**: ' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # 1. if it is not specified and you passed "--update-config" argument' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # when you ran "zwe init" command, this value will be updated with the Zowe' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # runtime where the "zwe" command is located.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' #' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # 2. the runtime directory is designed to be "read only". This is different from the' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # log, workspace, and extension directories. Setting those three to the same parent folder' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # as the runtime directory is unsupported & may cause issues' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' #' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # This value is required by ZWESLSTC to know where is Zowe runtime.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' runtimeDirectory: "$!{instance-zowe_runtimeDirectory}"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Where to store runtime logs' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' logDirectory: $!{instance-zowe_logDirectory}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe runtime workspace directory' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' workspaceDirectory: $!{instance-zowe_workspaceDirectory}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Where extensions are installed' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' extensionDirectory: $!{instance-zowe_extensionDirectory}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' useConfigmgr: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Setting to true will enable:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # * schema-backed validation of zowe.yaml' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # * should greatly improve startup time.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # * can supply multiple zowe.yaml as defaults & overrides in the format of' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # FILE(/my/customizations.yaml):PARMLIB(MYORG.ZOWE(YAML)):FILE(/zowe/defaults.yaml)' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # * allows templating in zowe.yaml by putting references within ${{ }} blocks such as' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # rewriting the job section below as' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # job:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # name: ${{ zowe.job.prefix }}SV' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # prefix: ZWE1' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' configmgr:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # STRICT=quit on any error, including missing schema' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # COMPONENT-COMPAT=if component missing schema, skip it with warning instead of quit' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' validation: "COMPONENT-COMPAT"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # runtime z/OS job name' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' job:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Zowe JES job name' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' name: $!{instance-zowe_job_name}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Prefix of component address space' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' prefix: $!{instance-zowe_job_prefix}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # This is an ID you use to separate multiple Zowe installs when determining' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # resource names used in RBAC authorization checks such as dataservices with RBAC' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # expects this ID in SAF resources' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' rbacProfileIdentifier: "$!{instance-zowe_rbacProfileId}"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # This is an ID that can be used by servers that distinguish their cookies from unrelated Zowe installs, ' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # for purposes such as to allow multiple copies of Zowe to be used within the same client' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' cookieIdentifier: "$!{instance-zowe_cookieId}"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # You can list your external domains on how you want to access Zowe.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # This should be the domain list you would like to put into your web browser'\''s' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # address bar.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' externalDomains:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # this should be the domain name to access Zowe APIML Gateway' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+#foreach($externalDomain in ${instance-zowe_externalDomains.split("\n")})
+echo ' - ${externalDomain}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+#end
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # This is the port you use to access Zowe Gateway from your web browser.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' #' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # In many use cases, this should be same as `components.gateway.port`. But in' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # some use cases, like containerization, this port could be different.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' externalPort: ${instance-zowe_externalPort}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # You can un-comment and define any extra environment variables as key/value' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # pairs here.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # environments:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Example of a global environment variable for all components' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # MY_ENV_VAR: my_env_val' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Another example to customize SSH port for VT Terminal Desktop app' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # ZWED_SSH_PORT: 22' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # ZWED_TN3270_PORT: 23' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # You can define any Zowe message portions to be checked for and the message added to the' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # system log upon its logging, truncated to 126 characters.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' sysMessages:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe starting' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWEL0021I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe started' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWEL0018I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWEL0006I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe ready to use' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWES1601I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe stopping' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWEL0008I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe stopped' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWEL0022I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe components starting' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWEL0001I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Zowe components stopped' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWEL0002I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # API ML components ready' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWEAM000I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # App server ready' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWED0031I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # ZSS ready' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' - "ZWES1013I"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # # Not limited to Zowe message ID'\''s, you can specify your own string for example:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # - "ERROR"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Enable debug mode for Zowe launch scripts' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' launchScript:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Set to "debug" or "trace" to display extra debug information' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' logLevel: "$!{instance-zowe_launchScript_logLevel}"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Set to "exit" if you'\''d like startup to exit if any component has an error in the configure stage, otherwise zwe will warn but continue.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' onComponentConfigureFail: "$!{instance-zowe_launchScript_CompConf}"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Default Zowe certificate' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' #' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **NOTE**: these fields can be updated automatically if you pass' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # `--update-config` to `zwe init` command. The generated value will base on' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # your setup in `zowe.setup.certificate` section.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' keystore:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' type: $!{instance-zowe_certificate_keystore_type}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # if keyrings, the format is safkeyring:////stcusername/KeyName' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' file: $!{instance-zowe_certificate_keystore_file}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # "password" should either be the value you set when PKCS12, or literally "password" for keyrings.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' password: $!{instance-zowe_certificate_keystore_password}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # alias is the name of your key/cert. When using keyrings, get the Case Sensitive, Space Sensitive value in a TSO list ring.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' alias: $!{instance-zowe_certificate_keystore_alias}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' truststore:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # truststore usually has same values as keystore (minus alias), but can be different if desired.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' type: $!{instance-zowe_certificate_truststore_type}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' file: $!{instance-zowe_certificate_truststore_file}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' password: $!{instance-zowe_certificate_truststore_password}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' pem:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' key: /global/zowe/keystore/localhost/localhost.key' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' certificate: /global/zowe/keystore/localhost/localhost.cer' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # if keyrings, the format is "safkeyring:////stcusername/KeyName&ca name"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' certificateAuthorities: /global/zowe/keystore/local_ca/local_ca.cer' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # How we want to verify SSL certificates of services. Valid values are:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # - STRICT: will validate if the certificate is trusted in our trust store and' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # if the certificate Command Name and Subject Alternative Name (SAN)' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # is validate. This is recommended for the best security.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # - NONSTRICT: will validate if the certificate is trusted in our trust store.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # This mode does not validate certificate Common Name and Subject' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Alternative Name (SAN).' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # - DISABLED: disable certificate validation. This is NOT recommended for' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # security.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' verifyCertificates: STRICT' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Java configuration' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Some Zowe components requires Java. Define the path where you have your Java' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# is installed.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# **NOTE**: this field can be updated automatically if you pass `--update-config`' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# to `zwe init` command.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo 'java:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Path to your Java home directory' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' home: "$!{instance-java_home}"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Node.js configuration' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Some Zowe components requires Node.js. Define the path where you have your' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Node.js is installed.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# **NOTE**: this field can be updated automatically if you pass `--update-config`' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# to `zwe init` command.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo 'node:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Path to your Node.js home directory' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' home: "$!{instance-node_home}"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# z/OSMF configuration' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# If your Zowe instance is configured to use z/OSMF for authentication or other' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# features. You need to define how to access your z/OSMF instance.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo 'zOSMF:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Host name of your z/OSMF instance' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' host: $!{instance-zOSMF_host}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: ${instance-zOSMF_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' applId: $!{instance-zOSMF_applId}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Zowe components default configurations' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# This section includes default configurations for all Zowe components installed' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# on the Zowe instance.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Every component should define their own section under `components` with their' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# component ID.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# For each component, they can always have "enabled" property and "certificate"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# property. More configurations for each component can be found in component' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# manifest file.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo 'components:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' gateway:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: ${instance-components_gateway_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' apiml:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' security:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' useInternalMapper: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' auth:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' provider: zosmf' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' zosmf:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' jwtAutoconfiguration: jwt' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' serviceId: ibmzosmf' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' authorization:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' endpoint:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' provider: "native"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' x509:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' server:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' internal:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # gateway supports internal connector' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: 7550' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' ssl:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # internal connector can use different certificate' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # keystore:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # alias: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # If we customize this to use different external certificate, than should also' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # define "server.internal.ssl.certificate" and enable "server.internal.ssl.enabled".' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # keystore:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # alias: ""' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' metrics-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: 7551' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' cloud-gateway:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: 7563' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' api-catalog:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: ${instance-components_api_catalog_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' discovery:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: ${instance-components_discovery_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Define this value to match your number of Discovery StatefulSet if you are running containerized Zowe' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # replicas: 1' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' caching-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: ${instance-components_caching_service_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' storage:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' evictionStrategy: reject' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # can be inMemory, VSAM, redis or infinispan' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' mode: infinispan' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' infinispan:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # this is required if storage mode is infinispan' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' jgroups:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: ${instance-components_caching_service_storage_infinispan_jgroups_port}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' app-server:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: 7556' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # we can customize any component with custom certificate' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # the missing definitions will be picked from "zowe.certificate"' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # keystore:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # alias: app-server' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # pem:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # key: /global/zowe/keystore/localhost/localhost.keystore.app-server.key' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # certificate: /global/zowe/keystore/localhost/localhost.keystore.app-server.cer-ebcdic' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' zss:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: 7557' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' crossMemoryServerName: ZWESIS_STD' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' tls: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' agent:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' jwt:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' fallback: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: 7558' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' debug: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' port: 7559' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' explorer-jes:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' explorer-mvs:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' explorer-uss:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # Each extension can have dedicated definition similar to core components.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # my-extension:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# Zowe high availability instances customizations' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# This section includes customizations for each Zowe high availability instance.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# You can start each HA instance with `zwe start --ha-instance `.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#-------------------------------------------------------------------------------' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# haInstances:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # HA instance ID' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# lpar1:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # hostname where this instance will be started' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# hostname: lpar1.my-company.com' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # Your &SYSNAME for this LPAR' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # This sysname will be used to route your JES command to target system.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# sysname: LPR1' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # for this HA instance, we did not customize "components", so it will use default value.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # HA instance ID, we will start 2 instances on LPAR2' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # **NOTE**, we can only start one Gateway in same LPAR.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# lpar2a:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # hostname where this instance will be started' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# hostname: lpar2.my-company.com' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # Your &SYSNAME for this LPAR' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # This sysname will be used to route your JES command to target system.' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# sysname: LPR2' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # These configurations will overwrite highest level default "components" configuration' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# components:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# discovery:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # use customized port on this instance' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# port: 17553' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# api-catalog:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# port: 17552' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# app-server:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # no app-server in this instance' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# zss:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # no app-server in this instance' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# port: 18545' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# port: 18547' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# caching-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# port: 17555' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '#' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# lpar2b:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# hostname: lpar2.my-company.com' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # your &SYSNAME for this LPAR' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# sysname: LPR2' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# # These configurations will overwrite highest level default "components" configuration' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# components:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# gateway:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# discovery:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# api-catalog:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# app-server:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# port: 28544' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# zss:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# port: 28542' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# jobs-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: true' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# files-api:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# caching-service:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+]]>
+ shell-JCL
+ 1024
+
+
+
+
+ Zowe installation
+ Zowe installation
+
+ Run the Zowe install
+ Configure Zowe.
+
+
+
+ zwe install -c ${instance-zowe_runtimeDirectory}/zowe.yml
+ Will create remaining runtime data sets under zowe.setup.dataset.prefix definition,
+ i.e. under specified prefix ${instance-zowe_setup_dataset_prefix}:
+ SZWEAUTH contains few Zowe load modules (++PROGRAM).
+ SZWESAMP contains several sample configurations.
+ SZWEEXEC contains few utilities used by Zowe.
+ SZWELOAD contains config manager for REXX.
+ ]]>
+ 1
+ z/OS System Programmer
+ false
+ false
+
+ set -e
+set -x
+
+export JAVA_HOME='${instance-java_home}'
+export NODE_HOME='${instance-node_home}'
+
+export PATH=$PATH:'${instance-zowe_runtimeDirectory}/bin'
+
+zwe install -c '${instance-zowe_runtimeDirectory}/zowe.yaml' --allow-overwrite
+ shell-JCL
+ 1024
+
+
+
+
+ Run scripts for Zowe initialization
+ Executes scripts for Zowe initialization
+
+
+
+
+
+ zwe init mvs -c ${instance-zowe_runtimeDirectory}/zowe.yml --allow-overwrite
+ zwe init stc -c ${instance-zowe_runtimeDirectory}/zowe.yml --allow-overwrite
+
+ NOTE:
+ Each zwe init sub-command defines a configuration.
+
+
mvs: Copy the data sets provided with Zowe to custom data sets.
+
stc: Configure the system to launch the Zowe started task.
+
+ ]]>
+ 1
+ z/OS System Programmer
+ false
+ false
+
+ set -e
+set -x
+
+export JAVA_HOME='${instance-java_home}'
+export NODE_HOME='${instance-node_home}'
+
+export PATH=$PATH:'${instance-zowe_runtimeDirectory}/bin'
+
+zwe init mvs -c '${instance-zowe_runtimeDirectory}/zowe.yaml' --allow-overwrite
+zwe init stc -c '${instance-zowe_runtimeDirectory}/zowe.yaml' --allow-overwrite
+
+ shell-JCL
+ 1024
+
+
+
+
+
diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml
index cbc5eb9963..5d72cf3f92 100644
--- a/workflows/files/ZWECONF.xml
+++ b/workflows/files/ZWECONF.xml
@@ -12,9 +12,9 @@
-
- Prefix of existing SZWEEXEC Target libraries created during PSWI or SMP/E
- Prefix of existing SZWEEXEC Target libraries created during PSWI or SMP/E installation phase
+
+ Prefix of datasets where remaining runtime datasets will be created
+ Prefix of datasets where remaining runtime libraries will be created within execution of Zowe install step (SZWEAUTH, SZWESAMP, SZWEEXEC, SZWELOAD)zowe
@@ -460,8 +460,8 @@ How we want to verify SSL certificates of services. Valid values are:
- Port for the APIML Gateway
- Port for the APIML Gateway
+ Port for the API ML Gateway
+ Port for the API ML Gatewaycomponents
@@ -492,7 +492,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
+
Authorization provider for the GatewayAuthorization provider for the Gatewaycomponents
@@ -503,7 +503,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
+
JWT auto configuration for Gateway security authJWT auto configuration for Gateway security authcomponents
@@ -514,7 +514,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
+
Service ID for Gateway security authService ID for Gateway security authcomponents
@@ -525,7 +525,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
+
Check to enable the security authorization endpointCheck to enable the security authorization endpointcomponents
@@ -536,7 +536,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
+
Security authorization provider for the GatewaySecurity authorization provider for the Gatewaycomponents
@@ -546,7 +546,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
+
Check to enable the Gateway security x509Check to enable the Gateway security x509components
@@ -1157,20 +1157,7 @@ How we want to verify SSL certificates of services. Valid values are:
ZWESASTC
-
-
-
- Check to enable this run step with the zwe install command. For convenience build only.
- Check this option to enable the optional workflow step with zwe install command. After Zowe convenience build is extracted,
- you can enable this flag to run the zwe install command to install MVS data sets within this workflow run.
- This option is for convenience build only. SMP/E installs the MVS data sets during installation.
- installMVSDatasets
-
-
-
- false
-
-
+
@@ -1242,8 +1229,7 @@ How we want to verify SSL certificates of services. Valid values are:
-
-
+ Run this step to fill base variables.1z/OS System Programmer
@@ -1640,7 +1626,7 @@ echo ' setup:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # MVS data set related configurations' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' dataset:' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
-echo ' # where are existing Zowe SZWEEXEC Target libraries' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
+echo ' # where Zowe MVS data sets will be installed' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' prefix: $!{instance-zowe_setup_dataset_prefix}' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
echo ' # PROCLIB where Zowe STCs will be copied over' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
@@ -2446,26 +2432,21 @@ echo '# enabled: false' >> "${instance-zowe_runtimeDirectory}/zowe.yaml"
Zowe installationZowe installation
-
- Run the Zowe install (only for convenience build)
+
+ Run the Zowe installConfigure Zowe.
-
- 1==1
- Always true
-
-
- Skips this step if Install the MVS data sets was not selected
- !${instance-zowe_setup_installStep_enabled}
- skipped
-
-
- zwe install -c ${instance-zowe_runtimeDirectory}/zowe.yml
+ This step runs the command: zwe install -c ${instance-zowe_runtimeDirectory}/zowe.yml
+ Will create remaining runtime data sets under zowe.setup.dataset.prefix definition,
+ i.e. under specified prefix ${instance-zowe_setup_dataset_prefix}:
+ SZWEAUTH contains few Zowe load modules (++PROGRAM).
+ SZWESAMP contains several sample configurations.
+ SZWEEXEC contains few utilities used by Zowe.
+ SZWELOAD contains config manager for REXX.
]]>1z/OS System Programmer
From 357e32eab38f194c083c104fcb0275436244a7fe Mon Sep 17 00:00:00 2001
From: Martin Zeithaml <66114686+Martin-Zeithaml@users.noreply.github.com>
Date: Mon, 10 Feb 2025 20:28:44 +0100
Subject: [PATCH 66/67] [V2] SZWESAMP MVS JCLs update (#4183)
* [V2] SZWESAMP MVS JCLs update
Signed-off-by: Martin Zeithaml
* minor formatting changes
Signed-off-by: MarkAckert
---------
Signed-off-by: Martin Zeithaml
Signed-off-by: MarkAckert
Co-authored-by: MarkAckert
Co-authored-by: Mark Ackert <35308966+MarkAckert@users.noreply.github.com>
---
files/SZWESAMP/ZWEIMVS | 6 +++---
files/SZWESAMP/ZWEIMVS2 | 4 ++--
files/SZWESAMP/ZWERMVS | 6 +++---
files/SZWESAMP/ZWERMVS2 | 4 ++--
4 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/files/SZWESAMP/ZWEIMVS b/files/SZWESAMP/ZWEIMVS
index e8e4b6caef..60e1ef702b 100644
--- a/files/SZWESAMP/ZWEIMVS
+++ b/files/SZWESAMP/ZWEIMVS
@@ -15,9 +15,9 @@
//* Instances represent a configuration of Zowe, different from the
//* "runtime" datasets that are created upon install of Zowe / SMPE.
//*
-//* If your choosen value of 'zowe.setup.dataset.authLoadlib' is not
-//* Equal to 'zowe.setup.prefix' + 'SZWELOAD',
-//* Then you must also run "ZWEIMVS2".
+//* If your chosen value of 'zowe.setup.dataset.authLoadlib' is not
+//* equal to 'zowe.setup.prefix' + 'SZWEAUTH',
+//* then you must also run "ZWEIMVS2".
//*
//*********************************************************************
//MKPDSE EXEC PGM=IKJEFT01
diff --git a/files/SZWESAMP/ZWEIMVS2 b/files/SZWESAMP/ZWEIMVS2
index 93a3213a62..4bfdf95117 100644
--- a/files/SZWESAMP/ZWEIMVS2
+++ b/files/SZWESAMP/ZWEIMVS2
@@ -12,9 +12,9 @@
//*********************************************************************
//*
//* This job is used to create the APF load library for an instance
-//* Of Zowe. It is not needed if your choosen value of
+//* of Zowe. It is not needed if your chosen value of
//* 'zowe.setup.dataset.authLoadlib' is equal to
-//* 'zowe.setup.prefix' + 'SZWELOAD'.
+//* 'zowe.setup.prefix' + 'SZWEAUTH'.
//*
//* When running this job, you should also run ZWEIMVS
//*
diff --git a/files/SZWESAMP/ZWERMVS b/files/SZWESAMP/ZWERMVS
index 844e027dcf..62ee3e103e 100644
--- a/files/SZWESAMP/ZWERMVS
+++ b/files/SZWESAMP/ZWERMVS
@@ -15,9 +15,9 @@
//* Instances represent a configuration of Zowe, different from the
//* "runtime" datasets that are created upon install of Zowe / SMPE.
//*
-//* If your choosen value of 'zowe.setup.dataset.authLoadlib' is not
-//* Equal to 'zowe.setup.prefix' + 'SZWELOAD',
-//* Then you must also run "ZWERMVS2".
+//* If your chosen value of 'zowe.setup.dataset.authLoadlib' is not
+//* equal to 'zowe.setup.prefix' + 'SZWEAUTH',
+//* then you must also run "ZWERMVS2".
//*
//*********************************************************************
//RMPDSE EXEC PGM=IKJEFT01
diff --git a/files/SZWESAMP/ZWERMVS2 b/files/SZWESAMP/ZWERMVS2
index 266f60099a..545b08d258 100644
--- a/files/SZWESAMP/ZWERMVS2
+++ b/files/SZWESAMP/ZWERMVS2
@@ -12,9 +12,9 @@
//*********************************************************************
//*
//* This job is used to remove the APF load library for an instance
-//* Of Zowe. It is not needed if your choosen value of
+//* of Zowe. It is not needed if your chosen value of
//* 'zowe.setup.dataset.authLoadlib' is equal to
-//* 'zowe.setup.prefix' + 'SZWELOAD'.
+//* 'zowe.setup.prefix' + 'SZWEAUTH'.
//*
//* When running this job, you should also run ZWERMVS
//*
From 0cd35939af82274ff8d8a7102f1e7b90eb5c848b Mon Sep 17 00:00:00 2001
From: Martin Zeithaml <66114686+Martin-Zeithaml@users.noreply.github.com>
Date: Tue, 11 Feb 2025 18:02:02 +0100
Subject: [PATCH 67/67] Comment update (#4187)
Signed-off-by: Martin Zeithaml
---
files/SZWESAMP/ZWEIMVS | 2 +-
files/SZWESAMP/ZWEIMVS2 | 2 +-
files/SZWESAMP/ZWERMVS | 2 +-
files/SZWESAMP/ZWERMVS2 | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/files/SZWESAMP/ZWEIMVS b/files/SZWESAMP/ZWEIMVS
index 60e1ef702b..500c060492 100644
--- a/files/SZWESAMP/ZWEIMVS
+++ b/files/SZWESAMP/ZWEIMVS
@@ -16,7 +16,7 @@
//* "runtime" datasets that are created upon install of Zowe / SMPE.
//*
//* If your chosen value of 'zowe.setup.dataset.authLoadlib' is not
-//* equal to 'zowe.setup.prefix' + 'SZWEAUTH',
+//* equal to 'zowe.setup.dataset.prefix' + 'SZWEAUTH',
//* then you must also run "ZWEIMVS2".
//*
//*********************************************************************
diff --git a/files/SZWESAMP/ZWEIMVS2 b/files/SZWESAMP/ZWEIMVS2
index 4bfdf95117..a4bb428c72 100644
--- a/files/SZWESAMP/ZWEIMVS2
+++ b/files/SZWESAMP/ZWEIMVS2
@@ -14,7 +14,7 @@
//* This job is used to create the APF load library for an instance
//* of Zowe. It is not needed if your chosen value of
//* 'zowe.setup.dataset.authLoadlib' is equal to
-//* 'zowe.setup.prefix' + 'SZWEAUTH'.
+//* 'zowe.setup.dataset.prefix' + 'SZWEAUTH'.
//*
//* When running this job, you should also run ZWEIMVS
//*
diff --git a/files/SZWESAMP/ZWERMVS b/files/SZWESAMP/ZWERMVS
index 62ee3e103e..8aa58885d7 100644
--- a/files/SZWESAMP/ZWERMVS
+++ b/files/SZWESAMP/ZWERMVS
@@ -16,7 +16,7 @@
//* "runtime" datasets that are created upon install of Zowe / SMPE.
//*
//* If your chosen value of 'zowe.setup.dataset.authLoadlib' is not
-//* equal to 'zowe.setup.prefix' + 'SZWEAUTH',
+//* equal to 'zowe.setup.dataset.prefix' + 'SZWEAUTH',
//* then you must also run "ZWERMVS2".
//*
//*********************************************************************
diff --git a/files/SZWESAMP/ZWERMVS2 b/files/SZWESAMP/ZWERMVS2
index 545b08d258..5848ec5933 100644
--- a/files/SZWESAMP/ZWERMVS2
+++ b/files/SZWESAMP/ZWERMVS2
@@ -14,7 +14,7 @@
//* This job is used to remove the APF load library for an instance
//* of Zowe. It is not needed if your chosen value of
//* 'zowe.setup.dataset.authLoadlib' is equal to
-//* 'zowe.setup.prefix' + 'SZWEAUTH'.
+//* 'zowe.setup.dataset.prefix' + 'SZWEAUTH'.
//*
//* When running this job, you should also run ZWERMVS
//*