Zowe YAML server configuration file reference
Zowe YAML server configuration file reference
Zowe v3 uses a YAML configuration file for server installation, configuration, and runtime. This file is usually referred to as the Zowe configuration YAML file or the zowe.yaml
file. YAML is a human-friendly data serialization language for all programming languages. To learn more about YAML specifications, see https://yaml.org/. For a free, offline YAML validator to help validate your syntax, download the Red Hat's VS Code YAML extension.
Content within the YAML file is documented by and validated against schema files which are shipped within Zowe and extended by Zowe extensions. For details on the schema technology and where to find the schema files within our source code, see Using the Configuration Manager.
In the following sections, we refer to configuration keys by using the concatenation of key names and dots. For example, if you want to update the configuration key zowe.certificate.keystore.type
with the value PKCS12
, you should set the value for this entry in the zowe.yaml
:
zowe:
certificate:
keystore:
type: PKCS12
High-level overview of YAML configuration file
The YAML configuration file has few high-level sections:
- zowe
Defines global configurations specific to Zowe, including default values. - java
Defines Java configurations used by Zowe components. - node
Defines node.js configurations used by Zowe components. - zOSMF
Tells Zowe your z/OSMF configurations. - components
Defines detailed configurations for each Zowe component or extension. Each component or extension may have a key entry under this section. For example,components.gateway
is the configuration for the API Mediation Layer Gateway service. - haInstances
Defines customized configurations for each High Availability (HA) instance. You should predefine all Zowe HA instances you want to start within your Sysplex.
Extract sharable configuration out of zowe.yaml
The Zowe YAML configuration file supports splitting into several files or PARMLIB members. This can help simplify grouping configuration changes by type or owner. For details, see Splitting configuration into multiple storage types.
Creating portable references
The Zowe YAML configuration file has template logic for relating one value to another, a system environment variable or symbol, and the possibility to add conditional behavior. This template logic can help to make your configuration portable between systems that need slightly different behavior while retaining the same configuration file. For details, see Configuration templates in the article Zowe Configuration Manager.
Configuration override - defaults.yaml
Values for global configuration and components are defined in the defaults.yaml
file. This file is always merged with current configs
when configmgr
is used.
For example, if you decide to remove the zowe.job
section by commenting or deleting, the zowe.job
section reappears after merging with the defaults.
Example of initial user config:
zowe:
job:
# Zowe JES job name
name: ZW3SV1
# Prefix of component address space
prefix: ZW31
Example of modified user config - zowe.job
commented out:
zowe:
# job:
# Zowe JES job name
# name: ZW3SV1
# Prefix of component address space
# prefix: ZW31
Example of merged result:
zowe:
job:
name: ZWE1SV
prefix: ZWE1
To disable a component which is defined enabled in defaults.yaml
, ensure that you have a definition of that component in your config, and change enabled: true
to enabled: false
. Deleting or commenting out a component does not disable the component.
Configuration override - inside zowe.yaml
In the zowe.yaml
, you can define default values which can be overridden in more granular level configurations. This can happen in several ways:
- The component can override the default certificate configuration. For the specific entry of certification configuration that is not overridden, the configuration falls back to default configurations.
Example:
zowe:
certificate:
keystore:
type: PKCS12
file: /global/zowe/keystore/localhost/localhost.keystore.p12
password: password
alias: localhost
truststore:
type: PKCS12
file: /global/zowe/keystore/localhost/localhost.truststore.p12
password: password
pem:
key: /global/zowe/keystore/localhost/localhost.key
certificate: /global/zowe/keystore/localhost/localhost.cer
certificateAuthorities: /global/zowe/keystore/local_ca/local_ca.cer
components:
app-server:
certificate:
keystore:
alias: app-server
pem:
key: /global/zowe/keystore/localhost/app-server.key
certificate: /global/zowe/keystore/localhost/app-server.cer
In this example, the App Server usees the certificate alias app-server
instead of localhost
from the same keystore defined in zowe.certificate.keystore.file
. Note that the service uses the same truststore defined in zowe.certificate.truststore.file
.
- Zowe high availability (HA) instance component configuration
haInstances.<ha-instance>.components.<component>
can override global level component configurationscomponents.<component>
. Any configuration in thecomponents.<component>
level can be overridden in thehaInstances.<ha-instance>.components.<component>
level.
Example:
components:
app-server:
enabled: true
port: 8544
haInstances:
lpar2a:
components:
app-server:
enabled: false
lpar2b:
components:
app-server:
port: 28544
In this example configuration, the App Server on lpar2a
HA instance will not be started. On lpar2b
HA instance, it will be started but on port 28544.
YAML configurations - certificate
In Zowe YAML configuration, the certificate definition shares the same format which can be used in several configuration entries. For example, zowe.certificate
, components.<component>.certificate
, and haInstances.<ha-instance>.components.<component>.certificate
. The certificate definition may include the following entries:
- keystore.type
Specifies the type of the keystore. If you are using keystore, this value usually should bePKCS12
. If you are using keyring, this value should beJCERACFKS
. - keystore.file
Specifies the path of the keystore file. If you are using keyring, this should look likesafkeyring://<keyring-owner>/<keyring-name>
. For example,safkeyring://ZWESVUSR/ZoweKeyring
. - keystore.password
Specifies the password of the keystore. - keystore.alias
Represents the alias name of the certificate stored in keystore. If you are using keyring, this is the certificate label connected to the keyring. - truststore.type
Specifies the type of the truststore file. If you are using keystore, this value usually should bePKCS12
. If you are using keyring, this value should beJCERACFKS
. - truststore.file
Specifies the path to the truststore file. If you are using keyring, this should look likesafkeyring://<keyring-owner>/<keyring-name>
, and usually will be the same value ofkeystore.file
. - truststore.password
Specifies the password of the truststore. - pem.key
Specifies the private key file in PEM format. This can be used by applications that do not support either PKCS12 keystore format or z/OS keyring. - pem.certificate
Specifies the public key file in PEM format. This can be used by applications that do not support either PKCS12 keystore format or a z/OS keyring. - pem.certificateAuthorities
Specifies certificate authorities in PEM format. This can be used by applications that do not support either PKCS12 keystore format or a z/OS keyring.
YAML configurations - zowe
The high-level configuration zowe
supports these definitions:
Directories
- zowe.runtimeDirectory
Specifies the runtime directory where Zowe is installed. - zowe.logDirectory
Some Zowe components write logs to file system. This parameter specifies which directory should be used to store log files. - zowe.workspaceDirectory
Specifies components where they can write temporary runtime files. - zowe.extensionDirectory
Specifies the location of the runtime of all your extensions.
Zowe Job
- zowe.job.name
Specifies the Zowe job name for the ZWESLSTC started task. - zowe.job.prefix
Specifies the Zowe address space prefix for Zowe components.
Domain and port to access Zowe
-
zowe.externalDomains
Specifies a list of external domains to be used by the Zowe instance. This configuration is an array of domain name strings. In Sysplex deployment, this value is the DVIPA domain name defined in Sysplex Distributor. For example,zowe:
externalDomains:
- external.my-company.com
- additional-dvipa-domain.my-company.com
In Kubernetes deployment, this value is the domain name you will use to access your Zowe running in a Kubernetes cluster.
- zowe.externalPort
Specifies the port that is to be exposed to external Zowe users. By default, this value is set based on Zowe APIML Gateway port. In Sysplex deployment, this is the DVIPA port defined in Sysplex Distributor. For more information, see Configure Sysplex Distributor. In Kubernetes deployment, this value is the Gateway Service port to be exposed externally.
Extra environment variables
-
zowe.environments
Defines extra environment variables to customize the Zowe runtime. This configuration is a list of key / value pairs. Example:zowe:
environments:
MY_NEW_ENV: value-of-my-env
Variables defined here are global to all Zowe components, on all HA instances.
An example use case is to override system-wide environment variables for the Zowe runtime, such as the directory to use for temporary files.
Certificate
- zowe.certificate
Specifies the northbound certificate facing Zowe users. - zowe.verifyCertificates
Specifies how Zowe is to validate the certificates used by components or external service(s) like z/OSMF.
Possible values:STRICT
: This is the default value. Zowe validates if the certificate is trusted in Zowe's trust store and if the certificate Command Name and Subject Alternative Name (SAN) is validated. This is recommended for the best security.NONSTRICT
: Zowe validates if the certificate is trusted in Zowe's trust store. In this mode, Zowe does not validate certificate Common Name and Subject Alternative Name (SAN). This option does not have the highest security level but allows you to try out Zowe when you do not have permission to fix the certificate used by external services like z/OSMF.DISABLED
: This value disables certificate validation completely. This is NOT recommended for security purpose.
Launcher and launch scripts
Launcher is the program behind the ZWESLSTC
started task.
- zowe.launcher
The launcher section defines defaults about how the Zowe launcher acts on components. - zowe.launcher.restartIntervals
An array of positive integers that defines how many times a component attempts to be restarted if it fails, and how much time to wait in seconds for that restart to succeed before retrying. - zowe.launcher.minUptime
Specifies the minimum amount of time a Zowe component should be running in order to be declared as started successfully. - zowe.launcher.shareAs
Specifies if the launcher should start components in the same address space. See documentation for _BPX_SHAREAS for details. - zowe.launchScript.logLevel
Set todebug
ortrace
to enable different levels of debug messages from Zowe launch scripts. This setting may help troubleshoot issues during Zowe start.
Setup
Zowe YAML configuration uses the zowe.setup
section to instruct how Zowe should be installed and configured. This section is optional for Zowe runtime and only applies to zwe install
and zwe init
commands.
zowe:
setup:
dataset:
prefix: IBMUSER.ZWE
parmlib: IBMUSER.ZWE.CUST.PARMLIB
jcllib: IBMUSER.ZWE.CUST.JCLLIB
authLoadlib: IBMUSER.ZWE.CUST.ZWESALL
authPluginLib: IBMUSER.ZWE.CUST.ZWESAPL
security:
product: RACF
groups:
admin: ZWEADMIN
stc: ZWEADMIN
sysProg: ZWEADMIN
users:
zowe: ZWESVUSR
zis: ZWESIUSR
stcs:
zowe: ZWESLSTC
zis: ZWESISTC
aux: ZWESASTC
certificate:
type: PKCS12
dname:
caCommonName:
commonName:
orgUnit:
org:
locality:
state:
country:
validity: 3650
pkcs12:
directory: /global/zowe/keystore
lock: true
name: localhost
password: password
caAlias: local_ca
caPassword: local_ca_password
import:
keystore:
password:
alias:
keyring:
owner:
name: ZoweKeyring
label: localhost
caLabel: localca
import:
dsName:
password:
connect:
user:
label:
zOSMF:
ca:
user: IZUSVR
san:
- zos.my-company.com
- internal-lpar1.zos.my-company.com
- internal-lpar2.zos.my-company.com
- internal-lpar3.zos.my-company.com
importCertificateAuthorities:
-
vsam:
mode: NONRLS
volume: VOL123
storageClass:
- zowe.setup.dataset.prefix
Specifies where theSZWEAUTH
data set is installed. - zowe.setup.dataset.parmlib
Specifies the user custom parameter library. The Zowe server command may generate sample PARMLIB members and stores in this library. - zowe.setup.dataset.jcllib
Specifies the custom JCL library. The Zowe server command may generate sample JCLs and put into this data set. - zowe.setup.dataset.authLoadlib
Specifies the user custom APF LOADLIB. This field is optional. If this parameter is defined, members ofSZWEAUTH
are copied over to this data set to be APF authorized. If this parameter is not defined,SZWEAUTH
fromzowe.setup.dataset.prefix
is APF authorized. - zowe.setup.dataset.authPluginLib
Specifies the user custom APF PLUGINLIB. Zowe ZIS plug-ins can be installed into this load library. This loadlib requires APF authorize. - zowe.setup.security.product
Speficies the security product. Can beRACF
,ACF2
, orTSS
. This configuration is optional. The default value isRACF
. - zowe.setup.security.groups.admin
Specifies the group for Zowe administrators. This configuration is optional. The default value isZWEADMIN
. - zowe.setup.security.groups.stc
Specifies the group for Zowe started tasks. This configuration is optional. The default value isZWEADMIN
. - zowe.setup.security.groups.sysProg
Speficies the system programmer user ID/group. This configuration is optional. The default value isZWEADMIN
. - zowe.setup.security.users.zowe
Specifies the userid for Zowe started task. This configuration is optional. The default value isZWESVUSR
. - zowe.setup.security.users.zis
Specifies the userid for ZIS started task. This configuration is optional. The default value isZWESIUSR
. - zowe.setup.security.stcs.zowe
Specifies the Zowe started task name. This configuration is optional. The default value isZWESLSTC
. - zowe.setup.security.stcs.zis
Specifies the ZIS started task name. This configuration is optional. The default value isZWESISTC
. - zowe.setup.security.stcs.aux
Specifies ZIS AUX started task name. This configuration is optional. The default value isZWESASTC
. - zowe.setup.certificate.type
Specifies the type of certificate. Valid values arePKCS1
(USS keystore) orJCERACFKS
(z/OS keyring). - zowe.setup.certificate.dname
Specifies the distinguished name of the certificate. You can definecaCommonName
,commonName
,orgUnit
,org
,locality
,state
, and / orcountry
. These configurations are optional. - zowe.setup.certificate.validity
Specifies the validity days of the certificate. This is optional. - zowe.setup.certificate.san
Specifies theSubject Alternative Name
(s) of the certificate if they are different fromzowe.externalDomains
. Note that forJCERACFKS
type, with limitation of RACDCERT command, this should contain exact one hostname (domain) and one IP address. - zowe.setup.certificate.importCertificateAuthorities
Specifies the list of certificate authorities to be imported to the ZowePKCS12
keystore orJCERACFKS
keyring. Note that for JCERACFKS, only a maximum 2 CAs are supported. ForPKCS12
certificates, ensure this value is the USS files in PEM format. ForJCERACFKS
certificates, ensure this value represents certificate labels on the z/OS system.
For PKCS12
certificate users
- zowe.setup.certificate.pkcs12.directory
Specifies the directory where the PKCS12 keystore and truststore are stored. This value is required ifzowe.setup.certificate.type
isPKCS12
. - zowe.setup.certificate.pkcs12.lock
Specifies a boolean configuration to indicate if the PKCS12 keystore directory is to be locked only for Zowe runtime user and group. The default value istrue
. - name, password, caAlias, and caPassword
Underzowe.setup.certificate.pkcs12
, these parameters
customize the keystore and truststore. These configurations are optional, but it is recommended to update the values from default values. - zowe.setup.certificate.pkcs12.import.keystore
Specifiy this parameter if you already acquired certificates from another CA, stored them in PKCS12 format, and want to import into Zowe PKCS12 keystore. - zowe.setup.certificate.pkcs12.import.password
Specifies the password for keystore defined inzowe.setup.certificate.pkcs12.import.keystore
. - zowe.setup.certificate.pkcs12.import.alias
Specifies the original certificate alias defined inzowe.setup.certificate.pkcs12.import.keystore
. After import, the certificate is saved as an alias specified inzowe.setup.certificate.pkcs12.name
.
For JCERACFKS
certificate (z/OS keyring) users
-
zowe.setup.certificate.keyring.owner
Specifies the keyring owner. It's optional and default value iszowe.setup.security.users.zowe
. If it's also not defined, the default value isZWESVUSR
. -
zowe.setup.certificate.keyring.name
Specifies the keyring name to be created on z/OS. This is required ifzowe.setup.certificate.type
isJCERACFKS
. -
label and caLabel
Specify these parameters underzowe.setup.certificate.keyring
to let Zowe generate a new certificate.
The default value oflabel
islocalhost
. The default value ofcaLabel
islocalca
. -
To import a certificate stored in an MVS data set into Zowe keyring, use the following parameters:
- zowe.setup.certificate.keyring.connect.dsName
This value is required to inform Zowe about the data set where the certificate stored. - zowe.setup.certificate.keyring.connect.passwor
Specifies the password when importing the certificate. - zowe.setup.certificate.keyring.label
Specifies the label of the certificate to be imported.
- zowe.setup.certificate.keyring.connect.dsName
-
To connect an existing certificate into a Zowe keyring apply the following parameters:
- zowe.setup.certificate.keyring.connect.user
This parameter is required and specifies the owner of an existing certificate. This field can have the value ofSITE
. - zowe.setup.certificate.keyring.connect.label
This parameter is required and specifies the label of an existing certificate.
- zowe.setup.certificate.keyring.connect.user
-
If
zowe.verifyCertificates
is notDISABLED
, and z/OSMF host (zOSMF.host
) is provided, Zowe attempts to trust the z/OSMF certificate.- For RACF
Zowe attempts to automatically detect the z/OSMF CA based on the certificate owner specified byzowe.setup.certificate.keyring.zOSMF.user
. The default value of this field isIZUSVR
. If the automatic detection fails, definezowe.setup.certificate.keyring.zOSMF.ca
to indicate the label of the z/OSMF root certificate authority. - For ACF2 or TSS (Top Secret)
zowe.setup.certificate.keyring.zOSMF.ca
is required to indicate the label of the z/OSMF root certificate authority.
- For RACF
-
zowe.setup.vsam.mode
Indicates if VSAM utilizes Record Level Sharing (RLS) services. Valid values areRLS
orNONRLS
. -
zowe.setup.vsam.volume
Indicates the name of volume. This field is required if VSAM mode isNONRLS
. -
zowe.setup.vsam.storageClass
Indicates the name of RLS storage class. This field is required if VSAM mode isRLS
.
YAML configurations - java
The high-level configuration java
supports these definitions:
- home
Specifies the path to the Java runtime directory.
YAML configurations - node
The high-level configuration node
supports these definitions:
- home
Specifies the path to the Node.js runtime directory.
Ensure the value of node.home
in the zowe.yaml
is visible to the Zowe STC users, and contains bin/node
.
Example:
node:
home: "/usrlppSysplex/nodejs/node-v18.18.2"
This value is valid only when the path /usrlppSysplex/nodejs/node-v18.18.2/bin/node
exists. If you observe output of node:...FSUM7351 not found
, check that the value contains bin/node
.
YAML configurations - zOSMF
The high-level configuration zOSMF
supports the following definitions:
- zOSMF.host
Specifies the hostname of your z/OSMF instance. - zOSMF.port
Specifies the port of your z/OSMF instance. - zOSMF.applId
Specifies the application ID of your z/OSMF instance.
YAML configurations - components
All Zowe components and extensions can have a dedicated section under the components
high-level configuration.
In this section, component represents any Zowe components or extension. For all components and extensions, the following parameters are the common definitions:
- components.component.enabled
Specifies if the component should be started in this Zowe instance, thereby providing control over each component instead of a group. - components.component.certificate
Allows for customization for a component to use a different certificate from default values. This section follows the same format defined in YAML configurations - certificate. If this parameter is not customized, the component uses certificates defined inzowe.certificate
. - components.component.launcher
Specifies if a specific component has a launcher section which overrides the overall Zowe Launcher default defined inzowe.launcher
.
Configure component gateway
These configurations can be used under the components.gateway
section:
- port
Specifies the port which the Gateway should start on. This value must be a valid port number. - debug
Specifies the enablement of debug mode for the Gateway. - apiml.connectionTimeout Specifies the value in milliseconds which corresponds to the period in which API ML should establish a single, non-managed connection with the service. If omitted, the default value specified in the API ML Gateway service configuration is used.
- apiml.connection.idleConnectionTimeoutSeconds
Specifies how long the connection to southbound remains open without communication. The default value is 5 seconds. The unit is in seconds. - apiml.health.protected
Specifies if the health check endpoint is accessible with or without authentication. - apiml.gateway.timeoutMillis
Specifies the timeout for the connection to the services in milliseconds. - apiml.security.x509.enabled
Specifies if client certificate authentication functionality through ZSS is enabled. Set this parameter totrue
to enable the client certificate authentication functionality through ZSS. - apiml.security.x509.externalMapperUrl
Specifies the URL where the Gateway can query the mapping of client certificates. - apiml.security.auth.jwt.customAuthHeader
Provides a valid JWT for the southbound service in the custom header. A valid value is any valid name for an HTTP header. - apiml.security.auth.passticket.customAuthHeader
Provides PassTickets for the southbound service in the custom header. A valid value is any valid name for an HTTP header. - apiml.security.auth.passticket.customUserHeader
Provides User Info when a PassTicket is provided in the custom header. A valid value is any valid name for an HTTP header. - apiml.security.auth.provider
Specifies the authentication provider used by the API Gateway. Valid options aresaf
orzosmf
. - apiml.security.auth.zosmf.serviceId
Allows customization of the service id in casezosmf
is specified as an authentication provider. The default value isibmzosmf
- apiml.security.auth.zosmf.jwtAutoconfiguration
Customizes the behavior of the Gateway with respect to how JWTs are produced. Valid options arejwt
andltpa
.jwt
is the default option.ltpa
allows the API ML to produce JWTs instead of the z/OSMF service.jwt
is the default and recommended option. - apiml.security.authorization.endpoint.url
Specifies the URL to the authorization endpoint. This endpoint informs the Gateway if a user has a particular permission on SAF profile, such as permission to theAPIML.SERVICES
profile of theZOWE
class. - apiml.security.personalAccessToken.enabled
Specifies if Personal Access Tokens are enabled. The default value isfalse
. - apiml.security.useInternalMapper
This property is a global feature toggle. Set the value totrue
to enable the Internal Mapper. The default value istrue
. - apiml.security.oidc.enabled
Specifies the global feature toggle. Set the value totrue
to enable OIDC authentication functionality. - apiml.security.oidc.registry
Specifies the SAF registry used to group identities recognized as having an OIDC identity mapping. The registry name is the string used during the creation of the mapping between distributed and mainframe user identities. For more information, see ESM configuration prerequisites. - apiml.security.oidc.jwks.uri
Specifies the URI obtained from the authorization server's metadata where the Gateway queries for the JWK used to sign and verify the access tokens. A valid value is any valid URI. - apiml.security.oidc.jwks.refreshInternalHours
Specifies the frequency in hours to refresh the JWK keys from the OIDC provider. Defaults to one hour. - apiml.security.oidc.identityMapperUser
(Optional) If the userId is different from the default Zowe runtime userId (ZWESVUSR
), specify theidentityMapperUser
userId to configure API ML access to the external user identity mapper.
User authorization is required to use the IRR.RUSERMAP
resource within the FACILITY
class. The default value is ZWESVUSR
. Permissions are set up during installation with the ZWESECUR
JCL or workflow. To authenticate to the mapping API, a JWT is sent with the request. The token represents the user that is configured with this property.
-
apiml.security.oidc.identityMapperUrl
Specifies the URL where the Gateway can query the mapping of the distributed user ID to the mainframe user ID. This property informs the Gateway about the location of this API. ZSS is the default API provider in Zowe. Note that if you are using Zowe release 2.14 or a later version, we recommend you use the API ML internal mapper. To provide your own API to perform the mapping, it is necessary to customize this value.The following URL is the default value for Zowe and ZSS:
https://${ZWE_haInstance_hostname}:${GATEWAY_PORT}/zss/api/v1/certificate/dn
-
apiml.security.ssl.verifySslCertificatesOfServices
Specifies if API ML is used to verify certificates of services in strict mode. Setting totrue
enablesstrict
mode where API ML validates if the certificate is trusted in the truststore, and also if the certificate Common Name or Subject Alternate Name (SAN) matches the service hostname. -
apiml.security.ssl.nonStrictVerifySslCertificatesOfServices
Specifies if API ML is used to verify certificates of services in non-strict mode. Setting the value totrue
enables thenon-strict
mode where API ML validates if the certificate is trusted in the truststore, but ignores the certificate Common Name or Subject Alternate Name (SAN) check. Zowe ignores this configuration whenstrict
mode is enabled withapiml.security.ssl.verifySslCertificatesOfServices
. -
apiml.service.allowEncodedSlashes
Specifies if the Gateway allows encoded characters to be part of URL requests redirected through the Gateway. Set totrue
to allow encoded characters to be part of URL requests. -
apiml.service.corsEnabled
Specifies if CORS are enabled in the API Gateway for Gateway routesgateway/api/v1/**
. Set totrue
to enable CORS. -
server.maxConnectionsPerRoute
Specifies the maximum connections for each service. -
server.maxTotalConnections
Specifies the total connections for all services registered under API Mediation Layer. -
server.ssl.enabled
Specifies if TLS is used -
server.webSocket.maxIdleTimeout
This timeout handles how long the Websocket connection remains open if there is no communication happening over the open connection. The default is one hour (3600000 milliseconds). -
server.webSocket.connectTimeout
This timeout limits how long the API Gateway waits until it drops connection if the Gateway cannot reach the target server. The default is 45 seconds (45000 milliseconds). -
server.webSocket.asyncWriteTimeout
This timeout handles how long before the server fails with an unsuccessful response when trying to write a message to the Websocket connection. The default is 60 seconds (60000 milliseconds). -
server.webSocket.requestBufferSize
This property handles the maximum request size allowed in the WebSocket handshake requests. The default is 8K.
Configure component discovery
These configurations can be applied to the components.discovery
section:
-
port
Specifies the port which discovery is to be started on. This value may be a valid port number or an offset from the Gateway component's port. To define an offset enter"+{offset}"
or"-{offset}"
as a string. The offset must start with+
or-
. -
debug
Specifies the enablement of debug mode for the Discovery Service. -
apiml.health.protected
Specifies if the health check endpoint is accessible with or without authentication. -
apiml.security.ssl.verifySslCertificatesOfServices
Specifies if API ML is to verify certificates of services instrict
mode. Set totrue
to enablestrict
mode where API ML validates both trust in the certificate in the turststore, and also if the certificate Common Name or Subject Alternate Name (SAN) matches the service hostname. -
apiml.security.ssl.nonStrictVerifySslCertificatesOfServices
Specifies if API ML is to verify certificates of services innon-strict
mode. Set totrue
to enable thenon-strict
mode where API ML validates if the certificate is trusted in the truststore, but ignores the certificate Common Name or Subject Alternate Name (SAN) check. Zowe ignores this configuration ifstrict
mode is enabled withapiml.security.ssl.verifySslCertificatesOfServices
. -
alternativeStaticApiDefinitionsDirectories
Specifies the alternative directories of static definitions. A valid value is the list of directories separated by commas. -
apiml.server.maxTotalConnections
Specifies the total number of connections for all services registered under API Mediation Layer. -
apiml.discovery.serviceIdPrefixReplacer
Modifies the service ID of a service instance before it registers to API Mediation Layer. Use this parameter to ensure compatibility of services that use a non-conformant organization prefix with v2, based on Zowe v2 conformance. -
server.ssl.enabled
Specifies if TLS is used. The default value istrue
.
Configure component api-catalog
The following configurations can be used under the components.api-catalog
section:
- port
Specifies the port which API Catalog is to be started on. - debug
Specifies the enablement of debug mode for the API Catalog. This value is equivalent to theAPIML_DEBUG_MODE_ENABLED
variable but with a higher granular level. - apiml.health.protected
Specifies if the health check endpoint is accessible with or without authentication. The default value istrue
. - apiml.security.authorization.provider
Specifies the provider used for the SAF resource check. - apiml.security.authorization.endpoint.url
Specifies the base path of endpoint's URL ({base path}/{userId}/{class}/{entity}/{level}
). - apiml.catalog.customStyle.logo
Specifies the location of the logo that replaces the default Zowe logo in the API Catalog header. Supported image formats are:svg
,png
andjpg/jpeg
. - apiml.catalog.customStyle.fontFamily
Specifies the font family to use across the API Catalog. - apiml.catalog.customStyle.backgroundColor
Specifies the HTML color of the main background across the API Catalog. - apiml.catalog.customStyle.titlesColor`
Specifies the title color. - `apiml.catalog.customStyle.headerColor
Specifies the HTML color of the header element in the API Catalog home page. - apiml.catalog.customStyle.textColor
Specifies the HTML color of the main text across the API Catalog - apiml.catalog.customStyle.docLink
Specifies a custom link to be displayed in the header. Use this property to refer to applicable documentation. The format is<link_name>|<link_url>
.
Configure component Caching Service
These configurations can be used under the components.caching-service
section:
- port
Specifies the port which Caching Service should be started on. This may be defined as a valid port number or as an offset from the Gateway component's port. To define an offset enter"+{offset}"
or"-{offset}"
as a string. The offset must start with+
or-
. - debug
Specifies if debug mode is enabled for the Caching Service. - storage.mode
Sets the storage type used to persist data in the Caching Service. The valid values areinfinispan
, andredis
. - storage.size
Specifies the number of records before eviction strategies start evicting. - storage.evictionStrategy
Specifies eviction strategy to be used when the storage size is achieved. The valid values arereject
, andremoveOldest
. - storage.vsam.name
Specifies the data set name of the Caching service VSAM data set. - storage.infinispan.initialHosts
This property specifies the list of cluster nodes (members). In case of multiple instances, the value for each Caching Service instance can be either a list of all the members, separated by a comma, or just the replica. The format is${haInstance.hostname}[${components.caching-service.storage.infinispan.jgroups.port}]
. - storage.infinispan.persistence.dataLocation
The path where the Soft-Index store keeps its data files for the Infinispan Soft-Index Cache Store. The default value isdata
. If you run the Caching Service in Highly Available mode and the instances use the same filesystem, you have to specify a different value of theCACHING_STORAGE_INFINISPAN_PERSISTENCE_DATALOCATION
property for each instance. For more information, see the Soft-Index File Store. - storage.infinispan.jgroups.port
Specifies the port number used by Infinispan to synchronise data among caching-service instances. - storage.redis.masterNodeUri
Specifies the URI used to connect to the Redis master instance in the formusername:password@host:port
. - storage.redis.timeout
Specifies the timeout second to Redis. Defaults to 60 seconds. - storage.redis.sentinel.masterInstance
Specifies the Redis master instance ID used by the Redis Sentinel instances. - storage.redis.sentinel.nodes
Specifies the array of URIs used to connect to a Redis Sentinel instances in the formusername:password@host:port
. - storage.redis.ssl.enabled
Specifies the boolean flag indicating if Redis is being used with SSL/TLS support. Defaults totrue
. - storage.redis.ssl.keystore
Specifies the keystore file used to store the private key. - storage.redis.ssl.keystorePassword
Specifies the password used to unlock the keystore. - storage.redis.ssl.truststore
Specifies the truststore file used to keep other parties public keys and certificates. - storage.redis.ssl.truststorePassword
Specifies the password used to unlock the truststore. - apiml.security.ssl.verifySslCertificatesOfServices
Specifies if API ML is to verify certificates of services in strict mode. Set totrue
to enablestrict
mode where API ML validates both if the certificate is trusted in truststore, and also if the certificate Common Name or Subject Alternate Name (SAN) match the service hostname. - apiml.security.ssl.nonStrictVerifySslCertificatesOfServices
Specifies if API ML is to verify certificates of services in non-strict mode. Set totrue
to enablenon-strict
mode where API ML validates if the certificate is trusted in truststore, but ignores the certificate Common Name or Subject Alternate Name (SAN) check. Zowe ignores this configuration if strict mode is enabled withapiml.security.ssl.verifySslCertificatesOfServices
.
Configure component app-server
The following configurations can be used under the components.app-server
section:
- port
Specifies the port which App Server is to be started on. This value may be defined as a valid port number or as an offset from the Gateway component's port. To define an offset enter"+{offset}"
or"-{offset}"
as a string. The offset must start with+
or-
.
Configure component zss
The following configurations can be used under the components.zss
section:
- port
Specifies the port which ZSS is to be started on. This value may be defined as a valid port number or as an offset from the Gateway component's port. To define an offset enter"+{offset}"
or"-{offset}"
as a string. The offset must start with+
or-
.
Configure external extension
You can define a components.<extension-id>
section and use common component configuration entries.
For example, enable my-extension
:
components:
# for extensions, you can add your definition like this
my-extension:
enabled: true
YAML configurations - haInstances
All Zowe high availability instances should have a dedicated section under the haInstances
high-level configuration.
In this section, ha-instance represents any Zowe high availability instance ID.
For all high availability instances, these are the common definitions.
- haInstances.ha-instance.hostname
Specifies the host name where you want to start this instance. This value could be the host name of one LPAR in your Sysplex. - haInstances.ha-instance.sysname
Specifies the system name of the LPAR where the instance is running. Zowe uses theROUTE
command to send JES2 start or stop command to this HA instance. - haInstances.ha-instance.components.component
This optional settings allows you to override component configurations for this high availability instance. See Configuration override - defaults.yaml for more details.
Auto-generated environment variables
Each line of Zowe YAML configuration has a matching environment variable during runtime. This variable is converted based on a pre-defined pattern:
- All configurations under
zowe
,components
,haInstances
are converted to a variable with the name with the following conditions:- prefixed with
ZWE_
- any non-alphabetic-numeric characters are converted to underscore (
_
) - no double underscores (
__
)
- prefixed with
- Calculated configurations of
haInstance
, which is a portion ofhaInstances.<current-ha-instance>
are converted the same way. - Calculated configurations of
configs
, which is a portion ofhaInstances.<current-ha-instance>.components.<current-component>
are converted the same way. - All other configuration entries are converted to a variable with a name with the following conditions:
- all upper cases
- any non-alphabetic-numeric characters are converted to underscore (
_
) - no double underscores (
__
)
Examples:
ZWE_zowe_runtimeDirectory
is parent directory wherezwe
server command is located.ZWE_zowe_workspaceDirectory
is the path of the user customized workspace directory.ZWE_zowe_setup_dataset_prefix
is the high-level qualifier where Zowe MVS data sets are installed.ZWE_zowe_setup_dataset_parmlib
is the data set configured to store customized version of parameter library members.ZWE_zowe_setup_dataset_authPluginLib
is the data set configured to store APF authorized ZIS plug-ins load library.ZWE_zowe_setup_security_users_zowe
is the name of Zowe runtime user.ZWE_configs_port
is your component port number you can use in your start script. It points to the value ofhaInstances.<current-ha-instance>.components.<your-component>.port
, or fall back tocomponents.<my-component>.port
, or fall back toconfigs.port
defined in your component manifest.
Troubleshooting your YAML with the Red Hat VS Code extension
After you download the Red Hat VSCode extension for YAML, YAML validation for your files is turned on by default. Syntax mistakes are highlighted in red. To parse sensitive information, we highly recommend leaving the data gathering option disabled. To customize your settings, click the "Extensions" category in VS Code left-hand side workspace, scroll down to YAML Language Support by Red Hat, and click the gear icon, and select "Extension Settings".