diff --git a/.github/workflows/pswi-zowe-config-test.yml b/.github/workflows/pswi-zowe-config-test.yml index 96d666ba34..0d25066436 100644 --- a/.github/workflows/pswi-zowe-config-test.yml +++ b/.github/workflows/pswi-zowe-config-test.yml @@ -22,6 +22,14 @@ jobs: - name: '[Prep 1] Checkout' uses: actions/checkout@v4 + # Taken from shared-actions/prepare-workflow + - name: 'export github username and email' + run: | + git config --global user.name ${{ github.actor }} + echo ${{ github.actor }} + git config --global user.email dummy-email@email.com + shell: bash + - name: '[PSI-LOCK] Lock marist servers to build PSWI' uses: zowe-actions/shared-actions/lock-resource@main with: diff --git a/CHANGELOG.md b/CHANGELOG.md index 8568e4522f..8e1601c2b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,10 +9,14 @@ All notable changes to the Zowe Installer will be documented in this file. ### Breaking Changes -- `zowe.yaml` changed its default z/OSMF Service ID definition from `zosmf` to `ibmzosmf`, which may impact Zowe Clients. For more information on this change, please see the API Mediation Layer's 3.0.0 Breaking Changes. +- The Zowe YAML now requires the `zaas` component for the API Mediation Layer to work. See example-zowe.yaml for new component values. +- The Zowe YAML attribute `components.gateway.apiml.security.auth.zosmf.serviceId` for the “gateway” component has changed from “zosmf” to “ibmzosmf”. This may impact Zowe Clients. See example-zowe.yaml for new component values. For more information on this change, please see the API Mediation Layer's 3.0.0 Breaking Changes. +- The Zowe YAML parameter `components.gateway.apiml.security.auth.zosmf.jwtAutoconfiguration` for the “gateway” component has changed. The value “auto” is no longer allowed, and you must choose either the default of “jwt” or “ltpa” depending on if your z/OSMF is set up for JWT use as recommended See example-zowe.yaml for new component values. For more information on this change, please see the API Mediation Layer's 3.0.0 Breaking Changes. + ### New features and enhancements - Enhancement: Added explanation to possible error message when checking z/OSMF setting. [#3956](https://github.com/zowe/zowe-install-packaging/pull/3956) +- Enhancement: New plugin identifier added to list of plugins and `allowedPlugins.json` for the new V3 Desktop in Angular 18. [#3984](https://github.com/zowe/zowe-install-packaging/pull/3984) diff --git a/README.md b/README.md index 6b389b95fd..29203e277b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# zowe-install-packaging +# zowe-install-packaging This repository includes Zowe installation script and pipelines to build Zowe. diff --git a/bin/libs/fs.ts b/bin/libs/fs.ts index 144fe461a0..632bb2cbd7 100644 --- a/bin/libs/fs.ts +++ b/bin/libs/fs.ts @@ -66,15 +66,17 @@ export function resolvePath(...parts:string[]): string { } export function mkdirp(path:string, mode?: number): number { + if (!path) { + return 1; + } let paths: string[] = []; let parts = path.split('/'); let currentPath = ''; parts.forEach((part:string)=> { - currentPath+='/'+part; - if (currentPath.startsWith('//')) { - currentPath = currentPath.substring(1); + if (part) { + currentPath += '/' + part; + paths.push(currentPath); } - paths.push(currentPath); }); let firstMissingDir: number; @@ -85,9 +87,9 @@ export function mkdirp(path:string, mode?: number): number { } } - common.printDebug('paths='+JSON.stringify(paths)); + common.printDebug('fs.mkdir paths='+JSON.stringify(paths)); if (firstMissingDir >= paths.length) { return 0; } - common.printDebug('firstMissingDir='+paths[firstMissingDir]); + common.printDebug('fs.mkdir firstMissingDir='+paths[firstMissingDir]); for (let i = firstMissingDir; i < paths.length; i++) { let rc = os.mkdir(paths[i], mode ? mode : 0o777); diff --git a/example-zowe.yaml b/example-zowe.yaml index a1c235e1e1..79d9c61186 100644 --- a/example-zowe.yaml +++ b/example-zowe.yaml @@ -40,27 +40,27 @@ zowe: dataset: # **COMMONLY_CUSTOMIZED** # where Zowe MVS data sets will be installed - prefix: IBMUSER.ZWEV2 + prefix: IBMUSER.ZWEV3 # **COMMONLY_CUSTOMIZED** # PROCLIB where Zowe STCs will be copied over proclib: USER.PROCLIB # **COMMONLY_CUSTOMIZED** # Zowe PARMLIB - parmlib: IBMUSER.ZWEV2.CUST.PARMLIB + parmlib: IBMUSER.ZWEV3.CUST.PARMLIB # Holds Zowe PARMLIB members for plugins parmlibMembers: # For ZIS plugins zis: ZWESIP00 # **COMMONLY_CUSTOMIZED** # JCL library where Zowe will store temporary JCLs during initialization - jcllib: IBMUSER.ZWEV2.CUST.JCLLIB + jcllib: IBMUSER.ZWEV3.CUST.JCLLIB # Utilities for use by Zowe and extensions - loadlib: IBMUSER.ZWEV2.SZWELOAD + loadlib: IBMUSER.ZWEV3.SZWELOAD # APF authorized LOADLIB for Zowe - authLoadlib: IBMUSER.ZWEV2.SZWEAUTH + authLoadlib: IBMUSER.ZWEV3.SZWEAUTH # **COMMONLY_CUSTOMIZED** # APF authorized LOADLIB for Zowe ZIS Plugins - authPluginLib: IBMUSER.ZWEV2.CUST.ZWESAPL + authPluginLib: IBMUSER.ZWEV3.CUST.ZWESAPL # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # # Security related configurations. This setup is optional. @@ -292,22 +292,10 @@ zowe: # Where extensions are installed extensionDirectory: /global/zowe/extensions - # **COMMONLY_CUSTOMIZED** - useConfigmgr: true - # Setting to true will enable: - # * schema-backed validation of zowe.yaml - # * should greatly improve startup time. - # * can supply multiple zowe.yaml as defaults & overrides in the format of - # FILE(/my/customizations.yaml):PARMLIB(MYORG.ZOWE(YAML)):FILE(/zowe/defaults.yaml) - # * allows templating in zowe.yaml by putting references within ${{ }} blocks such as - # rewriting the job section below as - # job: - # name: ${{ zowe.job.prefix }}SV - # prefix: ZWE1 configmgr: # STRICT=quit on any error, including missing schema # COMPONENT-COMPAT=if component missing schema, skip it with warning instead of quit - validation: "COMPONENT-COMPAT" + validation: "STRICT" # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # runtime z/OS job name @@ -379,7 +367,7 @@ zowe: # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # You can define any Zowe message portions to be checked for and the message added to the - # system log upon its logging, truncated to 126 characters. + # system log upon its logging, truncated to 126 characters (wildcards are not supported). sysMessages: # # Zowe starting - "ZWEL0021I" diff --git a/files/defaults.yaml b/files/defaults.yaml index eed7339508..8e319ea090 100644 --- a/files/defaults.yaml +++ b/files/defaults.yaml @@ -88,7 +88,7 @@ zowe: configmgr: # STRICT=quit on any error, including missing schema # COMPONENT-COMPAT=if component missing schema, skip it with warning instead of quit - validation: "COMPONENT-COMPAT" + validation: "STRICT" # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> # runtime z/OS job name @@ -157,20 +157,13 @@ components: authorization: endpoint: enabled: false - provider: "" + provider: "native" x509: enabled: false - server: - internal: - # gateway supports internal connector - enabled: false - port: 7550 - ssl: - enabled: false # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> zaas: - enabled: false + enabled: true port: 7558 debug: false diff --git a/files/zlux/config/allowedPlugins.json b/files/zlux/config/allowedPlugins.json index 8a46519147..dcc69a094f 100644 --- a/files/zlux/config/allowedPlugins.json +++ b/files/zlux/config/allowedPlugins.json @@ -28,14 +28,6 @@ "identifier": "org.zowe.zlux.auth.trivial", "versions": ["*"] }, - { - "identifier": "org.zowe.zlux.auth.zosmf", - "versions": ["*"] - }, - { - "identifier": "org.zowe.zlux.auth.zss", - "versions": ["*"] - }, { "identifier": "org.zowe.zlux.auth.safsso", "versions": ["*"] @@ -60,10 +52,6 @@ "identifier": "org.zowe.zlux.ng2desktop.settings", "versions": ["*"] }, - { - "identifier": "org.zowe.zlux.proxy.zosmf", - "versions": ["*"] - }, { "identifier": "org.zowe.zlux.sample.angular", "versions": ["*"] @@ -76,10 +64,6 @@ "identifier": "org.zowe.zlux.sample.iframe", "versions": ["*"] }, - { - "identifier": "org.zowe.zosmf.workflows", - "versions": ["*"] - }, { "identifier": "org.openmainframe.zowe.workshop-starter", "versions": ["*"] diff --git a/files/zlux/config/zluxserver.json b/files/zlux/config/zluxserver.json deleted file mode 100644 index 9283155557..0000000000 --- a/files/zlux/config/zluxserver.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "node": { - "https": { - "ipAddresses": ["0.0.0.0"], - "port": 7556, - //pfx (string), keys, certificates, certificateAuthorities, and certificateRevocationLists are all valid here. - "keys": ["../defaults/serverConfig/zlux.keystore.key"], - "certificates": ["../defaults/serverConfig/zlux.keystore.cer"], - "certificateAuthorities": ["../defaults/serverConfig/apiml-localca.cer"] - }, - "mediationLayer": { - "server": { - "hostname": "localhost", - "port": 7554, - "isHttps": true - }, - //environmentally set to true when apiml available - "enabled": false - }, - "headers": { - "X-frame-Options": { - "override": true, - "value": "sameorigin" - } - } - }, - "agent": { - //host is for zlux to know, not zss - "host": "localhost", - "jwt": { - "fallback": true - }, - "https": { - "ipAddresses": ["127.0.0.1"], - //to be a replacement for zssPort - "port": 7557 - }, - "mediationLayer": { - "serviceName": "zss", - //environmentally set to true when apiml available - "enabled": false - } - }, - //Zowe cross memory server name - "privilegedServerName": "ZWESIS_STD", - -// All paths relative to ZLUX/node or ZLUX/bin -// In real installations, these values will be configured during the install. - "productDir":"../defaults", - "siteDir":"../deploy/site", - "instanceDir":"../deploy/instance", - "groupsDir":"../deploy/instance/groups", - "usersDir":"../deploy/instance/users", - "pluginsDir":"../defaults/plugins", - - "dataserviceAuthentication": { - //this specifies the default authentication type for dataservices that didn't specify which type to use. These dataservices therefore should not expect a particular type of authentication to be used. - "defaultAuthentication": "saf", - //enable this to use role-based access control (RBAC) for Zowe dataservice endpoints - "rbac": false, - - //each authentication type may have more than one implementing plugin, but the specification below just describes the priority of them. Every one that is found in the pluginsDir is loaded. - "implementationDefaults": { - //each type has an object which describes which implementation to use based on some criteria to find which is best for the task. For now, just "plugins" will - //be used to state that you want a particular plugin. - "saf": { - "plugins": ["org.zowe.zlux.auth.safsso"] - } - - } - } -} diff --git a/manifest.json.template b/manifest.json.template index 6194230ca9..b4ba678504 100644 --- a/manifest.json.template +++ b/manifest.json.template @@ -44,16 +44,16 @@ "artifact": "*.pax" }, "org.zowe.explorer-jes": { - "version": "~2.0.2-SNAPSHOT" + "version": "^3.0.0-SNAPSHOT" }, "org.zowe.explorer-mvs": { - "version": "~2.0.2-SNAPSHOT" + "version": "^3.0.0-SNAPSHOT" }, "org.zowe.explorer-uss": { - "version": "~2.0.2-SNAPSHOT" + "version": "^3.0.0-SNAPSHOT" }, "org.zowe.explorer-ip": { - "version": "~3.0.0-SNAPSHOT", + "version": "^3.0.0-SNAPSHOT", "artifact": "*.pax" }, "org.zowe.apiml.api-catalog-package": { @@ -109,7 +109,7 @@ "artifact": "*.pax" }, "org.zowe.launcher": { - "version": "^2.0.0-STAGING" + "version": "^3.0.0-STAGING" }, "org.zowe.keyring-utilities": { "version": "1.0.4", @@ -336,7 +336,7 @@ "componentGroup": "Zowe Visual Studio Code Extension", "entries": [{ "repository": "zowe-explorer-vscode", - "tag": "next", + "tag": "main", "destinations": ["Visual Studio Code Marketplace"] }] }, diff --git a/pswi/03_create.sh b/pswi/03_create.sh index 724ab7ad61..6feb2d56a7 100644 --- a/pswi/03_create.sh +++ b/pswi/03_create.sh @@ -28,7 +28,7 @@ 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":"ZOWE Configuration of Zowe 3.0","description":"This workflow configures Zowe v3.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.", diff --git a/pswi/PSWI-marist.sh b/pswi/PSWI-marist.sh index 67fcedf490..5a9e03bfa7 100755 --- a/pswi/PSWI-marist.sh +++ b/pswi/PSWI-marist.sh @@ -2,12 +2,12 @@ set -x export ZOSMF_URL="https://zzow07.zowe.marist.cloud" export ZOSMF_PORT=10443 export ZOSMF_SYSTEM="S0W1" -export DIR="/u/${ZOSMF_USER,,}" -export SMPEHLQ="${ZOSMF_USER}" -export TMP_ZFS="${ZOSMF_USER}.TMP.ZFS" +export DIR="/u/zowead2" +export SMPEHLQ="ZOWEAD2" +export TMP_ZFS="ZOWEAD2.TMP.ZFS" export ZOWE_MOUNT="/u/zwe/zowe-smpe/" export VOLUME="ZOS003" -export TEST_HLQ="${ZOSMF_USER}.PSWIT" +export TEST_HLQ="ZOWEAD2.PSWIT" export SYSAFF="(S0W1)" export ACCOUNT=1 @@ -30,7 +30,7 @@ export TMP_MOUNT="${DIR}/zowe-tmp" export TEST_MOUNT="${DIR}/test_mount" export EXPORT="${TMP_MOUNT}/export/" export WORK_MOUNT="${DIR}/work" -export WORK_ZFS="${ZOSMF_USER}.WORK.ZFS" +export WORK_ZFS="ZOWEAD2.WORK.ZFS" export ZOSMF_V="2.3" export SMPE_WF_NAME="ZOWE_SMPE_WF" export PTF_WF_NAME="ZOWE_PTF_WF" diff --git a/pswi/scripts/base_diff.txt b/pswi/scripts/base_diff.txt index d23d5ebdc1..ad4425a61f 100644 --- a/pswi/scripts/base_diff.txt +++ b/pswi/scripts/base_diff.txt @@ -1,7 +1,7 @@ -483c +471c home: "#delete_me#" . -468c +456c home: "#delete_me#" . 281c diff --git a/pswi/scripts/deploy_test_2_3.py b/pswi/scripts/deploy_test_2_3.py index f06a631379..7163577ce5 100644 --- a/pswi/scripts/deploy_test_2_3.py +++ b/pswi/scripts/deploy_test_2_3.py @@ -196,8 +196,8 @@ 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.", + {"name": "ZOWE Configuration of Zowe 3.0", + "description": "This workflow configures Zowe v3.0.", "location": {"dsname": self.hlq + ".WORKFLOW(ZWECONF)"}}, {"name":"ZOWE Creation of CSR request workflow", "description":"This workflow creates a certificate sign request.", diff --git a/workflows/files/ZWECONF.properties b/workflows/files/ZWECONF.properties index ccf3efc3a8..be0fd50ae0 100644 --- a/workflows/files/ZWECONF.properties +++ b/workflows/files/ZWECONF.properties @@ -612,14 +612,6 @@ components_zss_port=7557 # Name for the ZSS cross memory server components_zss_crossMemoryServerName=ZWESIS_STD -# components_zss_tls -# Label: ZSS TLS -# Abstract: Check this to enable TLS on ZSS -# Category: components -# Description: -# Check this to enable TLS on ZSS -components_zss_tls=true - # components_zss_agent_jwt_fallback # Label: ZSS JWT fallback # Abstract: Check this to enable fallback @@ -660,14 +652,6 @@ components_explorer_mvs_enabled=true # Check this option to enable the USS explorer. components_explorer_uss_enabled=true -# useconfig_manager_enabled -# Label: Enable Zowe configuration manager -# Abstract: Check this option to enable Zowe configuration manager -# Category: configManager -# Description: -# Check this option to enable Zowe configuration manager. -useconfig_manager_enabled=true - # config_manager_validation # Label: Zowe configuration manager validation type # Abstract: STRICT or COMPONENT-COMPAT validation type @@ -675,7 +659,7 @@ useconfig_manager_enabled=true # Description: # STRICT=quit on any error, COMPONENT-COMPAT=if component missing schema, skip it with warning instead of quit # Choices: COMPONENT-COMPAT,STRICT -config_manager_validation=COMPONENT-COMPAT +config_manager_validation=STRICT # zowe_rbacProfileId # Label: Zowe Profile Identifier @@ -774,4 +758,4 @@ zowe_setup_security_stcs_aux=ZWESASTC # 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. -zowe_setup_installStep_enabled=false \ No newline at end of file +zowe_setup_installStep_enabled=false diff --git a/workflows/files/ZWECONF.xml b/workflows/files/ZWECONF.xml index b9a54cde87..d6fb790207 100644 --- a/workflows/files/ZWECONF.xml +++ b/workflows/files/ZWECONF.xml @@ -294,7 +294,7 @@ some use cases, like containerization, this port could be different. - certificates + network TLSv1.1 @@ -867,17 +867,6 @@ How we want to verify SSL certificates of services. Valid values are: ZWESIS_STD - - - Check this to enable TLS on ZSS - Check this to enable TLS on ZSS - components - - - - true - - Check this to enable fallback @@ -933,17 +922,6 @@ How we want to verify SSL certificates of services. Valid values are: true - - - Check this option to enable Zowe configuration manager - Check this option to enable Zowe configuration manager. - configManager - - - - true - - STRICT or COMPONENT-COMPAT validation type @@ -954,7 +932,7 @@ How we want to verify SSL certificates of services. Valid values are: COMPONENT-COMPAT STRICT - COMPONENT-COMPAT + STRICT @@ -1155,7 +1133,6 @@ How we want to verify SSL certificates of services. Valid values are: - @@ -1419,7 +1396,6 @@ How we want to verify SSL certificates of services. Valid values are: - Run this step to specify the values for the ZSS variables @@ -1756,18 +1732,6 @@ echo ' # **COMMONLY_CUSTOMIZED**' >> "${instance-zowe_runtimeDirectory}/zowe.ya 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: $!{instance-useconfig_manager_enabled}' >> "${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" @@ -2009,7 +1973,7 @@ echo ' security:' >> "${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: auto' >> "${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"