<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://all.docs.genesys.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop</id>
	<title>Genesys Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://all.docs.genesys.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=WikiSysop"/>
	<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/Special:Contributions/WikiSysop"/>
	<updated>2026-06-14T14:24:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=RN/AuthenticationService/100.0.001.0194&amp;diff=133586</id>
		<title>RN/AuthenticationService/100.0.001.0194</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=RN/AuthenticationService/100.0.001.0194&amp;diff=133586"/>
		<updated>2026-05-27T06:30:52Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=1bff5e74-a889-4bb8-b75a-8d721f63766e&lt;br /&gt;
|JQL=default&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-20&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-20&lt;br /&gt;
|Highlight=Contains new Genesys Authentication Service (gauth-service-authentication), Spring Security modernization, SAML 2.0 upgrade, resolved issue and security fixes&lt;br /&gt;
&lt;br /&gt;
'''NOTE''': Please ignore previous Private Edition Release version 100.0.001.0193&lt;br /&gt;
|Containers=*gauth-service-authentication: 100.0.001.0193&lt;br /&gt;
*gws-core-environment: 100.0.018.2294&lt;br /&gt;
*gws-ui-auth: 100.0.018.1686&lt;br /&gt;
*gauth-100.0.101+0258.tgz&lt;br /&gt;
*gauth-infra-bg-100.0.101+36.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent='''NOTE''': Please ignore previous Private Edition Release version 100.0.001.0193&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=AUTH-2273&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Added new service names gauth-service-authentication as a replacement for the legacy gauth-core. Following are the major changes introduced as part of gauth-service-authentication.&lt;br /&gt;
&lt;br /&gt;
#OAuth2 implementation is migrated to Spring Security 6.4.x OAuth2 modules from deprecated Spring Security OAuth2 (2.5.2.RELEASE).&lt;br /&gt;
#Upgrade SAML 2.0 to Spring Security built-in SAML2 Service Provider replacing deprecated Spring Security SAML (1.0.10.RELEASE)&lt;br /&gt;
#Resolved multiple Spring framework security vulnerabilities.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Deployment and '''cutover''' of new auth-service-authentication.&lt;br /&gt;
|SupportingDocumentation=https://all.docs-qa.genesys.com/Draft:AUTH/Current/AuthPEGuide/Deploy#Genesys_Service_Authentication_Cut_Over_Guide&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39778&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=In GAuth Env Service, upgraded Spring Boot to 3.5.12, Gradle to 7.6.4, and Netty to 4.1.132 to address security vulnerabilities and dependency&lt;br /&gt;
&lt;br /&gt;
updates.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=7677e764-86f7-44e3-92bc-f13b59c71260&lt;br /&gt;
|LocalContent=The new gauth-service-authentication '''100.0.001.0193''' does not currently support JWT access token format.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=RN/GenesysWeb_Services_and_Applications/9.0.003.49&amp;diff=133584</id>
		<title>RN/GenesysWeb Services and Applications/9.0.003.49</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=RN/GenesysWeb_Services_and_Applications/9.0.003.49&amp;diff=133584"/>
		<updated>2026-05-27T06:00:55Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=d8ae146d-0abb-4c7e-8a14-3be0a382a3d5&lt;br /&gt;
|JQL=issue in (GAPI-39761, GAPI-39752, GAPI-39431, GAPI-39430, GAPI-39276, GAPI-39795, GAPI-39794, GAPI-39551)&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-21&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-21&lt;br /&gt;
|Highlight=Contains new features, Security updates and resolved issues.&lt;br /&gt;
&lt;br /&gt;
'''NOTE''': Please ignore previous version 9.0.003.48&lt;br /&gt;
|Containers=*gws-app-provisioning:9.0.001.22&lt;br /&gt;
*gws-app-workspace:9.0.001.18&lt;br /&gt;
*gws-platform-chat:9.0.000.69&lt;br /&gt;
*gws-platform-configuration:9.0.001.06&lt;br /&gt;
*gws-platform-datacollector:9.0.000.76&lt;br /&gt;
*gws-platform-ixn:9.0.000.68&lt;br /&gt;
*gws-platform-ocs:9.0.000.71&lt;br /&gt;
*gws-platform-setting:9.0.000.76&lt;br /&gt;
*gws-platform-statistics:9.0.000.86&lt;br /&gt;
*gws-platform-ucs:9.0.000.67&lt;br /&gt;
*gws-platform-voice:9.0.000.91&lt;br /&gt;
*gws-service-configuration:9.0.000.12&lt;br /&gt;
*gws-services-2.0.2.tgz&lt;br /&gt;
*gws-monitoring-1.0.24.tgz&lt;br /&gt;
*gws-ingress-1.0.46.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39794&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Added support for Prometheus v3, including proper Content-Type handling for metrics scraping&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent='''NOTE''': Please ignore previous version 9.0.003.48&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39761&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS Data Collector service has been upgraded from Elasticsearch REST High Level Client 7.x to Elasticsearch Java API Client 8.x. Data collector service now supports both ES8 and ES9 versions of Elasticsearch.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39752&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS9 - Update to Spring-Boot 3.5 and JDK21 Support.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39431&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws workspace service to node 22.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39430&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws provisioning service to node 22.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39276&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=Security patches and vulnerability fixes for system and application libraries.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39551&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Previously, Agents couldn’t log in a voice channel in WWE if SIP Cluster configuration had non-existing SIP node in the list of SIP Cluster nodes. Now, GWS filters non-existing SIP Cluster Nodes and allows Agents to log in the voice channel.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=RN/AuthenticationService/100.0.001.0194&amp;diff=133579</id>
		<title>RN/AuthenticationService/100.0.001.0194</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=RN/AuthenticationService/100.0.001.0194&amp;diff=133579"/>
		<updated>2026-05-26T07:01:05Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=1bff5e74-a889-4bb8-b75a-8d721f63766e&lt;br /&gt;
|JQL=issue in(AUTH-2273)&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-20&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-20&lt;br /&gt;
|Highlight=Contains new Genesys Authentication Service (gauth-service-authentication), Spring Security modernization, SAML 2.0 upgrade, resolved issue and security fixes.&lt;br /&gt;
|Containers=*gws-service-authentication:  100.0.001.0193&lt;br /&gt;
*gws-core-environment: 100.0.018.2294&lt;br /&gt;
*gws-ui-auth: 100.0.018.1686&lt;br /&gt;
*gauth-100.0.101+0258.tgz&lt;br /&gt;
*gauth-infra-bg-100.0.101+36.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=AUTH-2273&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Added new service names gauth-service-authentication as a replacement for the legacy gauth-core. Following are the major changes introduced as part of gauth-service-authentication.&lt;br /&gt;
&lt;br /&gt;
*OAuth2 implementation is migrated to Spring Security 6.4.x OAuth2 modules from deprecated Spring Security OAuth2 (2.5.2.RELEASE).&lt;br /&gt;
*Upgrade SAML 2.0 to Spring Security built-in SAML2 Service Provider replacing deprecated Spring Security SAML (1.0.10.RELEASE).&lt;br /&gt;
*Resolved multiple Spring framework security vulnerabilities.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39778&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=In GAuth Env Service, upgraded Spring Boot to 3.5.12, Gradle to 7.6.4, and Netty to 4.1.132 to address security vulnerabilities and dependency updates.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Deployment and '''cutover''' of new auth-service-authentication.&lt;br /&gt;
|SupportingDocumentation=https://all.docs-qa.genesys.com/Draft:AUTH/Current/AuthPEGuide/Deploy#Genesys_Service_Authentication_Cut_Over_Guide&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=7677e764-86f7-44e3-92bc-f13b59c71260&lt;br /&gt;
|LocalContent=The new gauth-service-authentication '''100.0.001.0193''' does not currently support JWT access token format&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=RN/GenesysWeb_Services_and_Applications/9.0.003.49&amp;diff=133577</id>
		<title>RN/GenesysWeb Services and Applications/9.0.003.49</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=RN/GenesysWeb_Services_and_Applications/9.0.003.49&amp;diff=133577"/>
		<updated>2026-05-26T06:30:59Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=d8ae146d-0abb-4c7e-8a14-3be0a382a3d5&lt;br /&gt;
|JQL=issue in (GAPI-39761, GAPI-39752, GAPI-39431, GAPI-39430, GAPI-39276, GAPI-39795, GAPI-39794, GAPI-39551)&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-20&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-20&lt;br /&gt;
|Highlight=Contains new features, Security updates and resolved issues.&lt;br /&gt;
|Containers=*gws-app-provisioning:9.0.001.22&lt;br /&gt;
*gws-app-workspace:9.0.001.18&lt;br /&gt;
*gws-platform-chat:9.0.000.69&lt;br /&gt;
*gws-platform-configuration:9.0.001.06&lt;br /&gt;
*gws-platform-datacollector:9.0.000.76&lt;br /&gt;
*gws-platform-ixn:9.0.000.68&lt;br /&gt;
*gws-platform-ocs:9.0.000.71&lt;br /&gt;
*gws-platform-setting:9.0.000.76&lt;br /&gt;
*gws-platform-statistics:9.0.000.86&lt;br /&gt;
*gws-platform-ucs:9.0.000.67&lt;br /&gt;
*gws-platform-voice:9.0.000.91&lt;br /&gt;
*gws-service-configuration:9.0.000.12&lt;br /&gt;
*gws-services-2.0.2.tgz&lt;br /&gt;
*gws-monitoring-1.0.24.tgz&lt;br /&gt;
*gws-ingress-1.0.46.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39794&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Added support for Prometheus v3, including proper Content-Type handling for metrics scraping&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39761&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS Data Collector service has been upgraded from Elasticsearch REST High Level Client 7.x to Elasticsearch Java API Client 8.x. Data collector service now supports both ES8 and ES9 versions of Elasticsearch.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39752&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS9 - Update to Spring-Boot 3.5 and JDK21 Support.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39431&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws workspace service to node 22.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39430&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws provisioning service to node 22.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39276&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=Security patches and vulnerability fixes for system and application libraries.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39551&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Previously, Agents couldn’t log in a voice channel in WWE if SIP Cluster configuration had non-existing SIP node in the list of SIP Cluster nodes. Now, GWS filters non-existing SIP Cluster Nodes and allows Agents to log in the voice channel.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=RN/AuthenticationService/100.0.001.0194&amp;diff=133576</id>
		<title>RN/AuthenticationService/100.0.001.0194</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=RN/AuthenticationService/100.0.001.0194&amp;diff=133576"/>
		<updated>2026-05-26T06:30:56Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=1bff5e74-a889-4bb8-b75a-8d721f63766e&lt;br /&gt;
|JQL=issue in(AUTH-2273)&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-19&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-19&lt;br /&gt;
|Highlight=Contains new Genesys Authentication Service (gauth-service-authentication), Spring Security modernization, SAML 2.0 upgrade, resolved issue and security fixes.&lt;br /&gt;
|Containers=*gws-service-authentication:  100.0.001.0193&lt;br /&gt;
*gws-core-environment: 100.0.018.2294&lt;br /&gt;
*gws-ui-auth: 100.0.018.1686&lt;br /&gt;
*gauth-100.0.101+0258.tgz&lt;br /&gt;
*gauth-infra-bg-100.0.101+36.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=AUTH-2273&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Added new service names gauth-service-authentication as a replacement for the legacy gauth-core. Following are the major changes introduced as part of gauth-service-authentication.&lt;br /&gt;
&lt;br /&gt;
*OAuth2 implementation is migrated to Spring Security 6.4.x OAuth2 modules from deprecated Spring Security OAuth2 (2.5.2.RELEASE).&lt;br /&gt;
*Upgrade SAML 2.0 to Spring Security built-in SAML2 Service Provider replacing deprecated Spring Security SAML (1.0.10.RELEASE).&lt;br /&gt;
*Resolved multiple Spring framework security vulnerabilities.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39778&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=In GAuth Env Service, upgraded Spring Boot to 3.5.12, Gradle to 7.6.4, and Netty to 4.1.132 to address security vulnerabilities and dependency updates.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Deployment and '''cutover''' of new auth-service-authentication.&lt;br /&gt;
|SupportingDocumentation=https://all.docs-qa.genesys.com/Draft:AUTH/Current/AuthPEGuide/Deploy#Genesys_Service_Authentication_Cut_Over_Guide&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=7677e764-86f7-44e3-92bc-f13b59c71260&lt;br /&gt;
|LocalContent=The new gauth-service-authentication '''100.0.001.0193''' does not currently support JWT access token format&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=AUTH/Current/AuthPEGuide/Deploy&amp;diff=133572</id>
		<title>AUTH/Current/AuthPEGuide/Deploy</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=AUTH/Current/AuthPEGuide/Deploy&amp;diff=133572"/>
		<updated>2026-05-26T06:00:40Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ArticlePEServiceDeploy&lt;br /&gt;
|ServiceId=6f7f1a8d-4e60-4b8d-a6f0-8cafdbdf0a3e&lt;br /&gt;
|IncludeAssumptions=Yes&lt;br /&gt;
|Section={{Section&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext={{NoteFormat|Make sure to review {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Planning}} for the full list of prerequisites required to deploy Genesys Authentication.|}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Prepare your environment&lt;br /&gt;
|anchor=Prepare&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=To prepare your environment for the deployment, complete the steps in this section for Google Kubernetes Engine (GKE).&lt;br /&gt;
&lt;br /&gt;
===GKE===&lt;br /&gt;
Log in to the GKE cluster from the host where you will run the deployment:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
gcloud container clusters get-credentials &amp;lt;cluster&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Create a new namespace for Genesys Authentication with a JSON file that specifies the namespace metadata. For example, '''create-gauth-namespace.json''': &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;apiVersion&amp;quot;: &amp;quot;v1&amp;quot;,&lt;br /&gt;
  &amp;quot;kind&amp;quot;: &amp;quot;Namespace&amp;quot;,&lt;br /&gt;
  &amp;quot;metadata&amp;quot;: {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;gauth&amp;quot;,&lt;br /&gt;
    &amp;quot;labels&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;gauth&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Execute the following command to create the namespace:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl apply -f create-gauth-namespace.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Confirm the namespace was created:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl describe namespace gauth&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===AKS===&lt;br /&gt;
Log in to the AKS cluster from the host where you will run the deployment:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
az aks get-credentials --resource-group &amp;lt;resource-group&amp;gt; --name &amp;lt;cluster-name&amp;gt; --admin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Create a new namespace for Genesys Authentication with a JSON file that specifies the namespace metadata. For example, '''create-gauth-namespace.json''': &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;apiVersion&amp;quot;: &amp;quot;v1&amp;quot;,&lt;br /&gt;
  &amp;quot;kind&amp;quot;: &amp;quot;Namespace&amp;quot;,&lt;br /&gt;
  &amp;quot;metadata&amp;quot;: {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;gauth&amp;quot;,&lt;br /&gt;
    &amp;quot;labels&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;gauth&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Execute the following command to create the namespace:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl apply -f create-gauth-namespace.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Confirm the namespace was created:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl describe namespace gauth&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Deploy&lt;br /&gt;
|anchor=de&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=To deploy Genesys Authentication, you'll need the Helm package and your overrides file. Copy '''values.yaml''' and the Helm package ('''gauth-&amp;lt;version&amp;gt;.tgz''') to the installation location.&lt;br /&gt;
&lt;br /&gt;
===Additional Steps for deploying New Auth Service (gauth-service-authentication):===&lt;br /&gt;
&lt;br /&gt;
#Use gauth Helm chart version &amp;gt;= 100.0.101+0258&lt;br /&gt;
#Helm chart default value for new auth service is 100.0.001.'''0192.''' Update this to latest new auth service version &amp;gt;= 100.0.001.'''0193''' in your values.yaml&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;gauth-service-authentication: 100.0.001.0193&amp;lt;/source&amp;gt;&lt;br /&gt;
#For customers using gauth-infra-bg chart, Use gauth-infra-bg Helm chart version &amp;gt;= 100.0.101+36&lt;br /&gt;
#For customers using dedicated external auth pods, to deploy this new auth service as external auth pod, Update your values.yaml&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: false&lt;br /&gt;
  service_auth:&lt;br /&gt;
    externalAuth:&lt;br /&gt;
      enabled: true    # Deploy new auth ext pods&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
#'''NOTE:''' Update your old auth service version to your previous/existing old auth service version in your values.yaml&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;gws-core-auth: 100.0.018.4405 # Do not use this version, update it with existing stable version&lt;br /&gt;
gws-core-environment: 100.0.018.2294&lt;br /&gt;
gws-ui-auth: 100.0.018.1686&lt;br /&gt;
gauth-service-authentication: 100.0.001.0193&amp;lt;/source&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For debugging purposes, use the following command to render templates without installing so you can check that resources are created properly:&lt;br /&gt;
 helm template --debug /gauth-&amp;lt;version&amp;gt;.tgz -f values.yaml&lt;br /&gt;
&lt;br /&gt;
The result shows Kubernetes descriptors. The values you see are generated from Helm templates, and based on settings from '''values.yaml'''. Ensure that no errors are displayed; you will later apply this configuration to your Kubernetes cluster.&lt;br /&gt;
&lt;br /&gt;
Now you're ready to deploy Genesys Authentication:&lt;br /&gt;
 helm install gauth ./gauth-&amp;lt;version&amp;gt;.tgz -f values.yaml -n gauth&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure external access&lt;br /&gt;
|anchor=access&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Follow the instructions for either GKE or AKS to make the Genesys Authentication services accessible from outside the cluster.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{AnchorDiv|GKEingress}}&lt;br /&gt;
===Provision ingresses for GKE or AKS===&lt;br /&gt;
After deploying, make Genesys Authentication services accessible from outside the GKE or AKS cluster using the NGINX Ingress Controller. &lt;br /&gt;
&lt;br /&gt;
Create a YAML file called '''gauth-ingress.yaml''' with the content below. '''Note:''' Replace '''gws.&amp;lt;domain&amp;gt;''' and '''gauth.&amp;lt;domain&amp;gt;''' with your GWS and Genesys Authentication domains, such as &amp;lt;code&amp;gt;gws.test.dev&amp;lt;/code&amp;gt;.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
apiVersion: extensions/v1beta1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  name: gauth-gws-ingress&lt;br /&gt;
  namespace: gauth&lt;br /&gt;
  annotations:&lt;br /&gt;
    # add an annotation indicating the issuer to use.&lt;br /&gt;
    cert-manager.io/cluster-issuer: &amp;quot;selfsigned-cluster-issuer&amp;quot;&lt;br /&gt;
    # Custom annotations for NGINX Ingress Controller&lt;br /&gt;
    kubernetes.io/ingress.class: &amp;quot;nginx&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/ssl-redirect: &amp;quot;false&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/use-regex: &amp;quot;true&amp;quot;&lt;br /&gt;
spec:&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: gws.&amp;lt;domain&amp;gt; - e.g. gws.test.dev&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
        - path: /ui/auth/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-auth-ui&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
        - path: /auth/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-auth&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
        - path: /environment/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-environment&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - gws.&amp;lt;domain&amp;gt; - e.g. gws.test.dev&lt;br /&gt;
    secretName: gauth-gws-ingress-cert&lt;br /&gt;
---&lt;br /&gt;
apiVersion: extensions/v1beta1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  name: gauth-gauth-ingress&lt;br /&gt;
  namespace: gauth&lt;br /&gt;
  annotations:&lt;br /&gt;
    # add an annotation indicating the issuer to use.&lt;br /&gt;
    cert-manager.io/cluster-issuer: &amp;quot;selfsigned-cluster-issuer&amp;quot;&lt;br /&gt;
    # Custom annotations for NGINX Ingress Controller&lt;br /&gt;
    kubernetes.io/ingress.class: &amp;quot;nginx&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/ssl-redirect: &amp;quot;false&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/use-regex: &amp;quot;true&amp;quot;&lt;br /&gt;
spec:&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: gauth.&amp;lt;domain&amp;gt; - e.g. gauth.test.dev&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
        - path: /ui/auth/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-auth-ui&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
        - path: /auth/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-auth&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
 &lt;br /&gt;
        - path: /environment/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-environment&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - gauth.&amp;lt;domain&amp;gt; - e.g. gauth.test.dev&lt;br /&gt;
    secretName: gauth-gauth-ingress-cert&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Create ingresses with the following command:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl apply -f gauth-ingress.yaml -n gws&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Provision GWS services to access New Auth Service===&lt;br /&gt;
Refer {{Link-AnywhereElse|product=GWS|version=Current|manual=GWSPEGuide|topic=Configure|anchor=Genesys_services_parameters|display text=Configure GWS Services}}&lt;br /&gt;
&lt;br /&gt;
===Provision New Auth Service to access GWS configuration service===&lt;br /&gt;
Refer the Parameter &amp;lt;code&amp;gt;services.service_auth.env.GWS_AUTH_common_configService&amp;lt;/code&amp;gt; in {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Configure|anchor=Override_Helm_chart_values|display text=Override Helm chart values}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Validate the deployment&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Check the installed Helm release:&lt;br /&gt;
 helm list&lt;br /&gt;
The results should show the Genesys Authentication deployment details. For example:&lt;br /&gt;
 NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION&lt;br /&gt;
 gauth   gauth           1               2021-05-20 11:56:32.5531685 +0530 +0530 deployed        gauth-0.1.77    0.1&lt;br /&gt;
Check the '''gauth''' namespace status:&lt;br /&gt;
 helm status gauth&lt;br /&gt;
The result should show the namespace details with a status of deployed:&lt;br /&gt;
 NAME: gauth&lt;br /&gt;
 LAST DEPLOYED: Thu May 20 11:56:32 2021&lt;br /&gt;
 NAMESPACE: gauth&lt;br /&gt;
 STATUS: deployed&lt;br /&gt;
 REVISION: 1&lt;br /&gt;
 TEST SUITE: None&lt;br /&gt;
Check the Genesys Authentication Kubernetes objects created by Helm:&lt;br /&gt;
 kubectl get all -n gauth&lt;br /&gt;
The result should show all the created pods, service ConfigMaps, and so on.&lt;br /&gt;
&lt;br /&gt;
'''Verify all new auth deployments are running:'''&lt;br /&gt;
 kubectl get deployments -n gauth&lt;br /&gt;
Expected:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;gauth-auth-&amp;lt;release&amp;gt;                    2/2 # Already existing old auth pods&lt;br /&gt;
gauth-service-authentication-&amp;lt;release&amp;gt;  2/2 # New auth pods&lt;br /&gt;
gauth-environment-&amp;lt;release&amp;gt;             2/2&lt;br /&gt;
gauth-auth-ui-&amp;lt;release&amp;gt;                 2/2&amp;lt;/source&amp;gt;Customers using dedicated external auth pods, you will observe new auth external pods also deployed along with existing old auth external pods&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;gauth-auth-&amp;lt;release&amp;gt;                             2/2&lt;br /&gt;
gauth-service-authentication-&amp;lt;release&amp;gt;           2/2&lt;br /&gt;
gauth-environment-&amp;lt;release&amp;gt;                      2/2&lt;br /&gt;
gauth-auth-ui-&amp;lt;release&amp;gt;                          2/2&lt;br /&gt;
gauth-auth-ext-&amp;lt;release&amp;gt;                         2/2  # Already existing old auth external pods&lt;br /&gt;
gauth-service-auth-ext-&amp;lt;release&amp;gt;                 2/2  # New auth external pods&amp;lt;/source&amp;gt;Finally, verify that you can now access Genesys Authentication at the following URL: https://&amp;lt;hostname&amp;gt;/ui/auth/sign-in.html&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Genesys Service Authentication Cut Over Guide&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext===Overview==&lt;br /&gt;
Starting with &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; Helm chart version &amp;lt;code&amp;gt;100.0.101+0258&amp;lt;/code&amp;gt; or later, the new authentication service &amp;lt;code&amp;gt;gws-service-authentication&amp;lt;/code&amp;gt; is deployed alongside the existing authentication service &amp;lt;code&amp;gt;gauth-auth&amp;lt;/code&amp;gt;. By default, traffic continues to route to the old authentication service.  &lt;br /&gt;
&lt;br /&gt;
The cutover switches authentication traffic from the old authentication service &amp;lt;code&amp;gt;gauth-auth&amp;lt;/code&amp;gt; to the new authentication service &amp;lt;code&amp;gt;gws-service-authentication&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Before cutover:'''&lt;br /&gt;
&lt;br /&gt;
*Traffic routes to the old authentication service.&lt;br /&gt;
*Client data is copied from old database tables to new database tables.&lt;br /&gt;
*Existing authentication tokens remain in the old token format.&lt;br /&gt;
&lt;br /&gt;
'''After cutover:'''&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;/auth&amp;lt;/code&amp;gt; traffic routes to the new authentication service.&lt;br /&gt;
*New tokens are created in the new authentication token format.&lt;br /&gt;
*Existing tokens created by the old authentication service cannot be read by the new authentication service.&lt;br /&gt;
*Dependent services must be restarted, and users must re-login to obtain new tokens.&lt;br /&gt;
&lt;br /&gt;
This guide further explains how to migrate client data, validate the new service, switch authentication traffic to the new service, validate the cutover, restart dependent services, and roll back to the old service if needed &lt;br /&gt;
&lt;br /&gt;
==Migration Process:==&lt;br /&gt;
Auth Service has 2 persistent pieces of information.&lt;br /&gt;
&lt;br /&gt;
#Client Details&lt;br /&gt;
#Authentication Token&lt;br /&gt;
&lt;br /&gt;
===1.Client Details:===&lt;br /&gt;
The new authentication service (&amp;lt;code&amp;gt;gauth-service-authentication&amp;lt;/code&amp;gt;) uses the same Postgres database and Redis cluster as the old auth service (&amp;lt;code&amp;gt;gauth-auth&amp;lt;/code&amp;gt;), but with different table formats.&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{!}}'''Data'''&lt;br /&gt;
{{!}}'''Old Auth table name'''&lt;br /&gt;
{{!}}'''New Auth Table name'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Clients&lt;br /&gt;
{{!}}oauth_client_details&lt;br /&gt;
{{!}}oauth2_client_details&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Contact Centers&lt;br /&gt;
{{!}}client_contact_centers&lt;br /&gt;
{{!}}client_contact_centers2&lt;br /&gt;
{{!}}}&lt;br /&gt;
&lt;br /&gt;
'''Automatic migration''': &lt;br /&gt;
&lt;br /&gt;
When the new authentication service starts, Flyway runs the migration script:&lt;br /&gt;
 V1.7.1__CopyOauth2ClientDetailsFromOldTable.sql&lt;br /&gt;
This migration copies client data from the old tables to the new tables.&lt;br /&gt;
&lt;br /&gt;
The migration runs once on the first startup of the new authentication service. On subsequent restarts, Flyway skips the migration because it has already been applied.&lt;br /&gt;
&lt;br /&gt;
===2. Authentication Token:===&lt;br /&gt;
Authentication tokens from the old authentication service are not migrated. The old and new authentication services use incompatible token storage formats. Tokens created by the old authentication service cannot be read by the new authentication service. In order to regenerate the tokens, refer to step {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Deploy|anchor=Restart_Applicable_Services|display text=Restart Applicable Services}} of CutOver steps.&lt;br /&gt;
&lt;br /&gt;
And below is the difference in token storage formats of both the authentication services,&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{!}}'''Area'''&lt;br /&gt;
{{!}}'''Old Auth'''&lt;br /&gt;
{{!}}'''New Auth'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Serialization&lt;br /&gt;
{{!}}JDK binary&lt;br /&gt;
{{!}}Jackson JSON&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Key prefix&lt;br /&gt;
{{!}}configurable (empty)&lt;br /&gt;
{{!}}GWS:Auth:V3:&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Token keys&lt;br /&gt;
{{!}}plain token values&lt;br /&gt;
{{!}}SHA-256 hashed&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Data model&lt;br /&gt;
{{!}}OAuth2AccessToken + OAuth2Authentication&lt;br /&gt;
{{!}}OAuth2Authorization (unified)&lt;br /&gt;
{{!}}}&lt;br /&gt;
&lt;br /&gt;
==Pre Validation==&lt;br /&gt;
Complete the following checks before switching traffic to the new authentication service.&lt;br /&gt;
&lt;br /&gt;
===Step 1: Verify New Auth service health===&lt;br /&gt;
Check that the new authentication pods are running:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get pods -n gauth -l gauth=service-auth&amp;lt;/source&amp;gt;Check health from the pod:&lt;br /&gt;
 kubectl exec -n gauth &amp;lt;new-auth-pod&amp;gt; -- curl -s &amp;lt;nowiki&amp;gt;http://localhost:8081/health&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Expected response: &lt;br /&gt;
 {&amp;quot;status&amp;quot;:&amp;quot;UP&amp;quot;}&lt;br /&gt;
Verify that the service started successfully:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl logs -n gauth &amp;lt;new-auth-pod&amp;gt; | grep -i &amp;quot;Started&amp;quot;&amp;lt;/source&amp;gt;Expected log message:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Started AuthorizationServerApplication in X seconds&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 2: Verify Client Data Migration===&lt;br /&gt;
Check the new authentication service logs for Flyway migration status:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl logs -n gauth &amp;lt;new-auth-pod&amp;gt; | grep -i &amp;quot;migrat&amp;quot;&amp;lt;/source&amp;gt;Expected output on first startup:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Migrating schema &amp;quot;public&amp;quot; to version &amp;quot;1.7.1 - CopyOauth2ClientDetailsFromOldTable&amp;quot;&lt;br /&gt;
Successfully applied 1 migration(s) to schema &amp;quot;public&amp;quot;&amp;lt;/source&amp;gt;Expected output if the migration was already applied:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Schema &amp;quot;public&amp;quot; is up to date. No migration necessary.&amp;lt;/source&amp;gt;You can also verify migrated client data through the operations API on the new authentication pod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Start port-forwarding:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl port-forward -n gauth &amp;lt;new-auth-pod&amp;gt; 8080:8080&amp;lt;/source&amp;gt;Then call the GET Clients API:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -u &amp;lt;admin_username&amp;gt;:&amp;lt;admin_password&amp;gt; \&lt;br /&gt;
  http://localhost:8080/auth/v3/ops/clients&amp;lt;/source&amp;gt;Expected result:&lt;br /&gt;
&lt;br /&gt;
*Clients are returned from the new authentication service.&lt;br /&gt;
*If no clients are returned, do not proceed with cutover until migration is verified.&lt;br /&gt;
&lt;br /&gt;
===Step 3:  Run a Pre-cutover functional test===&lt;br /&gt;
Before switching traffic, verify the new authentication service directly through pod port-forwarding.&lt;br /&gt;
&lt;br /&gt;
Start port-forwarding:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl port-forward -n gauth &amp;lt;new-auth-pod&amp;gt; 8080:8080&lt;br /&gt;
&amp;lt;/source&amp;gt;Call the token endpoint:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST http://localhost:8080/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:  &amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Cut Over==&lt;br /&gt;
&lt;br /&gt;
===Step 1: Configure Helm Values===&lt;br /&gt;
Refer {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Configure|anchor=Override_Helm_chart_values|display text=Configure Genesys Authentication}} for below helm values configurations&lt;br /&gt;
&lt;br /&gt;
===='''Customers Using the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; Chart Only'''====&lt;br /&gt;
Set the following value:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;This value is required to switch traffic to the new authentication service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If dedicated external authentication pods are required, also set:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  service_auth:&lt;br /&gt;
    externalAuth:&lt;br /&gt;
      enabled: true&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===='''Customers Using Both &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; Charts'''====&lt;br /&gt;
For the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; chart, set:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;For the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart, set:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;active:&lt;br /&gt;
  useNewAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;If dedicated external authentication is required, also set:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;active:&lt;br /&gt;
  externalAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;'''Important''': Always set &amp;lt;code&amp;gt;services.useNewAuth&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;active.useNewAuth&amp;lt;/code&amp;gt; to the same value. Mismatched values can result in two ingresses pointing to different authentication services, causing unpredictable routing behavior.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Confirm Database Migration Is Enabled===&lt;br /&gt;
Automatic migration of PostgreSQL data from old auth tables to new auth tables is enabled by default.&lt;br /&gt;
&lt;br /&gt;
Example configuration:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: false&lt;br /&gt;
&lt;br /&gt;
  secrets:&lt;br /&gt;
    useSecretProviderClass: false&lt;br /&gt;
&lt;br /&gt;
  replicas: 3&lt;br /&gt;
  location: /&lt;br /&gt;
&lt;br /&gt;
  db:&lt;br /&gt;
    init: true # enables automatic migration&lt;br /&gt;
    poolSize: 3&amp;lt;/source&amp;gt;&lt;br /&gt;
===Step 3: Deploy the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; Helm Chart===&lt;br /&gt;
Deploy the updated &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; chart:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;helm upgrade --install gauth ./gauth-&amp;lt;version&amp;gt;.tgz \&lt;br /&gt;
  -f &amp;lt;your-values-file&amp;gt;.yaml \&lt;br /&gt;
  -n gauth \&lt;br /&gt;
  --wait \&lt;br /&gt;
  --timeout 600s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 4: Verify Ingress Routes to New Auth===&lt;br /&gt;
Verify that &amp;lt;code&amp;gt;/auth/&amp;lt;/code&amp;gt; routes to the new authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -o yaml | grep -A5 &amp;quot;path: /auth/&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-service-authentication-&amp;lt;release&amp;gt;&lt;br /&gt;
    port:&lt;br /&gt;
      number: 8080&lt;br /&gt;
&amp;lt;/source&amp;gt;If the backend still shows &amp;lt;code&amp;gt;gauth-auth-&amp;lt;release&amp;gt;&amp;lt;/code&amp;gt;, the cutover has not taken effect.&lt;br /&gt;
&lt;br /&gt;
===Step 5: Verify External Auth Ingress, If Used===&lt;br /&gt;
For customers using dedicated external authentication, verify that &amp;lt;code&amp;gt;/auth/v3/oauth/token&amp;lt;/code&amp;gt; routes to the new external authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -o yaml | grep -A5 &amp;quot;path: /auth/v3/oauth/token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/v3/oauth/token&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-service-auth-ext-&amp;lt;release&amp;gt;&lt;br /&gt;
    port:&lt;br /&gt;
      number: 8080&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;If the backend still shows &amp;lt;code&amp;gt;gauth-auth-ext-&amp;lt;release&amp;gt;&amp;lt;/code&amp;gt;, the external authentication cutover has not taken effect.&lt;br /&gt;
&lt;br /&gt;
===Additional Steps for Customers Using &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt;===&lt;br /&gt;
Update the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart values:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;active:&lt;br /&gt;
  useNewAuth: true&lt;br /&gt;
  externalAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;Set &amp;lt;code&amp;gt;externalAuth: true&amp;lt;/code&amp;gt; only if dedicated external authentication is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deploy the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;helm upgrade --install gauth-infra ./gauth-infra-bg-&amp;lt;version&amp;gt;.tgz \&lt;br /&gt;
  -f &amp;lt;your-infra-values-file&amp;gt;.yaml \&lt;br /&gt;
  -n gauth \&lt;br /&gt;
  --wait&lt;br /&gt;
&amp;lt;/source&amp;gt;Verify that &amp;lt;code&amp;gt;/auth/&amp;lt;/code&amp;gt; routes to the new authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -l service=gauth-infra-bg -o yaml | grep -A5 &amp;quot;path: /auth/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-service-authentication-&amp;lt;infra-release&amp;gt;-active&lt;br /&gt;
    port:&lt;br /&gt;
      number: 80&lt;br /&gt;
&amp;lt;/source&amp;gt;If the backend still shows &amp;lt;code&amp;gt;gauth-auth-&amp;lt;infra-release&amp;gt;-active&amp;lt;/code&amp;gt;, the cutover has not taken effect.&lt;br /&gt;
For dedicated external authentication, verify:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -l service=gauth-infra-bg -o yaml | grep -A5 &amp;quot;path: /auth/v3/oauth/token&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/v3/oauth/token&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-service-auth-ext-&amp;lt;infra-release&amp;gt;-active&lt;br /&gt;
    port:&lt;br /&gt;
      number: 80&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;If the backend still shows &amp;lt;code&amp;gt;gauth-auth-ext-&amp;lt;infra-release&amp;gt;-active&amp;lt;/code&amp;gt;, the external authentication cutover has not taken effect.&lt;br /&gt;
&lt;br /&gt;
===Validate Cutover===&lt;br /&gt;
Step 1: Test the External Ingress&lt;br /&gt;
&lt;br /&gt;
Call the token endpoint through the external ingress URL:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST https://&amp;lt;gauth-external-ingress-host&amp;gt;/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Step 2: Test the Internal Ingress&lt;br /&gt;
&lt;br /&gt;
Call the token endpoint through the internal ingress URL:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST https://&amp;lt;gauth-internal-ingress-host&amp;gt;/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;Ingress host values come from the Helm values files:&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Chart&lt;br /&gt;
!External Ingress Value&lt;br /&gt;
!Internal Ingress Value&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;ingress.frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;internal_ingress.frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;active.ingress.frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;active.internal_ingress.frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}}&lt;br /&gt;
&lt;br /&gt;
===Restart Applicable Services===&lt;br /&gt;
Restart dependent services after cutover.&lt;br /&gt;
&lt;br /&gt;
This restart is required because existing cached tokens were created by the old authentication service. These old tokens cannot be validated by the new authentication service.&lt;br /&gt;
&lt;br /&gt;
Example restart commands:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl rollout restart deployment gws-service-configuration -n gws&lt;br /&gt;
kubectl rollout restart deployment gws-app-provisioning -n gws&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example applicable services include:'''&lt;br /&gt;
&lt;br /&gt;
i. gws-service-configuration&lt;br /&gt;
&lt;br /&gt;
ii. gws-app-provisoning&lt;br /&gt;
&lt;br /&gt;
ii. GIR(Genesys Interaction Recording) - Speechminer Web service&lt;br /&gt;
&lt;br /&gt;
iv. Nexus&lt;br /&gt;
&lt;br /&gt;
v. CIWD&lt;br /&gt;
&lt;br /&gt;
vi. UCSX (only Azure)&lt;br /&gt;
&lt;br /&gt;
vii. UDM (CDDS-X)&lt;br /&gt;
&lt;br /&gt;
===='''Impact on Existing Logins'''====&lt;br /&gt;
&lt;br /&gt;
*Existing agent and user sessions are not terminated automatically during cutover.&lt;br /&gt;
*However, ongoing or new read/write operations may fail after cutover because old tokens use JDK binary serialization and cannot be read by the new authentication service, which uses Jackson JSON serialization.&lt;br /&gt;
*Users and agents must log in again to resume normal operations:&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!User Type&lt;br /&gt;
!Required Action&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}WWE users&lt;br /&gt;
{{!}}Log out and log back in&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Agent Setup users&lt;br /&gt;
{{!}}Log out and log back in&lt;br /&gt;
{{!}}}&lt;br /&gt;
Re-login creates new tokens in the new authentication service format. After re-login, operations should work normally.&lt;br /&gt;
&lt;br /&gt;
==Rollback (If needed)==&lt;br /&gt;
'''After rollback:'''&lt;br /&gt;
&lt;br /&gt;
*Traffic routes back to the old authentication service.&lt;br /&gt;
*Old auth pods are already running, so old auth pod restart is not required.&lt;br /&gt;
*Tokens created by the new authentication service become invalid.&lt;br /&gt;
*Dependent services must be restarted again so they obtain tokens from the old authentication service.&lt;br /&gt;
*Users and agents must log in again.&lt;br /&gt;
&lt;br /&gt;
===Step 1: Switch the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; Chart Back to Old Auth===&lt;br /&gt;
Update the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; chart values:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: false&lt;br /&gt;
&amp;lt;/source&amp;gt;Deploy the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; chart:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;helm upgrade --install gauth ./gauth-&amp;lt;version&amp;gt;.tgz \&lt;br /&gt;
  -f &amp;lt;your-values-file&amp;gt;.yaml \&lt;br /&gt;
  -n gauth \&lt;br /&gt;
  --wait \&lt;br /&gt;
  --timeout 600s&lt;br /&gt;
&amp;lt;/source&amp;gt;Verify that &amp;lt;code&amp;gt;/auth/&amp;lt;/code&amp;gt; routes back to the old authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -o yaml | grep -A5 &amp;quot;path: /auth/&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-auth-&amp;lt;release&amp;gt;&lt;br /&gt;
    port:&lt;br /&gt;
      number: 8080&lt;br /&gt;
&amp;lt;/source&amp;gt;For dedicated external authentication, verify:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -o yaml | grep -A5 &amp;quot;path: /auth/v3/oauth/token&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/v3/oauth/token&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-auth-ext-&amp;lt;release&amp;gt;&lt;br /&gt;
    port:&lt;br /&gt;
      number: 8080&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 2: Switch the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; Chart Back to Old Auth, '''If Used'''===&lt;br /&gt;
Update the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart values:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;active:&lt;br /&gt;
  useNewAuth: false&lt;br /&gt;
&amp;lt;/source&amp;gt;If external authentication was enabled only for the new authentication service and must also be switched back, update the external authentication value as required by your deployment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deploy the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;helm upgrade --install gauth-infra ./gauth-infra-bg-&amp;lt;version&amp;gt;.tgz \&lt;br /&gt;
  -f &amp;lt;your-infra-values-file&amp;gt;.yaml \&lt;br /&gt;
  -n gauth \&lt;br /&gt;
  --wait&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify that &amp;lt;code&amp;gt;/auth/&amp;lt;/code&amp;gt; routes back to the old authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -l service=gauth-infra-bg -o yaml | grep -A5 &amp;quot;path: /auth/&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-auth-&amp;lt;infra-release&amp;gt;-active&lt;br /&gt;
    port:&lt;br /&gt;
      number: 80&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For dedicated external authentication, verify:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -l service=gauth-infra-bg -o yaml | grep -A5 &amp;quot;path: /auth/v3/oauth/token&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/v3/oauth/token&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-auth-ext-&amp;lt;infra-release&amp;gt;-active&lt;br /&gt;
    port:&lt;br /&gt;
      number: 80&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 3: Restart Applicable Services After Rollback===&lt;br /&gt;
Restart dependent services again after rollback.&lt;br /&gt;
&lt;br /&gt;
This is required because services may hold tokens created by the new authentication service, and those tokens cannot be validated by the old authentication service.&lt;br /&gt;
&lt;br /&gt;
Example commands:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl rollout restart deployment gws-service-configuration -n gws&lt;br /&gt;
kubectl rollout restart deployment gws-app-provisioning -n gws&lt;br /&gt;
&amp;lt;/source&amp;gt;Restart any other applicable services listed in the {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Deploy|anchor=Restart_Applicable_Services|display text=Restart Applicable Services}} section.&lt;br /&gt;
&lt;br /&gt;
===Step 4: Validate Rollback===&lt;br /&gt;
Call the token endpoint through the external ingress URL:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST https://&amp;lt;gauth-external-ingress-host&amp;gt;/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;Call the token endpoint through the internal ingress URL:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST https://&amp;lt;gauth-internal-ingress-host&amp;gt;/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Ingress Still Points to Old Auth After Cutover===&lt;br /&gt;
If ingress still points to &amp;lt;code&amp;gt;gauth-auth-&amp;lt;release&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;gauth-auth-ext-&amp;lt;release&amp;gt;&amp;lt;/code&amp;gt;, the cutover did not take effect.&lt;br /&gt;
&lt;br /&gt;
Check:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;services.useNewAuth&amp;lt;/code&amp;gt; is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;active.useNewAuth&amp;lt;/code&amp;gt; is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, if using &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt;&lt;br /&gt;
*Helm upgrade completed successfully&lt;br /&gt;
*The correct values file was used&lt;br /&gt;
*Ingress was updated after deployment&lt;br /&gt;
&lt;br /&gt;
===Token Requests Fail After Cutover===&lt;br /&gt;
Check:&lt;br /&gt;
&lt;br /&gt;
*Client migration completed successfully&lt;br /&gt;
*Client ID and client secret are valid&lt;br /&gt;
*Token request is reaching the new authentication service&lt;br /&gt;
*Dependent services were restarted&lt;br /&gt;
*Users have logged out and logged back in&lt;br /&gt;
&lt;br /&gt;
===Operations Fail for Logged-In Users After Cutover===&lt;br /&gt;
Existing user sessions are not automatically terminated, but operations may fail because old tokens are incompatible with the new authentication service.&lt;br /&gt;
&lt;br /&gt;
Resolution:&lt;br /&gt;
&lt;br /&gt;
*Ask affected users to log out and log back in.&lt;br /&gt;
*Restart dependent services that cache service tokens.&lt;br /&gt;
&lt;br /&gt;
===Token Requests Fail After Rollback===&lt;br /&gt;
After rollback, tokens created by the new authentication service are invalid for the old authentication service.&lt;br /&gt;
&lt;br /&gt;
Resolution:&lt;br /&gt;
&lt;br /&gt;
*Restart dependent services again.&lt;br /&gt;
*Ask users and agents to log out and log back in.&lt;br /&gt;
*Verify ingress routes back to the old authentication service.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=RN/AuthenticationService/100.0.001.0194&amp;diff=133571</id>
		<title>RN/AuthenticationService/100.0.001.0194</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=RN/AuthenticationService/100.0.001.0194&amp;diff=133571"/>
		<updated>2026-05-25T15:00:57Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Created page with &amp;quot;{{ComponentRN |ComponentId=1bff5e74-a889-4bb8-b75a-8d721f63766e |JQL=issue in(AUTH-2273) |DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a |ReleaseDate=2026-05-19 |Privat...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=1bff5e74-a889-4bb8-b75a-8d721f63766e&lt;br /&gt;
|JQL=issue in(AUTH-2273)&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-19&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-19&lt;br /&gt;
|Highlight=Contains new Genesys Authentication Service (gauth-service-authentication), Spring Security modernization, SAML 2.0 upgrade, resolved issue and security fixes.&lt;br /&gt;
|Containers=*gws-service-authentication:  100.0.001.0193&lt;br /&gt;
*gws-core-environment: 100.0.018.2294&lt;br /&gt;
*gws-ui-auth: 100.0.018.1686&lt;br /&gt;
*gauth-100.0.101+0258.tgz&lt;br /&gt;
*gauth-infra-bg-100.0.101+36.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=AUTH-2273&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Added new service names gauth-service-authentication as a replacement for the legacy gauth-core. Following are the major changes introduced as part of gauth-service-authentication.&lt;br /&gt;
&lt;br /&gt;
*OAuth2 implementation is migrated to Spring Security 6.4.x OAuth2 modules from deprecated Spring Security OAuth2 (2.5.2.RELEASE).&lt;br /&gt;
*Upgrade SAML 2.0 to Spring Security built-in SAML2 Service Provider replacing deprecated Spring Security SAML (1.0.10.RELEASE)&lt;br /&gt;
*Resolved multiple Spring framework security vulnerabilities.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39778&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=In GAuth Env Service, upgraded Spring Boot to 3.5.12, Gradle to 7.6.4, and Netty to 4.1.132 to address security vulnerabilities and dependency updates.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Deployment and '''cutover''' of new auth-service-authentication.&lt;br /&gt;
|SupportingDocumentation=https://all.docs-qa.genesys.com/Draft:AUTH/Current/AuthPEGuide/Deploy#Genesys_Service_Authentication_Cut_Over_Guide&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|IssueCategoryId=7677e764-86f7-44e3-92bc-f13b59c71260&lt;br /&gt;
|LocalContent=The new gauth-service-authentication '''100.0.001.0193''' does not currently support JWT access token format&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=Draft:RN/AuthenticationService/100.0.001.0193&amp;diff=133570</id>
		<title>Draft:RN/AuthenticationService/100.0.001.0193</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=Draft:RN/AuthenticationService/100.0.001.0193&amp;diff=133570"/>
		<updated>2026-05-25T15:00:50Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Redirected page to Draft:RN/AuthenticationService/100.0.001.0194&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Draft:RN/AuthenticationService/100.0.001.0194]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=RN/GenesysWeb_Services_and_Applications/9.0.003.49&amp;diff=133569</id>
		<title>RN/GenesysWeb Services and Applications/9.0.003.49</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=RN/GenesysWeb_Services_and_Applications/9.0.003.49&amp;diff=133569"/>
		<updated>2026-05-24T10:31:01Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Created page with &amp;quot;{{ComponentRN |ComponentId=d8ae146d-0abb-4c7e-8a14-3be0a382a3d5 |JQL=issue in (GAPI-39761, GAPI-39752, GAPI-39431, GAPI-39430, GAPI-39276, GAPI-39795, GAPI-39794, GAPI-39551)...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=d8ae146d-0abb-4c7e-8a14-3be0a382a3d5&lt;br /&gt;
|JQL=issue in (GAPI-39761, GAPI-39752, GAPI-39431, GAPI-39430, GAPI-39276, GAPI-39795, GAPI-39794, GAPI-39551)&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-20&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-20&lt;br /&gt;
|Highlight=Contains new features, Security updates and resolved issues.&lt;br /&gt;
|Containers=*gws-app-provisioning:9.0.001.22&lt;br /&gt;
*gws-app-workspace:9.0.001.18&lt;br /&gt;
*gws-platform-chat:9.0.000.69&lt;br /&gt;
*gws-platform-configuration:9.0.001.06&lt;br /&gt;
*gws-platform-datacollector:9.0.000.76&lt;br /&gt;
*gws-platform-ixn:9.0.000.68&lt;br /&gt;
*gws-platform-ocs:9.0.000.71&lt;br /&gt;
*gws-platform-setting:9.0.000.76&lt;br /&gt;
*gws-platform-statistics:9.0.000.86&lt;br /&gt;
*gws-platform-ucs:9.0.000.67&lt;br /&gt;
*gws-platform-voice:9.0.000.91&lt;br /&gt;
*gws-service-configuration:9.0.000.12&lt;br /&gt;
*gws-services-2.0.2.tgz&lt;br /&gt;
*gws-monitoring-1.0.24.tgz&lt;br /&gt;
*gws-ingress-1.0.46.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39794&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Added support for Prometheus v3, including proper Content-Type handling for metrics scraping&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39761&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS Data Collector service has been upgraded from Elasticsearch REST High Level Client 7.x to Elasticsearch Java API Client 8.x. Data collector service now supports both ES8 and ES9 versions of Elasticsearch.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39752&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS9 - Update to Spring-Boot 3.5 and JDK21 Support&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39431&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws workspace service to node22&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39430&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws provisioning service to node 22&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39276&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=Security patches and vulnerability fixes for system and application libraries.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39551&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Previously, Agents couldn’t log in a voice channel in WWE if SIP Cluster configuration had non-existing SIP node in the list of SIP Cluster nodes. Now, GWS filters non-existing SIP Cluster Nodes and allows Agents to log in the voice channel.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=Draft:RN/GenesysWeb_Services_and_Applications/9.0.003.48&amp;diff=133568</id>
		<title>Draft:RN/GenesysWeb Services and Applications/9.0.003.48</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=Draft:RN/GenesysWeb_Services_and_Applications/9.0.003.48&amp;diff=133568"/>
		<updated>2026-05-24T10:01:02Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Redirected page to Draft:RN/GenesysWeb Services and Applications/9.0.003.49&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Draft:RN/GenesysWeb Services and Applications/9.0.003.49]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=Draft:RN/GenesysWeb_Services_and_Applications/9.0.003.47&amp;diff=133567</id>
		<title>Draft:RN/GenesysWeb Services and Applications/9.0.003.47</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=Draft:RN/GenesysWeb_Services_and_Applications/9.0.003.47&amp;diff=133567"/>
		<updated>2026-05-24T10:01:00Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Changed redirect target from Draft:RN/GenesysWeb Services and Applications/9.0.003.48 to Draft:RN/GenesysWeb Services and Applications/9.0.003.49&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Draft:RN/GenesysWeb Services and Applications/9.0.003.49]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=GWS/Current/GWSPEGuide/Configure&amp;diff=133566</id>
		<title>GWS/Current/GWSPEGuide/Configure</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=GWS/Current/GWSPEGuide/Configure&amp;diff=133566"/>
		<updated>2026-05-22T13:01:02Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Article&lt;br /&gt;
|Standalone=No&lt;br /&gt;
|DisplayName=Configure GWS Services&lt;br /&gt;
|TocName=Configure GWS Services&lt;br /&gt;
|Context=Learn how to configure GWS Services.&lt;br /&gt;
|ComingSoon=No&lt;br /&gt;
|Section={{Section&lt;br /&gt;
|sectionHeading=Create API clients&lt;br /&gt;
|anchor=api&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Use the Genesys Authentication operations API to {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Provision|anchor=CreateAPI|display text=create API clients}} for GWS services. Refer to the '''API clients''' table for the '''name''' and '''client_id''' values you must use in the API request. Make note of '''encrypted_client_secret''' in the responses - you need this value to set the related parameter in {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=override|display text=Override Helm chart values}}.&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{!}}+API clients&lt;br /&gt;
!Service&lt;br /&gt;
!name&lt;br /&gt;
!client_id&lt;br /&gt;
!Helm chart parameter&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Provisioning Service&lt;br /&gt;
{{!}}gws-app-provisioning&lt;br /&gt;
{{!}}gws-app-provisioning&lt;br /&gt;
{{!}}secrets.gws-app-provisioning-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Workspace Service&lt;br /&gt;
{{!}}gws-app-workspace&lt;br /&gt;
{{!}}gws-app-workspace&lt;br /&gt;
{{!}}secrets.gws-app-workspace-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Chat Service&lt;br /&gt;
{{!}}gws-platform-chat&lt;br /&gt;
{{!}}gws-platform-chat&lt;br /&gt;
{{!}}secrets.gws-platform-chat-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Configuration Service&lt;br /&gt;
{{!}}gws-platform-configuration&lt;br /&gt;
{{!}}gws-platform-configuration&lt;br /&gt;
{{!}}secrets.gws-platform-configuration-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Data Collector Service&lt;br /&gt;
{{!}}gws-platform-datacollector&lt;br /&gt;
{{!}}gws-platform-datacollector&lt;br /&gt;
{{!}}secrets.gws-platform-datacollector-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Interaction Service&lt;br /&gt;
{{!}}gws-platform-ixn&lt;br /&gt;
{{!}}gws-platform-ixn&lt;br /&gt;
{{!}}secrets.gws-platform-ixn-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS OCS Service&lt;br /&gt;
{{!}}gws-platform-ocs&lt;br /&gt;
{{!}}gws-platform-ocs&lt;br /&gt;
{{!}}secrets.gws-platform-ocs-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Setting Service&lt;br /&gt;
{{!}}gws-platform-setting&lt;br /&gt;
{{!}}gws-platform-setting&lt;br /&gt;
{{!}}secrets.gws-platform-setting-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Statistics Service&lt;br /&gt;
{{!}}gws-platform-statistics&lt;br /&gt;
{{!}}gws-platform-statistics&lt;br /&gt;
{{!}}secrets.gws-platform-statistics-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS UCS Service&lt;br /&gt;
{{!}}gws-platform-ucs&lt;br /&gt;
{{!}}gws-platform-ucs&lt;br /&gt;
{{!}}secrets.gws-platform-ucs-client-secret&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}GWS Voice Service&lt;br /&gt;
{{!}}gws-platform-voice&lt;br /&gt;
{{!}}gws-platform-voice&lt;br /&gt;
{{!}}secrets.gws-platform-voice-client-secret&lt;br /&gt;
{{!}}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure a secret to access JFrog&lt;br /&gt;
|anchor=Secret&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=If you haven't done so already, create a secret for accessing the JFrog registry:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl create secret docker-registry &amp;lt;credential-name&amp;gt; --docker-server=&amp;lt;docker repo&amp;gt; --docker-username=&amp;lt;username&amp;gt; --docker-password=&amp;lt;password&amp;gt; --docker-email=&amp;lt;emailid&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now map the secret to the default service account:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl secrets link default &amp;lt;credential-name&amp;gt; --for=pull&amp;lt;/source&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Override Helm chart values&lt;br /&gt;
|anchor=override&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=You can specify parameters for the deployment by overriding Helm chart values in the '''values.yaml''' file. See the tables below for a full list of overridable values available for each container in GWS services.&lt;br /&gt;
&lt;br /&gt;
For more information about how to override Helm chart values, see {{SuiteLevelLink|helmoverride}}.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
If you want to use arbitrary UIDs in your OpenShift deployment, you must override the '''securityContext''' settings in the '''values.yaml''' file, so that no user or group IDs are specified. For details, see {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=security|display text=Configure security}} below.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{{AnchorDiv|globalP}}&lt;br /&gt;
===Global parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}podLabels&lt;br /&gt;
{{!}}Custom labels for each pod.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}podAnnotations&lt;br /&gt;
{{!}}Custom annotations for each pod.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|imageGlobals.registry}}imageGlobals.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}imageGlobals.pullPolicy&lt;br /&gt;
{{!}}Specifies when Kubernetes pulls images from the registry on start up.&lt;br /&gt;
{{!}}IfNotPresent or Always&lt;br /&gt;
{{!}}&amp;quot;Always&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}imageGlobals.imagePullSecrets&lt;br /&gt;
{{!}}The secret Kubernetes uses to get credentials to pull images from the registry.&lt;br /&gt;
{{!}}A valid secret&lt;br /&gt;
{{!}}[]&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}deploymentGlobals.deploymentTag&lt;br /&gt;
{{!}}A suffix for the names of Kubernetes objects created by the Helm chart.&lt;br /&gt;
{{!}}Any lowercase alphanumeric value up to 8 characters long.&lt;br /&gt;
{{!}}&amp;quot;live&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}deploymentGlobals.strategy&lt;br /&gt;
{{!}}The strategy GWS uses to upgrade its containers.&lt;br /&gt;
{{!}}RollingUpdate or Recreate&lt;br /&gt;
{{!}}&amp;quot;RollingUpdate&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}deploymentGlobals.location&lt;br /&gt;
{{!}}Location of the deployment.&lt;br /&gt;
{{!}}A valid location&lt;br /&gt;
{{!}}&amp;quot;/USW1&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}deploymentGlobals.securityContext.runAsNonRoot&lt;br /&gt;
{{!}}Specifies whether the container must run as a non-root user.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}deploymentGlobals.securityContext.runAsUser&lt;br /&gt;
{{!}}The user ID to run the entry point of the container process.&amp;lt;!-- In OpenShift, if your deployment uses arbitrary UIDs set this value to null. --&amp;gt;&lt;br /&gt;
{{!}}A valid user ID or null&lt;br /&gt;
{{!}}500&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}deploymentGlobals.securityContext.runAsGroup&lt;br /&gt;
{{!}}The group ID to run the entry point of the container process.&amp;lt;!--In OpenShift, if your deployment uses arbitrary UIDs set this value to 0.--&amp;gt;&lt;br /&gt;
{{!}}A valid group ID or null&lt;br /&gt;
{{!}}500&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}deploymentGlobals.securityContext.fsGroup&lt;br /&gt;
{{!}}A supplemental group ID that applies to all containers in a pod.&amp;lt;!--In OpenShift, if your deployment uses arbitrary UIDs set this value to null.--&amp;gt;&lt;br /&gt;
{{!}}A valid group ID or null&lt;br /&gt;
{{!}}500&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}serviceGlobals.type&lt;br /&gt;
{{!}}The service type for all services.&lt;br /&gt;
{{!}}ClusterIP, NodePort, or LoadBalancer&lt;br /&gt;
{{!}}&amp;quot;ClusterIP&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}serviceGlobals.labels&lt;br /&gt;
{{!}}Custom labels to be added for all services.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}serviceGlobals.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for all services.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}nodeSelector&lt;br /&gt;
{{!}}The labels Kubernetes uses to assign pods to nodes.&lt;br /&gt;
{{!}}Valid nodeSelector settings. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector Kubernetes documentation] for details.&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}tolerations&lt;br /&gt;
{{!}}The tolerations Kubernetes uses for advanced pod scheduling.&lt;br /&gt;
{{!}}Valid tolerations settings. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}dnsConfig&lt;br /&gt;
{{!}}The DNS configuration for pods.&lt;br /&gt;
{{!}}Valid DNS configuration settings. See the [https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}topologySpreadConstraints&lt;br /&gt;
{{!}}In Kubernetes, topology spread constraints are used to control how Pods are spread across the cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains. This helps to achieve high-availability as well as efficient resource utilization.&lt;br /&gt;
{{!}}Valid topology spread constraints settings. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|provisioningP}}&lt;br /&gt;
===GWS Provisioning Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-app-provisioning&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;nodejs&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsAppProvisioning.image.registry}}gwsServices.gwsAppProvisioning.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-app-provisioning&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.postgres.address&lt;br /&gt;
{{!}}The fully qualified domain name or IP of the PostgreSQL server for gws-app-provisioning.&lt;br /&gt;
{{!}}A valid address&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.postgres.port&lt;br /&gt;
{{!}}The port of the PostgreSQL server for gws-app-provisioning.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.postgres.db&lt;br /&gt;
{{!}}The name of the PostgreSQL database for gws-app-provisioning.&lt;br /&gt;
{{!}}A valid database name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsAppProvisioning.postgres.enableTls}}gwsServices.gwsAppProvisioning.postgres.enableTls&lt;br /&gt;
{{!}}Enable or disable a TLS connection to PostgreSQL for gws-app-provisioning. If true, you must configure the '''secretsTls.postgresprovisioning.''' parameters. See {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=ConfigureTLS}} for details.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48060&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48061&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.context.env.GWS_SERVICE_AUTH_URL&lt;br /&gt;
{{!}}'''DEPRECATED''' - Use {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=gauth.authUrl|display text=gauth.authUrl}} instead. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The internal service URI of the Genesys Authentication service. For example: &amp;lt;nowiki&amp;gt;http://gauth-auth.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''NOTE''': '''For New Auth Service''', the Example URL is &amp;lt;nowiki&amp;gt;http://gauth-service-authentication.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.context.env.GWS_SERVICE_CONF_URL&lt;br /&gt;
{{!}}The internal service URI of the configuration service (part of GWS). For example: &amp;lt;nowiki&amp;gt;http://gws-service-proxy.gws.svc.cluster.local:80&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.context.env.GWS_SERVICE_ENV_URL&lt;br /&gt;
{{!}}'''DEPRECATED''' - Use {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=gauth.envUrl|display text=gauth.envUrl}} instead. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The internal service URI of the environment service (part of Genesys Authentication). For example: &amp;lt;nowiki&amp;gt;http://gauth-environment.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.context.env.GWS_SERVICE_VOICEMAIL_URL&lt;br /&gt;
{{!}}The URL of the voicemail server.&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsAppProvisioning.service.ports.server}}gwsServices.gwsAppProvisioning.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppProvisioning.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.AppProvisioning.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|workspaceP}}&lt;br /&gt;
===GWS Workspace Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-app-workspace&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;nodejs&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsAppWorkspace.image.registry}}gwsServices.gwsAppWorkspace.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-app-workspace&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48050&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48051&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.context.env.GWS_WORKSPACE_CONSUL_CACHE_TTL&lt;br /&gt;
{{!}}The length of time, in milliseconds, that the GWS Workspace Service keeps service locations in cache locally.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}60000&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.context.env.GWS_WORKSPACE_ENABLE_CHANGE_PASSWORD&lt;br /&gt;
{{!}}Specifies whether the GWS Workspace Service allows the change password functionality.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.context.env.GWS_WORKSPACE_MEMORY_CACHE_ENABLED&lt;br /&gt;
{{!}}Specifies whether the GWS Workspace Service should cache configuration data (such as agent groups) in memory.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gws-app-workspace.context.env.GWS_SECURE_COOKIE}}gwsServices.gws-app-workspace.context.env.GWS_SECURE_COOKIE&lt;br /&gt;
{{!}}Specifies whether the Workspace Service returns cookies with the Secure flag. Set this value to true if you configure GWS ingress to use TLS (see {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Planning|anchor=Network|display text=Network requirements}} for configuration details).&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.context.env.GWS_SERVICE_AUTH_URL&lt;br /&gt;
{{!}}'''DEPRECATED''' - Use {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=gauth.authUrl|display text=gauth.authUrl}} instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The internal service URI of the Genesys Authentication service. For example: &amp;lt;nowiki&amp;gt;http://gauth-auth.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE''': '''For New Auth Service''', the Example URL is &amp;lt;nowiki&amp;gt;http://gauth-service-authentication.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.context.env.GWS_SERVICE_ENV_URL&lt;br /&gt;
{{!}}'''DEPRECATED''' - Use {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=gauth.envUrl|display text=gauth.envUrl}} instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The internal service URI of the environment service (part of Genesys Authentication). For example: &amp;lt;nowiki&amp;gt;http://gauth-environment.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' For New Auth Service, the Example URL is &amp;lt;nowiki&amp;gt;http://gauth-service-authentication.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsAppWorkspace.service.ports.server}}gwsServices.gwsAppWorkspace.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsAppWorkspace.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|chatP}}&lt;br /&gt;
===GWS Chat Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-chat&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.enabled&lt;br /&gt;
{{!}}Enables the component deployment.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformChat.image.registry}}gwsServices.gwsPlatformChat.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-chat&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.consul.enabled&lt;br /&gt;
{{!}}Enables Consul registration for the component.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48150&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48151&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.context.env&lt;br /&gt;
{{!}}Environment variables for this container.&lt;br /&gt;
{{!}}&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformChat.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|configurationP}}&lt;br /&gt;
===GWS Configuration Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-configuration&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformConfiguration.image.registry}}gwsServices.gwsPlatformConfiguration.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-configuration&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48030&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48031&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformConfiguration.service.ports.server}}gwsServices.gwsPlatformConfiguration.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformConfiguration.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gws-platform-configuration.context.env.GWS_CS_CLUSTER_SUPPORT}}gwsServices.gws-platform-configuration.context.env.GWS_CS_CLUSTER_SUPPORT&lt;br /&gt;
{{!}}Specifies Configuration Server cluster support.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gws-platform-configuration.context.env.GWS_CONFIGURATION_common_discovery_tenants}}gwsServices.gws-platform-configuration.context.env.GWS_CONFIGURATION_common_discovery_tenants&lt;br /&gt;
{{!}}Enable or disable Tenant discovery from Consul.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gws-platform-configuration.context.env.GWS_CONFIGURATION_common_discovery_ixn_intercept&lt;br /&gt;
{{!}}Enable or disable multi-region support. To enable multi-region support, you must also set {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=gwsServices.gws-platform-configuration.context.env.GWS_CONFIGURATION_common_discovery_tenants|display text=gwsServices.gws-platform-configuration.context.env.GWS_CONFIGURATION_common_discovery_tenants}} to true.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}}{{AnchorDiv|dataP}}&lt;br /&gt;
===GWS Data Collector Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-datacollector&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformDatacollector.image.registry}}gwsServices.gwsPlatformDatacollector.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-datacollector&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48180&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48181&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.env.gws_datacollector_services_datacollector_distribution_enabled&lt;br /&gt;
{{!}}Enables task distribution for the data collector.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.env.GWS_DATACOLLECTOR_SERVICES_DATACOLLECTOR_REINDEX_ENABLED&lt;br /&gt;
{{!}}Enables background service for reindexing data.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.env.gws_datacollector_services_datacollector_reindex_onStart&lt;br /&gt;
{{!}}Specifies whether to perform a reindex on start.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.env.GWS_DATACOLLECTOR_SERVICES_DATACOLLECTOR_REINDEX_PERIOD&lt;br /&gt;
{{!}}The period in minutes between scheduled reindex attempts.&lt;br /&gt;
{{!}}A time in minutes&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.env.GWS_DATACOLLECTOR_SERVICES_DATACOLLECTOR_STATISTICS_ENABLED&lt;br /&gt;
{{!}}Enables statistics monitoring.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.context.env.GWS_DATACOLLECTOR_services_datacollector_statistics_period&lt;br /&gt;
{{!}}Period in minutes between statistics checks.&lt;br /&gt;
{{!}}A time in minutes&lt;br /&gt;
{{!}}5&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformDatacollector.service.ports.server}}gwsServices.gwsPlatformDatacollector.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformDatacollector.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|interactionP}}&lt;br /&gt;
===GWS Interaction Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-ixn&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformIxn.image.registry}}gwsServices.gwsPlatformIxn.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-ixn&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48170&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48171&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.context.env&lt;br /&gt;
{{!}}Environment variables for this container.&lt;br /&gt;
{{!}}&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformIxn.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|ocsP}}&lt;br /&gt;
===GWS OCS Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-ocs&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformOcs.image.registry}}gwsServices.gwsPlatformOcs.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-ocs&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48090&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48091&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.context.env.GWS_OCS_timeouts_requestTimeoutMs&lt;br /&gt;
{{!}}Specifies the timeout, in milliseconds, for the GWS OCS Service to connect to OCS.&lt;br /&gt;
{{!}}A time in milliseconds&lt;br /&gt;
{{!}}5000&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformOcs.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|settingP}}&lt;br /&gt;
===GWS Setting Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-setting&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformSetting.image.registry}}gwsServices.gwsPlatformSetting.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-setting&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48140&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48141&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.context.env.GWS_SETTING_DB_INIT_DB&lt;br /&gt;
{{!}}Enables database initialization in PostgreSQL. Set this parameter to true in regions with the primary PostgreSQL server and false in regions with PostgreSQL replicas.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformSetting.service.ports.server}}gwsServices.gwsPlatformSetting.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformSetting.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|statisticsP}}&lt;br /&gt;
===GWS Statistics Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-statistics&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformStatistics.image.registry}}gwsServices.gwsPlatformStatistics.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-statistics&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48070&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48071&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.context.env&lt;br /&gt;
{{!}}Environment variables for this container.&lt;br /&gt;
{{!}}&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformStatistics.service.ports.server}}gwsServices.gwsPlatformStatistics.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformStatistics.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|ucsP}}&lt;br /&gt;
===GWS UCS Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-ucs&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.enabled&lt;br /&gt;
{{!}}Enables the component deployment.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformUcs.image.registry}}gwsServices.gwsPlatformUcs.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-ucs&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.consul.enabled&lt;br /&gt;
{{!}}Enables Consul registration for the component.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48080&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48081&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.context.env&lt;br /&gt;
{{!}}Environment variables for this container.&lt;br /&gt;
{{!}}&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformUcs.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}&lt;br /&gt;
{{AnchorDiv|voiceP}}&lt;br /&gt;
===GWS Voice Service parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-platform-voice&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;java&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformVoice.image.registry}}gwsServices.gwsPlatformVoice.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.clientId&lt;br /&gt;
{{!}}The ID of an encrypted client secret generated by {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|display text=Genesys Authentication}} for this component.&lt;br /&gt;
{{!}}A valid ID&lt;br /&gt;
{{!}}&amp;quot;gws-platform-voice&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}4&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;4Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48040&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}48041&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.context.loggingLevel&lt;br /&gt;
{{!}}Specifies the logging level for this container.&lt;br /&gt;
{{!}}ERROR, WARN, INFO, DEBUG, or TRACE&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.context.env&lt;br /&gt;
{{!}}Environment variables for this container.&lt;br /&gt;
{{!}}&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsPlatformVoice.service.ports.server}}gwsServices.gwsPlatformVoice.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsPlatformVoice.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|gplusP}}&lt;br /&gt;
===Gplus Adapter for Salesforce parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-ui-crmworkspace&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;frontend&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsUiCrmworkspace.image.registry}}gwsServices.gwsUiCrmworkspace.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;0.5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}0.1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;0.5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}50070&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}50070&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.context.env&lt;br /&gt;
{{!}}Environment variables for this container.&lt;br /&gt;
{{!}}&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiCrmworkspace.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|agentP}}&lt;br /&gt;
===Agent Setup parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.name&lt;br /&gt;
{{!}}The name of the container deployment.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws-ui-provisioning&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.appType&lt;br /&gt;
{{!}}The type of application in this container.&lt;br /&gt;
{{!}}nodejs, java, or frontend&lt;br /&gt;
{{!}}&amp;quot;frontend&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsUiProvisioning.image.registry}}gwsServices.gwsUiProvisioning.image.registry&lt;br /&gt;
{{!}}The Docker registry from which Kubernetes pulls images. If set, this parameter overrides {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=imageGlobals.registry|display text=imageGlobals.registry}}.&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.livenessProbe.enable&lt;br /&gt;
{{!}}Specifies whether to do a Kubernetes liveness probe to test if the container is running.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.livenessProbe.failureThreshold&lt;br /&gt;
{{!}}Minimum consecutive failures for the probe to be considered failed after having succeeded.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.livenessProbe.successThreshold&lt;br /&gt;
{{!}}Minimum consecutive successes for the probe to be considered successful after having failed. The default is 1, which is required for liveness and startup.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.livenessProbe.initialDelaySeconds&lt;br /&gt;
{{!}}Number of seconds after the container has started before liveness probes are initiated.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}120&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.livenessProbe.periodSeconds&lt;br /&gt;
{{!}}How often (in seconds) to perform the probe.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}30&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.livenessProbe.timeoutSeconds&lt;br /&gt;
{{!}}Number of seconds after which the probe times out.&lt;br /&gt;
{{!}}1 or greater&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of the pods for this container deployment relative to other pods. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.deployment.replicaCount&lt;br /&gt;
{{!}}The number of pod replicas in this container deployment.&lt;br /&gt;
{{!}}A number greater than 0&lt;br /&gt;
{{!}}2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.resources.limits.cpu&lt;br /&gt;
{{!}}The maximum amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.resources.limits.memory&lt;br /&gt;
{{!}}The maximum amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;0.5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.resources.requests.cpu&lt;br /&gt;
{{!}}The guaranteed amount of CPU Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of Kubernetes CPU&lt;br /&gt;
{{!}}0.1&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.resources.requests.memory&lt;br /&gt;
{{!}}The guaranteed amount of memory Kubernetes allocates for the container. See the [https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}Units of bytes&lt;br /&gt;
{{!}}&amp;quot;0.5Gi&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.context.ports.server&lt;br /&gt;
{{!}}The port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}50040&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.context.ports.management&lt;br /&gt;
{{!}}The management port for this container.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}50040&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gwsServices.gwsUiProvisioning.service.ports.server}}gwsServices.gwsUiProvisioning.service.ports.server&lt;br /&gt;
{{!}}The port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}80&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.service.ports.management&lt;br /&gt;
{{!}}The management port for this server.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}81&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.labels&lt;br /&gt;
{{!}}Custom labels to be added for the container.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gwsServices.gwsUiProvisioning.annotations&lt;br /&gt;
{{!}}Custom annotations to be added for the container.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}}{{AnchorDiv|genesysP}}&lt;br /&gt;
===Genesys services parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gauth.authUrl}}gauth.authUrl&lt;br /&gt;
{{!}}The URL of the Authentication Service (part of {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Configure|display text=Genesys Authentication}}). For example: &amp;lt;nowiki&amp;gt;http://gauth-auth.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
'''NOTE''': '''For New Auth Service''', the Example URL is &amp;lt;nowiki&amp;gt;http://gauth-service-authentication.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''NOTE''': If a value is set for context.env.GWS_SERVICE_AUTH_URL, it overrides this parameter.&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|gauth.envUrl}}gauth.envUrl&lt;br /&gt;
{{!}}The URL of the Environment Service (part of {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Configure|display text=Genesys Authentication}}). For example: &amp;lt;nowiki&amp;gt;http://gauth-environment.gauth.svc.cluster.local.:80&amp;lt;/nowiki&amp;gt; If a value is set for context.env.GWS_SERVICE_ENV_URL, it overrides this parameter.&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}}{{AnchorDiv|thirdPartyP}}&lt;br /&gt;
===Third-party services parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.address&lt;br /&gt;
{{!}}The fully qualified domain name or IP of the PostgreSQL server.&lt;br /&gt;
{{!}}A valid address&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.db&lt;br /&gt;
{{!}}The name of the PostgreSQL database.&lt;br /&gt;
{{!}}A valid database name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|postgres.enableTls}}postgres.enableTls&lt;br /&gt;
{{!}}Enable or disable a TLS connection to PostgreSQL. If true, you must configure the '''secretsTls.postgres.''' parameters. See {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=ConfigureTLS}} for details.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}elasticSearch.address&lt;br /&gt;
{{!}}The fully qualified domain name or IP of the Elasticsearch cluster.&lt;br /&gt;
{{!}}A valid address&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}elasticSearch.port&lt;br /&gt;
{{!}}The Elasticsearch port.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}9200&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|elasticSearch.enableTls}}elasticSearch.enableTls&lt;br /&gt;
{{!}}Enable or disable TLS connection to the Elasticsearch cluster. If true, you must configure the '''secretsTls.elasticsearch.''' parameters. See {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=ConfigureTLS}} for details.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|elasticSearch.username}}elasticSearch.username&lt;br /&gt;
{{!}}The username for the Elasticsearch cluster. The password is set in {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=secrets.gws-elasticsearch-password|display text=secrets.gws-elasticsearch-password}}.&lt;br /&gt;
{{!}}A valid username&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.address&lt;br /&gt;
{{!}}The Redis cluster host name.&lt;br /&gt;
{{!}}A valid address&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.port&lt;br /&gt;
{{!}}The Redis port.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}6379&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|redis.enableTls}}redis.enableTls&lt;br /&gt;
{{!}}Enable or disable a TLS connection to the Redis cluster. If true, you must configure the '''secretsTls.redis.''' parameters. See {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=ConfigureTLS}} for details.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.verifyPeer&lt;br /&gt;
{{!}}Enable or disable validation of the Redis certificate against the list of supplied Certificate Authorities.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.port&lt;br /&gt;
{{!}}The port of the local Consul agent.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}8500&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.kv_prefix&lt;br /&gt;
{{!}}The prefix used to locate GWS data in the Consul KV datastore.&lt;br /&gt;
{{!}}String&lt;br /&gt;
{{!}}&amp;quot;gws&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|prometheus.metricServer.enabled}}prometheus.metricServer.enabled&lt;br /&gt;
{{!}}Enable annotation-based discovery to scrape metrics.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}}{{AnchorDiv|secretsP}}&lt;br /&gt;
===Secrets parameters===&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-redis-password&lt;br /&gt;
{{!}}The password to access the Redis cluster.&lt;br /&gt;
{{!}}A valid password&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-consul-token&lt;br /&gt;
{{!}}The API token to access Consul.&lt;br /&gt;
{{!}}A valid API token&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-postgres-username&lt;br /&gt;
{{!}}The username to access the PostgreSQL database.&lt;br /&gt;
{{!}}A valid username&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-postgres-password&lt;br /&gt;
{{!}}The password to access the PostgreSQL database&lt;br /&gt;
{{!}}A valid password&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.agentsetup-postgres-username&lt;br /&gt;
{{!}}The username to access the PostgreSQL database for gws-app-provisioning.&lt;br /&gt;
{{!}}A valid username&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.agentsetup-postgres-password&lt;br /&gt;
{{!}}The password to access the PostgreSQL database for gws-app-provisioning.&lt;br /&gt;
{{!}}A valid password&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-app-provisioning-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-app-provisioning component. See {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=api|display text=Create API clients}}.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-app-workspace-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-app-workspace component. See {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=api|display text=Create API clients}}.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-chat-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-chat component. See {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=api|display text=Create API clients}}.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-configuration-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-configuration component.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-datacollector-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-datacollector component.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-ixn-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-ixn component.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-ocs-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-ocs component.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-setting-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-setting component.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-statistics-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-statistics component.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-ucs-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-ucs component. See {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=api|display text=Create API clients}}.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.gws-platform-voice-client-secret&lt;br /&gt;
{{!}}The encrypted client secret generated by Genesys Authentication for the gws-platform-voice component.&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.ops-username&lt;br /&gt;
{{!}}The username of an operational user.&lt;br /&gt;
{{!}}A valid username&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}secrets.ops-password&lt;br /&gt;
{{!}}The encrypted password of the operational user.&lt;br /&gt;
{{!}}A valid password&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|secrets.gws-elasticsearch-password}}secrets.gws-elasticsearch-password&lt;br /&gt;
{{!}}The password for the Elasticsearch cluster. The username is set in {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=elasticSearch.username|display text=elasticSearch.username}}.&lt;br /&gt;
{{!}}A valid password&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Create or update the versions file&lt;br /&gt;
|anchor=versions&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Create or update the '''versions.yaml''' file with the latest container versions for your deployment. See {{Link-AnywhereElse|product=ReleaseNotes|version=Current|manual=GenesysEngage-cloud|topic=GWSHelm|display text=Updated Helm Charts and Containers}} for Genesys Web Services and Applications for the full list of versions.&lt;br /&gt;
&lt;br /&gt;
For example:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
gws-app-provisioning: 9.0.000.93&lt;br /&gt;
gws-app-workspace: 9.0.000.90&lt;br /&gt;
gws-platform-configuration: 9.0.000.79&lt;br /&gt;
gws-platform-datacollector: 9.0.000.50&lt;br /&gt;
gws-platform-ixn: 9.0.000.43&lt;br /&gt;
gws-platform-ocs: 9.0.000.46&lt;br /&gt;
gws-platform-setting: 9.0.000.52&lt;br /&gt;
gws-platform-statistics: 9.0.000.61&lt;br /&gt;
gws-platform-voice: 9.0.000.66&lt;br /&gt;
gws-system-nginx: 9.0.000.16&lt;br /&gt;
gws-ui-crmworkspace: 9.0.000.62&lt;br /&gt;
gws-ui-provisioning: 9.0.000.84&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Provision Consul-less Deployment&lt;br /&gt;
|anchor=Consul-less&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Following steps should be done to migrate to a Consul-less deployments:&lt;br /&gt;
&lt;br /&gt;
#Update Web Services and Applications Deployment Manifests to the version &amp;lt;code class=&amp;quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&amp;quot; data-renderer-mark=&amp;quot;true&amp;quot;&amp;gt;9.0.000.59&amp;lt;/code&amp;gt; (Helm chart &amp;lt;code class=&amp;quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&amp;quot; data-renderer-mark=&amp;quot;true&amp;quot;&amp;gt;gws-services:2.0.2&amp;lt;/code&amp;gt;) or newer.&lt;br /&gt;
#Add new parameter&amp;lt;code class=&amp;quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&amp;quot; data-renderer-mark=&amp;quot;true&amp;quot;&amp;gt;deploymentGlobals.gwsInternalIngressURL&amp;lt;/code&amp;gt; to the Helm parameters file of the deployment. The value must be full URL configured for GWS internal ingress.&amp;lt;br /&amp;gt; Example:&amp;lt;br /&amp;gt;&amp;lt;span data-code-lang=&amp;quot;&amp;quot; data-ds--code--code-block=&amp;quot;&amp;quot; class=&amp;quot;prismjs _2rkoglpi _1dqoglyw _1wyb1crf _k48pi7a9 _1e0c1txw _vwz4gktf _1reo1wug _o572qvpr _1eimjvyg _bfhktkvp _syaz1fxt _ect41odn _1ozdn7od _7xinn7od _t7aun7od _1v15u2gc _ilvcu2gc _m29uu2gc _17wyu2gc _pn28u2gc _gz9fu2gc _1hmyegat _vblregat _vbulegat _wozj1yev _1agb1yev _lkm81yev _tv41hkgb _1hmimyb0 _1ra01n1a _1d4j1y44 _1f8gstnw _1pzyb3bt _j1w0ww7y _13cdh2mm _15ba126e _zvy9f705 _qcxof705 _14y71a66 _j0l11wug _1weckb7n _1na21hna _1xx2grf3 _x7c815vq _lh0y15vq _1m3815vq _qk1e15vq _12l6ysn8 _uga3ysn8 _mx8b7mnp _1kr87mnp _xo19t94y _1bemt94y _nalpstnw _151dstnw _1exb1q9c _1hgu1q9c _1mgnt94y _nhket94y _h909m7j4 _scgayz1z _ipl81e17 _jeky1l04 _1gec1a66 _1gx21e5h _1ls01ule _vm2c1rh5 _12ok1rh5 _rude1ule _1q16glyw _1io6glyw _juomusic _lcwuusic _1552u2gc _12afu2gc _28ddu2gc _1i8zu2gc _12tu1a66 _zu0j1a66 _euyxusvi _cahfusvi _zhnuidpf _1amdidpf _mbgcpf9b _bu7zpf9b _131n1giz _gy101giz _1wfuwrk5 _16kzwrk5 _9kk3moej _cjus1w1g _9k2r1m30 _nhmw1m30 _yl021m30 _eiht5x2v _t9zb5x2v _mqok1w1g _3hsg1w1g _i7ngn7od _9wu1fb2s _1xcoh55r _1t361fxt _137bh55r _1k7d1fxt _97lipnps _12nh9lu1 _1g0517qg _i2ig10m5 _326z1fxt _113p131l _1n6tpnps _tgu817qg _1k47pnps _g0lx1fxt _ys4e131l _7gp8h55r _1yvq10m5 _1vww10m5 _1rju10m5 _1v0lh55r _wmyy17qg _748n17qg _1mfn17qg _1d7e17qg _p2vr17qg _19o610m5 _kxov17qg _1np517qg _m2f517qg _1b9tpnps _1tq6pnps _1rd2pnps _1pbkpnps _k3lipnps _13zt131l _2g12fb2s _k86b10m5 _b5iy131l _gti3131l _1f0gpnps _9d3e17qg _qdiapnps _72uvpnps _13dgkb7n _170714ej _1i3h1txw _1huoidpf _1a9lidpf _20bqidpf _1oggidpf _bympidpf _9nnjidpf&amp;quot;&amp;gt;&amp;lt;code class=&amp;quot;language-&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;comment linenumber ds-line-number&amp;quot; data-ds--line-number=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code class=&amp;quot;language-&amp;quot;&amp;gt;deploymentGlobals: &amp;lt;span data-code-lang=&amp;quot;&amp;quot; data-ds--code--code-block=&amp;quot;&amp;quot; class=&amp;quot;prismjs _2rkoglpi _1dqoglyw _1wyb1crf _k48pi7a9 _1e0c1txw _vwz4gktf _1reo1wug _o572qvpr _1eimjvyg _bfhktkvp _syaz1fxt _ect41odn _1ozdn7od _7xinn7od _t7aun7od _1v15u2gc _ilvcu2gc _m29uu2gc _17wyu2gc _pn28u2gc _gz9fu2gc _1hmyegat _vblregat _vbulegat _wozj1yev _1agb1yev _lkm81yev _tv41hkgb _1hmimyb0 _1ra01n1a _1d4j1y44 _1f8gstnw _1pzyb3bt _j1w0ww7y _13cdh2mm _15ba126e _zvy9f705 _qcxof705 _14y71a66 _j0l11wug _1weckb7n _1na21hna _1xx2grf3 _x7c815vq _lh0y15vq _1m3815vq _qk1e15vq _12l6ysn8 _uga3ysn8 _mx8b7mnp _1kr87mnp _xo19t94y _1bemt94y _nalpstnw _151dstnw _1exb1q9c _1hgu1q9c _1mgnt94y _nhket94y _h909m7j4 _scgayz1z _ipl81e17 _jeky1l04 _1gec1a66 _1gx21e5h _1ls01ule _vm2c1rh5 _12ok1rh5 _rude1ule _1q16glyw _1io6glyw _juomusic _lcwuusic _1552u2gc _12afu2gc _28ddu2gc _1i8zu2gc _12tu1a66 _zu0j1a66 _euyxusvi _cahfusvi _zhnuidpf _1amdidpf _mbgcpf9b _bu7zpf9b _131n1giz _gy101giz _1wfuwrk5 _16kzwrk5 _9kk3moej _cjus1w1g _9k2r1m30 _nhmw1m30 _yl021m30 _eiht5x2v _t9zb5x2v _mqok1w1g _3hsg1w1g _i7ngn7od _9wu1fb2s _1xcoh55r _1t361fxt _137bh55r _1k7d1fxt _97lipnps _12nh9lu1 _1g0517qg _i2ig10m5 _326z1fxt _113p131l _1n6tpnps _tgu817qg _1k47pnps _g0lx1fxt _ys4e131l _7gp8h55r _1yvq10m5 _1vww10m5 _1rju10m5 _1v0lh55r _wmyy17qg _748n17qg _1mfn17qg _1d7e17qg _p2vr17qg _19o610m5 _kxov17qg _1np517qg _m2f517qg _1b9tpnps _1tq6pnps _1rd2pnps _1pbkpnps _k3lipnps _13zt131l _2g12fb2s _k86b10m5 _b5iy131l _gti3131l _1f0gpnps _9d3e17qg _qdiapnps _72uvpnps _13dgkb7n _170714ej _1i3h1txw _1huoidpf _1a9lidpf _20bqidpf _1oggidpf _bympidpf _9nnjidpf&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;comment linenumber ds-line-number&amp;quot; data-ds--line-number=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; gwsInternalIngressURL: http://&amp;lt;internal-ingress-fqdn&amp;gt;:&amp;lt;internal-ingress-port&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
#Remove all Consul related parameters, including secrets, from the Helm parameter files.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure Kubernetes&lt;br /&gt;
|anchor=kubernetes&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=GWS services stores sensitive data, such as credentials for third-party services, as Kubernetes secrets. For details, see {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=secretsP|display text=Secrets parameters}} and {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=ConfigureTLS}}.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure security&lt;br /&gt;
|anchor=security&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=To learn more about how security is configured for private edition, be sure to read {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=Prerequisites|display text=Permissions}} and {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=ConfigSecurity}}. &lt;br /&gt;
&lt;br /&gt;
The security context settings define the privilege and access control settings for pods and containers.&lt;br /&gt;
&lt;br /&gt;
By default, the user and group IDs are set in the '''values.yaml''' file as &amp;lt;tt&amp;gt;500:500:500&amp;lt;/tt&amp;gt;, meaning the '''genesys''' user.&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
deploymentGlobals:&lt;br /&gt;
  securityContext:&lt;br /&gt;
    runAsUser: 500&lt;br /&gt;
    runAsGroup: 500&lt;br /&gt;
    fsGroup: 500&lt;br /&gt;
    runAsNonRoot: true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
===Arbitrary UIDs in OpenShift===&lt;br /&gt;
If you want to use arbitrary UIDs in your OpenShift deployment, you must override the '''securityContext''' settings in the '''values.yaml''' file, so that you do not define any specific IDs.&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
deploymentGlobals:&lt;br /&gt;
  securityContext:&lt;br /&gt;
    runAsUser: null&lt;br /&gt;
    runAsGroup: 0&lt;br /&gt;
    fsGroup: null&lt;br /&gt;
    runAsNonRoot: true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
For details about these parameters and possible values, see '''deploymentGlobals.securityContext.*''' in the {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=globalP|display text=Global parameters}} table above.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Pod priority&lt;br /&gt;
|anchor=priority&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=You can configure pod priority by overriding the '''priorityClassName''' option for each of the GWS services components - see {{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Configure|anchor=override|display text=Override Helm chart values}}. For example:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
gwsServices:&lt;br /&gt;
  gwsPlatformConfiguration:&lt;br /&gt;
    priorityClassName: genesysengage-high-priority&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Genesys recommends the following priority for GWS pods:&lt;br /&gt;
&lt;br /&gt;
'''Critical priority pods'''&lt;br /&gt;
&lt;br /&gt;
*gws-app-provisioning&lt;br /&gt;
*gws-app-workspace&lt;br /&gt;
*gws-platform-voice&lt;br /&gt;
&lt;br /&gt;
'''High priority pods'''&lt;br /&gt;
&lt;br /&gt;
*gws-platform-configuration&lt;br /&gt;
*gws-platform-datacollector&lt;br /&gt;
*gws-platform-ixn&lt;br /&gt;
*gws-platform-ocs&lt;br /&gt;
*gws-platform-setting&lt;br /&gt;
*gws-platform-statistics&lt;br /&gt;
*gws-system-nginx&lt;br /&gt;
*gws-ui-crmworkspace&lt;br /&gt;
*gws-ui-provisioning&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Next steps&lt;br /&gt;
|anchor=next&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=*{{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=Deploy}}&lt;br /&gt;
*{{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=ConfigureIngress}}&lt;br /&gt;
*{{Link-SomewhereInThisVersion|manual=GWSPEGuide|topic=DeployIngress}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}&lt;br /&gt;
|PEPageType=9c3ae89b-4f75-495b-85f8-d8c4afcb3f97&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=AUTH/Current/AuthPEGuide/Deploy&amp;diff=133565</id>
		<title>AUTH/Current/AuthPEGuide/Deploy</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=AUTH/Current/AuthPEGuide/Deploy&amp;diff=133565"/>
		<updated>2026-05-22T13:00:47Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ArticlePEServiceDeploy&lt;br /&gt;
|ServiceId=6f7f1a8d-4e60-4b8d-a6f0-8cafdbdf0a3e&lt;br /&gt;
|IncludeAssumptions=Yes&lt;br /&gt;
|Section={{Section&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext={{NoteFormat|Make sure to review {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Planning}} for the full list of prerequisites required to deploy Genesys Authentication.|}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Prepare your environment&lt;br /&gt;
|anchor=Prepare&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=To prepare your environment for the deployment, complete the steps in this section for Google Kubernetes Engine (GKE).&lt;br /&gt;
&lt;br /&gt;
===GKE===&lt;br /&gt;
Log in to the GKE cluster from the host where you will run the deployment:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
gcloud container clusters get-credentials &amp;lt;cluster&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Create a new namespace for Genesys Authentication with a JSON file that specifies the namespace metadata. For example, '''create-gauth-namespace.json''': &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;apiVersion&amp;quot;: &amp;quot;v1&amp;quot;,&lt;br /&gt;
  &amp;quot;kind&amp;quot;: &amp;quot;Namespace&amp;quot;,&lt;br /&gt;
  &amp;quot;metadata&amp;quot;: {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;gauth&amp;quot;,&lt;br /&gt;
    &amp;quot;labels&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;gauth&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Execute the following command to create the namespace:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl apply -f create-gauth-namespace.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Confirm the namespace was created:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl describe namespace gauth&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===AKS===&lt;br /&gt;
Log in to the AKS cluster from the host where you will run the deployment:&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
az aks get-credentials --resource-group &amp;lt;resource-group&amp;gt; --name &amp;lt;cluster-name&amp;gt; --admin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Create a new namespace for Genesys Authentication with a JSON file that specifies the namespace metadata. For example, '''create-gauth-namespace.json''': &amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;apiVersion&amp;quot;: &amp;quot;v1&amp;quot;,&lt;br /&gt;
  &amp;quot;kind&amp;quot;: &amp;quot;Namespace&amp;quot;,&lt;br /&gt;
  &amp;quot;metadata&amp;quot;: {&lt;br /&gt;
    &amp;quot;name&amp;quot;: &amp;quot;gauth&amp;quot;,&lt;br /&gt;
    &amp;quot;labels&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;gauth&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Execute the following command to create the namespace:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl apply -f create-gauth-namespace.json&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Confirm the namespace was created:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl describe namespace gauth&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Deploy&lt;br /&gt;
|anchor=de&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=To deploy Genesys Authentication, you'll need the Helm package and your overrides file. Copy '''values.yaml''' and the Helm package ('''gauth-&amp;lt;version&amp;gt;.tgz''') to the installation location.&lt;br /&gt;
&lt;br /&gt;
===Additional Steps for deploying New Auth Service (gauth-service-authentication):===&lt;br /&gt;
&lt;br /&gt;
#Use gauth Helm chart version &amp;gt;= 100.0.101+0258&lt;br /&gt;
#Helm chart default value for new auth service is 100.0.001.'''0192.''' Update this to latest new auth service version &amp;gt;= 100.0.001.'''0193''' in your values.yaml&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;gauth-service-authentication: 100.0.001.0193&amp;lt;/source&amp;gt;&lt;br /&gt;
#For customers using gauth-infra-bg chart, Use gauth-infra-bg Helm chart version &amp;gt;= 100.0.101+36&lt;br /&gt;
#For customers using dedicated external auth pods, to deploy this new auth service as external auth pod, Update your values.yaml&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: false&lt;br /&gt;
  service_auth:&lt;br /&gt;
    externalAuth:&lt;br /&gt;
      enabled: true    # Deploy new auth ext pods&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For debugging purposes, use the following command to render templates without installing so you can check that resources are created properly:&lt;br /&gt;
 helm template --debug /gauth-&amp;lt;version&amp;gt;.tgz -f values.yaml&lt;br /&gt;
&lt;br /&gt;
The result shows Kubernetes descriptors. The values you see are generated from Helm templates, and based on settings from '''values.yaml'''. Ensure that no errors are displayed; you will later apply this configuration to your Kubernetes cluster.&lt;br /&gt;
&lt;br /&gt;
Now you're ready to deploy Genesys Authentication:&lt;br /&gt;
 helm install gauth ./gauth-&amp;lt;version&amp;gt;.tgz -f values.yaml -n gauth&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure external access&lt;br /&gt;
|anchor=access&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Follow the instructions for either GKE or AKS to make the Genesys Authentication services accessible from outside the cluster.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{AnchorDiv|GKEingress}}&lt;br /&gt;
===Provision ingresses for GKE or AKS===&lt;br /&gt;
After deploying, make Genesys Authentication services accessible from outside the GKE or AKS cluster using the NGINX Ingress Controller. &lt;br /&gt;
&lt;br /&gt;
Create a YAML file called '''gauth-ingress.yaml''' with the content below. '''Note:''' Replace '''gws.&amp;lt;domain&amp;gt;''' and '''gauth.&amp;lt;domain&amp;gt;''' with your GWS and Genesys Authentication domains, such as &amp;lt;code&amp;gt;gws.test.dev&amp;lt;/code&amp;gt;.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
apiVersion: extensions/v1beta1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  name: gauth-gws-ingress&lt;br /&gt;
  namespace: gauth&lt;br /&gt;
  annotations:&lt;br /&gt;
    # add an annotation indicating the issuer to use.&lt;br /&gt;
    cert-manager.io/cluster-issuer: &amp;quot;selfsigned-cluster-issuer&amp;quot;&lt;br /&gt;
    # Custom annotations for NGINX Ingress Controller&lt;br /&gt;
    kubernetes.io/ingress.class: &amp;quot;nginx&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/ssl-redirect: &amp;quot;false&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/use-regex: &amp;quot;true&amp;quot;&lt;br /&gt;
spec:&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: gws.&amp;lt;domain&amp;gt; - e.g. gws.test.dev&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
        - path: /ui/auth/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-auth-ui&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
        - path: /auth/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-auth&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
        - path: /environment/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-environment&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - gws.&amp;lt;domain&amp;gt; - e.g. gws.test.dev&lt;br /&gt;
    secretName: gauth-gws-ingress-cert&lt;br /&gt;
---&lt;br /&gt;
apiVersion: extensions/v1beta1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  name: gauth-gauth-ingress&lt;br /&gt;
  namespace: gauth&lt;br /&gt;
  annotations:&lt;br /&gt;
    # add an annotation indicating the issuer to use.&lt;br /&gt;
    cert-manager.io/cluster-issuer: &amp;quot;selfsigned-cluster-issuer&amp;quot;&lt;br /&gt;
    # Custom annotations for NGINX Ingress Controller&lt;br /&gt;
    kubernetes.io/ingress.class: &amp;quot;nginx&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/ssl-redirect: &amp;quot;false&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/use-regex: &amp;quot;true&amp;quot;&lt;br /&gt;
spec:&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: gauth.&amp;lt;domain&amp;gt; - e.g. gauth.test.dev&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
        - path: /ui/auth/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-auth-ui&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
        - path: /auth/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-auth&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
 &lt;br /&gt;
        - path: /environment/.*&lt;br /&gt;
          backend:&lt;br /&gt;
            serviceName:  gauth-environment&lt;br /&gt;
            servicePort: 80&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - gauth.&amp;lt;domain&amp;gt; - e.g. gauth.test.dev&lt;br /&gt;
    secretName: gauth-gauth-ingress-cert&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Create ingresses with the following command:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
kubectl apply -f gauth-ingress.yaml -n gws&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Provision GWS services to access New Auth Service===&lt;br /&gt;
Refer {{Link-AnywhereElse|product=GWS|version=Current|manual=GWSPEGuide|topic=Configure|anchor=Genesys_services_parameters|display text=Configure GWS Services}}&lt;br /&gt;
&lt;br /&gt;
===Provision New Auth Service to access GWS configuration service===&lt;br /&gt;
Refer the Parameter &amp;lt;code&amp;gt;services.service_auth.env.GWS_AUTH_common_configService&amp;lt;/code&amp;gt; in {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Configure|anchor=Override_Helm_chart_values|display text=Override Helm chart values}}&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Validate the deployment&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Check the installed Helm release:&lt;br /&gt;
 helm list&lt;br /&gt;
The results should show the Genesys Authentication deployment details. For example:&lt;br /&gt;
 NAME    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION&lt;br /&gt;
 gauth   gauth           1               2021-05-20 11:56:32.5531685 +0530 +0530 deployed        gauth-0.1.77    0.1&lt;br /&gt;
Check the '''gauth''' namespace status:&lt;br /&gt;
 helm status gauth&lt;br /&gt;
The result should show the namespace details with a status of deployed:&lt;br /&gt;
 NAME: gauth&lt;br /&gt;
 LAST DEPLOYED: Thu May 20 11:56:32 2021&lt;br /&gt;
 NAMESPACE: gauth&lt;br /&gt;
 STATUS: deployed&lt;br /&gt;
 REVISION: 1&lt;br /&gt;
 TEST SUITE: None&lt;br /&gt;
Check the Genesys Authentication Kubernetes objects created by Helm:&lt;br /&gt;
 kubectl get all -n gauth&lt;br /&gt;
The result should show all the created pods, service ConfigMaps, and so on.&lt;br /&gt;
&lt;br /&gt;
'''Verify all new auth deployments are running:'''&lt;br /&gt;
 kubectl get deployments -n gauth&lt;br /&gt;
Expected:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;gauth-auth-&amp;lt;release&amp;gt;                    2/2 # Already existing old auth pods&lt;br /&gt;
gauth-service-authentication-&amp;lt;release&amp;gt;  2/2 # New auth pods&lt;br /&gt;
gauth-environment-&amp;lt;release&amp;gt;             2/2&lt;br /&gt;
gauth-auth-ui-&amp;lt;release&amp;gt;                 2/2&amp;lt;/source&amp;gt;Customers using dedicated external auth pods, you will observe new auth external pods also deployed along with existing old auth external pods&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;gauth-auth-&amp;lt;release&amp;gt;                             2/2&lt;br /&gt;
gauth-service-authentication-&amp;lt;release&amp;gt;           2/2&lt;br /&gt;
gauth-environment-&amp;lt;release&amp;gt;                      2/2&lt;br /&gt;
gauth-auth-ui-&amp;lt;release&amp;gt;                          2/2&lt;br /&gt;
gauth-auth-ext-&amp;lt;release&amp;gt;                         2/2  # Already existing old auth external pods&lt;br /&gt;
gauth-service-auth-ext-&amp;lt;release&amp;gt;                 2/2  # New auth external pods&amp;lt;/source&amp;gt;Finally, verify that you can now access Genesys Authentication at the following URL: https://&amp;lt;hostname&amp;gt;/ui/auth/sign-in.html&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Genesys Service Authentication Cut Over Guide&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext===Overview==&lt;br /&gt;
Starting with &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; Helm chart version &amp;lt;code&amp;gt;100.0.101+0258&amp;lt;/code&amp;gt; or later, the new authentication service &amp;lt;code&amp;gt;gws-service-authentication&amp;lt;/code&amp;gt; is deployed alongside the existing authentication service &amp;lt;code&amp;gt;gauth-auth&amp;lt;/code&amp;gt;. By default, traffic continues to route to the old authentication service.  &lt;br /&gt;
&lt;br /&gt;
The cutover switches authentication traffic from the old authentication service &amp;lt;code&amp;gt;gauth-auth&amp;lt;/code&amp;gt; to the new authentication service &amp;lt;code&amp;gt;gws-service-authentication&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Before cutover:'''&lt;br /&gt;
&lt;br /&gt;
*Traffic routes to the old authentication service.&lt;br /&gt;
*Client data is copied from old database tables to new database tables.&lt;br /&gt;
*Existing authentication tokens remain in the old token format.&lt;br /&gt;
&lt;br /&gt;
'''After cutover:'''&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;/auth&amp;lt;/code&amp;gt; traffic routes to the new authentication service.&lt;br /&gt;
*New tokens are created in the new authentication token format.&lt;br /&gt;
*Existing tokens created by the old authentication service cannot be read by the new authentication service.&lt;br /&gt;
*Dependent services must be restarted, and users must re-login to obtain new tokens.&lt;br /&gt;
&lt;br /&gt;
This guide further explains how to migrate client data, validate the new service, switch authentication traffic to the new service, validate the cutover, restart dependent services, and roll back to the old service if needed &lt;br /&gt;
&lt;br /&gt;
==Migration Process:==&lt;br /&gt;
Auth Service has 2 persistent pieces of information.&lt;br /&gt;
&lt;br /&gt;
#Client Details&lt;br /&gt;
#Authentication Token&lt;br /&gt;
&lt;br /&gt;
===1.Client Details:===&lt;br /&gt;
The new authentication service (&amp;lt;code&amp;gt;gauth-service-authentication&amp;lt;/code&amp;gt;) uses the same Postgres database and Redis cluster as the old auth service (&amp;lt;code&amp;gt;gauth-auth&amp;lt;/code&amp;gt;), but with different table formats.&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{!}}'''Data'''&lt;br /&gt;
{{!}}'''Old Auth table name'''&lt;br /&gt;
{{!}}'''New Auth Table name'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Clients&lt;br /&gt;
{{!}}oauth_client_details&lt;br /&gt;
{{!}}oauth2_client_details&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Contact Centers&lt;br /&gt;
{{!}}client_contact_centers&lt;br /&gt;
{{!}}client_contact_centers2&lt;br /&gt;
{{!}}}&lt;br /&gt;
&lt;br /&gt;
'''Automatic migration''': &lt;br /&gt;
&lt;br /&gt;
When the new authentication service starts, Flyway runs the migration script:&lt;br /&gt;
 V1.7.1__CopyOauth2ClientDetailsFromOldTable.sql&lt;br /&gt;
This migration copies client data from the old tables to the new tables.&lt;br /&gt;
&lt;br /&gt;
The migration runs once on the first startup of the new authentication service. On subsequent restarts, Flyway skips the migration because it has already been applied.&lt;br /&gt;
&lt;br /&gt;
===2. Authentication Token:===&lt;br /&gt;
Authentication tokens from the old authentication service are not migrated. The old and new authentication services use incompatible token storage formats. Tokens created by the old authentication service cannot be read by the new authentication service. In order to regenerate the tokens, refer to step {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Deploy|anchor=Restart_Applicable_Services|display text=Restart Applicable Services}} of CutOver steps.&lt;br /&gt;
&lt;br /&gt;
And below is the difference in token storage formats of both the authentication services,&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{!}}'''Area'''&lt;br /&gt;
{{!}}'''Old Auth'''&lt;br /&gt;
{{!}}'''New Auth'''&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Serialization&lt;br /&gt;
{{!}}JDK binary&lt;br /&gt;
{{!}}Jackson JSON&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Key prefix&lt;br /&gt;
{{!}}configurable (empty)&lt;br /&gt;
{{!}}GWS:Auth:V3:&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Token keys&lt;br /&gt;
{{!}}plain token values&lt;br /&gt;
{{!}}SHA-256 hashed&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Data model&lt;br /&gt;
{{!}}OAuth2AccessToken + OAuth2Authentication&lt;br /&gt;
{{!}}OAuth2Authorization (unified)&lt;br /&gt;
{{!}}}&lt;br /&gt;
&lt;br /&gt;
==Pre Validation==&lt;br /&gt;
Complete the following checks before switching traffic to the new authentication service.&lt;br /&gt;
&lt;br /&gt;
===Step 1: Verify New Auth service health===&lt;br /&gt;
Check that the new authentication pods are running:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get pods -n gauth -l gauth=service-auth&amp;lt;/source&amp;gt;Check health from the pod:&lt;br /&gt;
 kubectl exec -n gauth &amp;lt;new-auth-pod&amp;gt; -- curl -s &amp;lt;nowiki&amp;gt;http://localhost:8081/health&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Expected response: &lt;br /&gt;
 {&amp;quot;status&amp;quot;:&amp;quot;UP&amp;quot;}&lt;br /&gt;
Verify that the service started successfully:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl logs -n gauth &amp;lt;new-auth-pod&amp;gt; | grep -i &amp;quot;Started&amp;quot;&amp;lt;/source&amp;gt;Expected log message:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Started AuthorizationServerApplication in X seconds&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 2: Verify Client Data Migration===&lt;br /&gt;
Check the new authentication service logs for Flyway migration status:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl logs -n gauth &amp;lt;new-auth-pod&amp;gt; | grep -i &amp;quot;migrat&amp;quot;&amp;lt;/source&amp;gt;Expected output on first startup:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Migrating schema &amp;quot;public&amp;quot; to version &amp;quot;1.7.1 - CopyOauth2ClientDetailsFromOldTable&amp;quot;&lt;br /&gt;
Successfully applied 1 migration(s) to schema &amp;quot;public&amp;quot;&amp;lt;/source&amp;gt;Expected output if the migration was already applied:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;Schema &amp;quot;public&amp;quot; is up to date. No migration necessary.&amp;lt;/source&amp;gt;You can also verify migrated client data through the operations API on the new authentication pod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Start port-forwarding:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl port-forward -n gauth &amp;lt;new-auth-pod&amp;gt; 8080:8080&amp;lt;/source&amp;gt;Then call the GET Clients API:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -u &amp;lt;admin_username&amp;gt;:&amp;lt;admin_password&amp;gt; \&lt;br /&gt;
  http://localhost:8080/auth/v3/ops/clients&amp;lt;/source&amp;gt;Expected result:&lt;br /&gt;
&lt;br /&gt;
*Clients are returned from the new authentication service.&lt;br /&gt;
*If no clients are returned, do not proceed with cutover until migration is verified.&lt;br /&gt;
&lt;br /&gt;
===Step 3:  Run a Pre-cutover functional test===&lt;br /&gt;
Before switching traffic, verify the new authentication service directly through pod port-forwarding.&lt;br /&gt;
&lt;br /&gt;
Start port-forwarding:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl port-forward -n gauth &amp;lt;new-auth-pod&amp;gt; 8080:8080&lt;br /&gt;
&amp;lt;/source&amp;gt;Call the token endpoint:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST http://localhost:8080/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:  &amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Cut Over==&lt;br /&gt;
&lt;br /&gt;
===Step 1: Configure Helm Values===&lt;br /&gt;
Refer {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Configure|anchor=Override_Helm_chart_values|display text=Configure Genesys Authentication}} for below helm values configurations&lt;br /&gt;
&lt;br /&gt;
===='''Customers Using the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; Chart Only'''====&lt;br /&gt;
Set the following value:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;This value is required to switch traffic to the new authentication service.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If dedicated external authentication pods are required, also set:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  service_auth:&lt;br /&gt;
    externalAuth:&lt;br /&gt;
      enabled: true&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===='''Customers Using Both &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; Charts'''====&lt;br /&gt;
For the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; chart, set:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;For the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart, set:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;active:&lt;br /&gt;
  useNewAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;If dedicated external authentication is required, also set:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;active:&lt;br /&gt;
  externalAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;'''Important''': Always set &amp;lt;code&amp;gt;services.useNewAuth&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;active.useNewAuth&amp;lt;/code&amp;gt; to the same value. Mismatched values can result in two ingresses pointing to different authentication services, causing unpredictable routing behavior.&lt;br /&gt;
&lt;br /&gt;
===Step 2: Confirm Database Migration Is Enabled===&lt;br /&gt;
Automatic migration of PostgreSQL data from old auth tables to new auth tables is enabled by default.&lt;br /&gt;
&lt;br /&gt;
Example configuration:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: false&lt;br /&gt;
&lt;br /&gt;
  secrets:&lt;br /&gt;
    useSecretProviderClass: false&lt;br /&gt;
&lt;br /&gt;
  replicas: 3&lt;br /&gt;
  location: /&lt;br /&gt;
&lt;br /&gt;
  db:&lt;br /&gt;
    init: true # enables automatic migration&lt;br /&gt;
    poolSize: 3&amp;lt;/source&amp;gt;&lt;br /&gt;
===Step 3: Deploy the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; Helm Chart===&lt;br /&gt;
Deploy the updated &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; chart:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;helm upgrade --install gauth ./gauth-&amp;lt;version&amp;gt;.tgz \&lt;br /&gt;
  -f &amp;lt;your-values-file&amp;gt;.yaml \&lt;br /&gt;
  -n gauth \&lt;br /&gt;
  --wait \&lt;br /&gt;
  --timeout 600s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 4: Verify Ingress Routes to New Auth===&lt;br /&gt;
Verify that &amp;lt;code&amp;gt;/auth/&amp;lt;/code&amp;gt; routes to the new authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -o yaml | grep -A5 &amp;quot;path: /auth/&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-service-authentication-&amp;lt;release&amp;gt;&lt;br /&gt;
    port:&lt;br /&gt;
      number: 8080&lt;br /&gt;
&amp;lt;/source&amp;gt;If the backend still shows &amp;lt;code&amp;gt;gauth-auth-&amp;lt;release&amp;gt;&amp;lt;/code&amp;gt;, the cutover has not taken effect.&lt;br /&gt;
&lt;br /&gt;
===Step 5: Verify External Auth Ingress, If Used===&lt;br /&gt;
For customers using dedicated external authentication, verify that &amp;lt;code&amp;gt;/auth/v3/oauth/token&amp;lt;/code&amp;gt; routes to the new external authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -o yaml | grep -A5 &amp;quot;path: /auth/v3/oauth/token&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/v3/oauth/token&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-service-auth-ext-&amp;lt;release&amp;gt;&lt;br /&gt;
    port:&lt;br /&gt;
      number: 8080&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;If the backend still shows &amp;lt;code&amp;gt;gauth-auth-ext-&amp;lt;release&amp;gt;&amp;lt;/code&amp;gt;, the external authentication cutover has not taken effect.&lt;br /&gt;
&lt;br /&gt;
===Additional Steps for Customers Using &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt;===&lt;br /&gt;
Update the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart values:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;active:&lt;br /&gt;
  useNewAuth: true&lt;br /&gt;
  externalAuth: true&lt;br /&gt;
&amp;lt;/source&amp;gt;Set &amp;lt;code&amp;gt;externalAuth: true&amp;lt;/code&amp;gt; only if dedicated external authentication is used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deploy the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;helm upgrade --install gauth-infra ./gauth-infra-bg-&amp;lt;version&amp;gt;.tgz \&lt;br /&gt;
  -f &amp;lt;your-infra-values-file&amp;gt;.yaml \&lt;br /&gt;
  -n gauth \&lt;br /&gt;
  --wait&lt;br /&gt;
&amp;lt;/source&amp;gt;Verify that &amp;lt;code&amp;gt;/auth/&amp;lt;/code&amp;gt; routes to the new authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -l service=gauth-infra-bg -o yaml | grep -A5 &amp;quot;path: /auth/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-service-authentication-&amp;lt;infra-release&amp;gt;-active&lt;br /&gt;
    port:&lt;br /&gt;
      number: 80&lt;br /&gt;
&amp;lt;/source&amp;gt;If the backend still shows &amp;lt;code&amp;gt;gauth-auth-&amp;lt;infra-release&amp;gt;-active&amp;lt;/code&amp;gt;, the cutover has not taken effect.&lt;br /&gt;
For dedicated external authentication, verify:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -l service=gauth-infra-bg -o yaml | grep -A5 &amp;quot;path: /auth/v3/oauth/token&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/v3/oauth/token&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-service-auth-ext-&amp;lt;infra-release&amp;gt;-active&lt;br /&gt;
    port:&lt;br /&gt;
      number: 80&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;If the backend still shows &amp;lt;code&amp;gt;gauth-auth-ext-&amp;lt;infra-release&amp;gt;-active&amp;lt;/code&amp;gt;, the external authentication cutover has not taken effect.&lt;br /&gt;
&lt;br /&gt;
===Validate Cutover===&lt;br /&gt;
Step 1: Test the External Ingress&lt;br /&gt;
&lt;br /&gt;
Call the token endpoint through the external ingress URL:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST https://&amp;lt;gauth-external-ingress-host&amp;gt;/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Step 2: Test the Internal Ingress&lt;br /&gt;
&lt;br /&gt;
Call the token endpoint through the internal ingress URL:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST https://&amp;lt;gauth-internal-ingress-host&amp;gt;/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;Ingress host values come from the Helm values files:&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Chart&lt;br /&gt;
!External Ingress Value&lt;br /&gt;
!Internal Ingress Value&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;ingress.frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;internal_ingress.frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;active.ingress.frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}&amp;lt;code&amp;gt;active.internal_ingress.frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
{{!}}}&lt;br /&gt;
&lt;br /&gt;
===Restart Applicable Services===&lt;br /&gt;
Restart dependent services after cutover.&lt;br /&gt;
&lt;br /&gt;
This restart is required because existing cached tokens were created by the old authentication service. These old tokens cannot be validated by the new authentication service.&lt;br /&gt;
&lt;br /&gt;
Example restart commands:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl rollout restart deployment gws-service-configuration -n gws&lt;br /&gt;
kubectl rollout restart deployment gws-app-provisioning -n gws&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example applicable services include:'''&lt;br /&gt;
&lt;br /&gt;
i. gws-service-configuration&lt;br /&gt;
&lt;br /&gt;
ii. gws-app-provisoning&lt;br /&gt;
&lt;br /&gt;
ii. GIR(Genesys Interaction Recording) - Speechminer Web service&lt;br /&gt;
&lt;br /&gt;
iv. Nexus&lt;br /&gt;
&lt;br /&gt;
v. CIWD&lt;br /&gt;
&lt;br /&gt;
vi. UCSX (only Azure)&lt;br /&gt;
&lt;br /&gt;
vii. UDM (CDDS-X)&lt;br /&gt;
&lt;br /&gt;
===='''Impact on Existing Logins'''====&lt;br /&gt;
&lt;br /&gt;
*Existing agent and user sessions are not terminated automatically during cutover.&lt;br /&gt;
*However, ongoing or new read/write operations may fail after cutover because old tokens use JDK binary serialization and cannot be read by the new authentication service, which uses Jackson JSON serialization.&lt;br /&gt;
*Users and agents must log in again to resume normal operations:&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!User Type&lt;br /&gt;
!Required Action&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}WWE users&lt;br /&gt;
{{!}}Log out and log back in&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}Agent Setup users&lt;br /&gt;
{{!}}Log out and log back in&lt;br /&gt;
{{!}}}&lt;br /&gt;
Re-login creates new tokens in the new authentication service format. After re-login, operations should work normally.&lt;br /&gt;
&lt;br /&gt;
==Rollback (If needed)==&lt;br /&gt;
'''After rollback:'''&lt;br /&gt;
&lt;br /&gt;
*Traffic routes back to the old authentication service.&lt;br /&gt;
*Old auth pods are already running, so old auth pod restart is not required.&lt;br /&gt;
*Tokens created by the new authentication service become invalid.&lt;br /&gt;
*Dependent services must be restarted again so they obtain tokens from the old authentication service.&lt;br /&gt;
*Users and agents must log in again.&lt;br /&gt;
&lt;br /&gt;
===Step 1: Switch the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; Chart Back to Old Auth===&lt;br /&gt;
Update the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; chart values:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;services:&lt;br /&gt;
  useNewAuth: false&lt;br /&gt;
&amp;lt;/source&amp;gt;Deploy the &amp;lt;code&amp;gt;gauth&amp;lt;/code&amp;gt; chart:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;helm upgrade --install gauth ./gauth-&amp;lt;version&amp;gt;.tgz \&lt;br /&gt;
  -f &amp;lt;your-values-file&amp;gt;.yaml \&lt;br /&gt;
  -n gauth \&lt;br /&gt;
  --wait \&lt;br /&gt;
  --timeout 600s&lt;br /&gt;
&amp;lt;/source&amp;gt;Verify that &amp;lt;code&amp;gt;/auth/&amp;lt;/code&amp;gt; routes back to the old authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -o yaml | grep -A5 &amp;quot;path: /auth/&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-auth-&amp;lt;release&amp;gt;&lt;br /&gt;
    port:&lt;br /&gt;
      number: 8080&lt;br /&gt;
&amp;lt;/source&amp;gt;For dedicated external authentication, verify:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -o yaml | grep -A5 &amp;quot;path: /auth/v3/oauth/token&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/v3/oauth/token&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-auth-ext-&amp;lt;release&amp;gt;&lt;br /&gt;
    port:&lt;br /&gt;
      number: 8080&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 2: Switch the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; Chart Back to Old Auth, '''If Used'''===&lt;br /&gt;
Update the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart values:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;active:&lt;br /&gt;
  useNewAuth: false&lt;br /&gt;
&amp;lt;/source&amp;gt;If external authentication was enabled only for the new authentication service and must also be switched back, update the external authentication value as required by your deployment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deploy the &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt; chart:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;helm upgrade --install gauth-infra ./gauth-infra-bg-&amp;lt;version&amp;gt;.tgz \&lt;br /&gt;
  -f &amp;lt;your-infra-values-file&amp;gt;.yaml \&lt;br /&gt;
  -n gauth \&lt;br /&gt;
  --wait&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify that &amp;lt;code&amp;gt;/auth/&amp;lt;/code&amp;gt; routes back to the old authentication service:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -l service=gauth-infra-bg -o yaml | grep -A5 &amp;quot;path: /auth/&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-auth-&amp;lt;infra-release&amp;gt;-active&lt;br /&gt;
    port:&lt;br /&gt;
      number: 80&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For dedicated external authentication, verify:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl get ingress -n gauth -l service=gauth-infra-bg -o yaml | grep -A5 &amp;quot;path: /auth/v3/oauth/token&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected backend:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;path: /auth/v3/oauth/token&lt;br /&gt;
pathType: ImplementationSpecific&lt;br /&gt;
backend:&lt;br /&gt;
  service:&lt;br /&gt;
    name: gauth-auth-ext-&amp;lt;infra-release&amp;gt;-active&lt;br /&gt;
    port:&lt;br /&gt;
      number: 80&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 3: Restart Applicable Services After Rollback===&lt;br /&gt;
Restart dependent services again after rollback.&lt;br /&gt;
&lt;br /&gt;
This is required because services may hold tokens created by the new authentication service, and those tokens cannot be validated by the old authentication service.&lt;br /&gt;
&lt;br /&gt;
Example commands:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl rollout restart deployment gws-service-configuration -n gws&lt;br /&gt;
kubectl rollout restart deployment gws-app-provisioning -n gws&lt;br /&gt;
&amp;lt;/source&amp;gt;Restart any other applicable services listed in the {{Link-AnywhereElse|product=AUTH|version=Current|manual=AuthPEGuide|topic=Deploy|anchor=Restart_Applicable_Services|display text=Restart Applicable Services}} section.&lt;br /&gt;
&lt;br /&gt;
===Step 4: Validate Rollback===&lt;br /&gt;
Call the token endpoint through the external ingress URL:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST https://&amp;lt;gauth-external-ingress-host&amp;gt;/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;Call the token endpoint through the internal ingress URL:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;curl -X POST https://&amp;lt;gauth-internal-ingress-host&amp;gt;/auth/v3/oauth/token \&lt;br /&gt;
  -d &amp;quot;grant_type=client_credentials&amp;amp;client_id=&amp;lt;id&amp;gt;&amp;amp;client_secret=&amp;lt;secret&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;Expected response:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{&lt;br /&gt;
  &amp;quot;access_token&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;token_type&amp;quot;: &amp;quot;...&amp;quot;,&lt;br /&gt;
  &amp;quot;expires_in&amp;quot;: ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Ingress Still Points to Old Auth After Cutover===&lt;br /&gt;
If ingress still points to &amp;lt;code&amp;gt;gauth-auth-&amp;lt;release&amp;gt;&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;gauth-auth-ext-&amp;lt;release&amp;gt;&amp;lt;/code&amp;gt;, the cutover did not take effect.&lt;br /&gt;
&lt;br /&gt;
Check:&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;code&amp;gt;services.useNewAuth&amp;lt;/code&amp;gt; is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;&lt;br /&gt;
*&amp;lt;code&amp;gt;active.useNewAuth&amp;lt;/code&amp;gt; is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, if using &amp;lt;code&amp;gt;gauth-infra-bg&amp;lt;/code&amp;gt;&lt;br /&gt;
*Helm upgrade completed successfully&lt;br /&gt;
*The correct values file was used&lt;br /&gt;
*Ingress was updated after deployment&lt;br /&gt;
&lt;br /&gt;
===Token Requests Fail After Cutover===&lt;br /&gt;
Check:&lt;br /&gt;
&lt;br /&gt;
*Client migration completed successfully&lt;br /&gt;
*Client ID and client secret are valid&lt;br /&gt;
*Token request is reaching the new authentication service&lt;br /&gt;
*Dependent services were restarted&lt;br /&gt;
*Users have logged out and logged back in&lt;br /&gt;
&lt;br /&gt;
===Operations Fail for Logged-In Users After Cutover===&lt;br /&gt;
Existing user sessions are not automatically terminated, but operations may fail because old tokens are incompatible with the new authentication service.&lt;br /&gt;
&lt;br /&gt;
Resolution:&lt;br /&gt;
&lt;br /&gt;
*Ask affected users to log out and log back in.&lt;br /&gt;
*Restart dependent services that cache service tokens.&lt;br /&gt;
&lt;br /&gt;
===Token Requests Fail After Rollback===&lt;br /&gt;
After rollback, tokens created by the new authentication service are invalid for the old authentication service.&lt;br /&gt;
&lt;br /&gt;
Resolution:&lt;br /&gt;
&lt;br /&gt;
*Restart dependent services again.&lt;br /&gt;
*Ask users and agents to log out and log back in.&lt;br /&gt;
*Verify ingress routes back to the old authentication service.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=AUTH/Current/AuthPEGuide/Configure&amp;diff=133564</id>
		<title>AUTH/Current/AuthPEGuide/Configure</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=AUTH/Current/AuthPEGuide/Configure&amp;diff=133564"/>
		<updated>2026-05-22T13:00:43Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Article&lt;br /&gt;
|Standalone=No&lt;br /&gt;
|DisplayName=Configure Genesys Authentication&lt;br /&gt;
|Context=Learn how to configure Genesys Authentication.&lt;br /&gt;
|ComingSoon=No&lt;br /&gt;
|Section={{Section&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Complete the steps on this page to configure your Genesys Authentication deployment.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Add Java KeyStore support (optional)&lt;br /&gt;
|anchor=jks&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Complete the steps in this section to set up a [https://en.wikipedia.org/wiki/Java_KeyStore Java KeyStore] (JKS) if you need to configure Genesys Authentication to use [https://jwt.io/ JSON Web Token] authentication. This method of authentication is currently used for {{Link-AnywhereElse|product=WebRTC|version=Current|manual=WebRTCPEGuide|display text=WebRTC}}.&lt;br /&gt;
&lt;br /&gt;
Create a keystore file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;keytool -keystore jksStorage.jks -genkey -alias gws-auth-key -storepass &amp;lt;password&amp;gt; -keypass &amp;lt;password&amp;gt; -keyalg RSA&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Get the Base64 encoded key:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;cat ./jksStorage.jks | base64&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;/u3+7QAAAAIAAAABAAAAAQAMZ3dzLWF1dGgta2V5AAABeRmB2Y4AAAUBMIIE/TAOBgorBgEEASoCEQEBBQAEggTpwQQ5aW5CUYAsf4/IheBuNrlPPyZhUA+NWh3SG52HV3sVjV+p18vKp2k/q12I9NynoM6R/DW5bFfEWU1zx3cfXH2kNirRUOIbNZpa43NOroyyF1GSdZFlwa8Kq8Xtp8ZBmiJdSb1n12ODaTKGKv1cb5tsfdzkWs99QeTBGJypHMCdnBvdFB0Nvid+yaxdmK3bdQlCwDgDOHZ2RnU0oxXebH3o+jIrrowyo7DidJDyUwIeT2PPPI9F88QsP+CdDRRR1T7t0ojd1hIJ8YYMwJ1wQmwgF4QZRbtrEnwXqkHinJnwOERcp4FLuceds6YTlcxvWsS+GEv38Jv8YokLwRb/mMACTHk4R9yASsd7fljgNLSn0jhrz9FuxvYgpOVvExiq+sb5YrfbZjtTzZDzFVOu/2kWzASfZBSiyyxMOr3IhUPkMpIrg+UYkI0tgn/C3yR1wLr9HElpx8fCu61ORqp8hhp1yvL46K0c6eTa2JcRpO6fmysf2EG0JagG7zNEJHlvtNnt3JpQV06xos2iWsFAtHq+9w8LwvCVbDzx/UHoCYenIdJ7SBv06mXgKisa3RDIi/y5x5/9T4brgCLUvwI4Z5Rf/oi2Zx5/lXjQXmBPlPAcUVHLr5PvNQUUx5NBr/ooioD7qka4ADF1/cx8I2bzqTi+U01fiFdMGRlNlCfcGDMI2h82JUeCswRYi4+dMDiSaGgC2MoL2susLxMYa5CTo9Vs0Y2k+6j8fhIO4h8h0JxdXZODU63OM0cDSUHXfbyKSey/4IhiV3k7W4OHYeXUeDvoNmfo/AriELZl+WgYETiXGsKzxmrsHrBKC0+aT098FwqdY9ACsM/7WoF2+9eftc7fa2jruutrRjmk0A/BaIqzboJLFiWaUUGV9gsexEmpGszikQsmOYSIRxY8BYF+SYldehcfcsRRxDnhTaGNV8y2ZnwA61FNPAFps3gaFXeaYsUzlxTSi9m70HJJrUp7JDK6SGg6luiKMG4O7QjsGgOOwGpoLJf7EFOCspN3t4damhH/KFi9OrEuAdhMJa+iQ21PBZ+iIwxb0y9xMReImoUtoqy6Epre3qMOS6MILLw2bVrxJYo38+hR5uzNdlbsUlpYOoorI1Hp8A/VEYtG9PDHEhhoqUamdUYUzkFDi9QZfylIgi8Jc4G4PPrPKgMPqqE7sl6bJvoLavU58eHpdWo/Mb9UtdTx+l/SlulCCE0Xce6M9YE1SyC2B3gd82zNQa81lx+QAY8IaSmX+C2nMz+UeXKngSEzguK6gXg9RwCs8pUavuLQ6uZGkJ+fhDBvDAFgD7hG1XdHs27XGSUsRq6GiiwmjZXsZ70ETIVmXfuSvGuYYpv4CKzIDvweGdbkUWap2oQqm6Sw+OkJLbim1aW4MSYGCZItLOM36108onELop0wTIMiZBv2cIaQ+WzbyKDXIi94ebntxu42GSeUn1IGDMGAa+vh4itLDV6yIXCRHCd9GM6JBj+SKXkn+J0FIZ257Kf4k3kg6rm9Ha1800NMB7ILrbJChCZd5bmDmMwUGsNrlar2Oa4S41Y81vmBQJlMzSvAS37gk3eFX3XLKtfn7+Dxq8aYRA0TQEMln0uUuoiNRZH8iaLwhpI4bEkaoSU/DT/KHRB7AHN5/vQpj6KOscxqmyPrgPY/+TseczEeaQLQ6MfjvXY+AAAAAQAFWC41MDkAAAN7MIIDdzCCAl+gAwIBAgIEYxhLHTANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdVbmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYDVQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3duMB4XDTIxMDQyODE3MjMzMFoXDTIxMDcyNzE3MjMzMFowbDEQMA4GA1UEBhMHVW5rbm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjEQMA4GA1UEChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK0300E4F3NDKRHYwrkqDgeUPwoIrozyLp6JvkCsOe1nj5L44vwJjnrYw9falOVDQ9ggwquwXoD5RNEf5/esYcJNEqu1btJLwLvhXb651OyZnsmeNGP2BrNCPXZS6CBReMMKJaZrlCwJQxiSrGPHB/gpxKoAowLwl3V7wB2BHKDhrczQBPdvtsfBAzeqpN/yRpdKZRAtu2LyGqRZKCglSrwYenJFqROdOeworbNmtIKXfQLiamE4KdhzQdPfnyBC7ZWtCIJUp9Va4LmCYD/ISOmVyfQ9Xql1rRNQLcVaewCKRM2ffBAkx98d3n79XUZDljOzHh+79tCpheuuYfbMQqMCAwEAAaMhMB8wHQYDVR0OBBYEFNtM8mIEb67VYot5tjDAdrhiq+31MA0GCSqGSIb3DQEBCwUAA4IBAQBued3SqK+1chAUpNz06Ceak2Ldzlz6MXxBZx6fx50odSY3C4rwywK31RSAAtCe/Ta4y+B6JcdPjFtII6Pf5W0DDTOa3cHNMeukYn5lBnaMbIKqoxFT7nM7MD3DB+dISvMu8FtVWFwbPzXWhl+Aycuu9ETGlCoJqYfl+vmLyGjJVadcUg4E3u7b29woO+bH9pagJErfi7Wq0vaaqMtkKjfOSovMTwz5ruXSiCDZlxb8C8CEr9lkpT3F0G1XFaNNOHoZiZNwXFKLoLrdI2t3pOCYyhwYbGKGMyitRguYz490dxZ0G5R4kMo/YbN7be2QIJwmucIZzH7fkU90V+rmVZhl9Bo8ixuIJG/vZTxmEBaDqmhiP4w=&amp;lt;/source&amp;gt;&lt;br /&gt;
Make note of the following values - you need them to configure JKS support in the {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Configure|anchor=Override|display text=Helm chart}}:&lt;br /&gt;
&lt;br /&gt;
*Keystore filename&lt;br /&gt;
*Keystore password&lt;br /&gt;
*Key alias&lt;br /&gt;
*Key password&lt;br /&gt;
*Base64 encoded key&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure a secret to access JFrog&lt;br /&gt;
|anchor=Secret&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=If you haven't done so already, create a secret for accessing the JFrog registry:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl create secret docker-registry &amp;lt;credential-name&amp;gt; --docker-server=&amp;lt;docker repo&amp;gt; --docker-username=&amp;lt;username&amp;gt; --docker-password=&amp;lt;password&amp;gt; --docker-email=&amp;lt;emailid&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now map the secret to the default service account:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;kubectl secrets link default &amp;lt;credential-name&amp;gt; --for=pull&amp;lt;/source&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Override Helm chart values&lt;br /&gt;
|anchor=Override&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=You can specify parameters for the deployment by overriding Helm chart values in the '''values.yaml''' file. See the '''Parameters''' table for a full list of overridable values.&lt;br /&gt;
&lt;br /&gt;
For more information about how to override Helm chart values, see {{SuiteLevelLink|helmoverride}} in the {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide}} guide.&lt;br /&gt;
{{{!}} class=&amp;quot;wikitable&amp;quot; style=&amp;quot;table-layout: fixed; overflow-wrap: break-word;&amp;quot; {{!}}&lt;br /&gt;
{{!}}+&lt;br /&gt;
Parameters&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
!Valid values&lt;br /&gt;
!Default&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gws-core-auth&lt;br /&gt;
{{!}}The gws-core-auth image version tag. For example, 100.0.003.3508.&lt;br /&gt;
{{!}}A valid image version&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gws-core-environment&lt;br /&gt;
{{!}}The gws-core-environment image version tag. For example, 100.0.003.1866.&lt;br /&gt;
{{!}}A valid image version&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gws-ui-auth&lt;br /&gt;
{{!}}The gws-ui-auth image version tag. For example, 100.0.003.1328.&lt;br /&gt;
{{!}}A valid image version&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}gauth-service-authentication&lt;br /&gt;
{{!}}The gauth-service-authentication image version tag. For example, 100.0.001.0193.&lt;br /&gt;
{{!}}A valid image version&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}image.imagePullSecrets&lt;br /&gt;
{{!}}The secret Kubernetes uses to get credentials to pull images from the registry.&lt;br /&gt;
{{!}}A valid secret&lt;br /&gt;
{{!}}[]&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}image.pullPolicy&lt;br /&gt;
{{!}}Specifies when Kubernetes pulls images from the registry on start up.&lt;br /&gt;
{{!}}IfNotPresent or Always&lt;br /&gt;
{{!}}&amp;quot;IfNotPresent&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}image.registry&lt;br /&gt;
{{!}}Docker registry address&lt;br /&gt;
{{!}}A valid registry URL&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|consul}}consul.discovery_register&lt;br /&gt;
{{!}}Specifies whether services are registered in Consul.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.discovery_tenants&lt;br /&gt;
{{!}}Enables tenant discovery through Consul.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.enabled&lt;br /&gt;
{{!}}Enables a connection to Consul.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.host&lt;br /&gt;
{{!}}The host of the local Consul agent.&lt;br /&gt;
{{!}}A valid URL&lt;br /&gt;
{{!}}&amp;quot;&amp;lt;nowiki&amp;gt;http://$(K8_HOST_IP)&amp;lt;/nowiki&amp;gt;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.port&lt;br /&gt;
{{!}}The port of the local Consul agent.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}8500&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.require_token&lt;br /&gt;
{{!}}Specifies whether Genesys Authentication reads the API token from a Kubernetes secret.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.secret.create&lt;br /&gt;
{{!}}Create or use an existing secret with the Consul API token.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.secret.name_override&lt;br /&gt;
{{!}}The name of the Kubernetes secret for Consul.&lt;br /&gt;
{{!}}A valid secret name&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}consul.secret.token&lt;br /&gt;
{{!}}The API token to access Consul.&lt;br /&gt;
{{!}}A valid API token&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}ingress.enabled&lt;br /&gt;
{{!}}Enables external ingress for Genesys Authentication.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|ingress.frontend}}ingress.frontend&lt;br /&gt;
{{!}}The host that is used by external ingress.&lt;br /&gt;
{{!}}A valid host&lt;br /&gt;
{{!}}&amp;quot;gauth.local&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}ingress.annotations.&lt;br /&gt;
{{!}}Annotations that are applied to external ingress. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}nginx.ingress.kubernetes.io/proxy-body-size: &amp;quot;0&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}ingress.tls_enabled&lt;br /&gt;
{{!}}Enables Transport Layer Security (TLS) on external ingress.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}ingress.tls&lt;br /&gt;
{{!}}The name of the secret for Secure Sockets Layer (SSL) certificates.&lt;br /&gt;
{{!}}A valid secret name&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
- hosts:&lt;br /&gt;
  - gauth.local&lt;br /&gt;
  secretName: letsencrypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}internal_ingress.enabled&lt;br /&gt;
{{!}}Enables internal ingress for Genesys Authentication.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|internal_ingress.frontend}}internal_ingress.frontend&lt;br /&gt;
{{!}}The host that is used by internal ingress.&lt;br /&gt;
{{!}}A valid host&lt;br /&gt;
{{!}}&amp;quot;gauth-int.local&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}internal_ingress.annotations&lt;br /&gt;
{{!}}Annotations that are applied to internal ingress. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}nginx.ingress.kubernetes.io/proxy-body-size: &amp;quot;0&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|internal_ingress.tls_enabled}}internal_ingress.tls_enabled&lt;br /&gt;
{{!}}Enables Transport Layer Security (TLS) on internal ingress.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}internal_ingress.tls&lt;br /&gt;
{{!}}The name of the secret for Secure Sockets Layer (SSL) certificates.&lt;br /&gt;
{{!}}A valid secret name&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
- hosts:&lt;br /&gt;
  - gauth-int.local&lt;br /&gt;
  secretName: letsencrypt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}monitoring.enabled&lt;br /&gt;
{{!}}Specifies whether to deploy Custom Resource Definitions (CRD) for ServiceMonitors to determine which services should be monitored.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}monitoring.interval&lt;br /&gt;
{{!}}The interval at which Prometheus scrapes metrics.&lt;br /&gt;
{{!}}A duration in seconds&lt;br /&gt;
{{!}}&amp;quot;15s&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}monitoring.alarms&lt;br /&gt;
{{!}}Specifies whether to deploy CRD for PrometheusRules to define rules for alarms.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}monitoring.alarmThresholds.redisKeys&lt;br /&gt;
{{!}}The threshold to trigger an alarm on the total number of keys in Redis.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}5000000&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}monitoring.alarmThresholds.redisMaxMemoryPerentage&lt;br /&gt;
{{!}}The threshold to trigger an alarm for used Redis memory.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}85&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}monitoring.dashboards&lt;br /&gt;
{{!}}Specifies whether to deploy ConfigMaps with Grafana Dashboards.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}monitoring.pagerduty&lt;br /&gt;
{{!}}Enables alarms with a severity of &amp;lt;code&amp;gt;CRITICAL&amp;lt;/code&amp;gt;.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}optional.affinity&lt;br /&gt;
{{!}}Specifies the affinity and anti-affinity for Genesys Authentication pods. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
podAntiAffinity:&lt;br /&gt;
  preferredDuringSchedulingIgnoredDuringExecution:&lt;br /&gt;
    - podAffinityTerm:&lt;br /&gt;
        labelSelector:&lt;br /&gt;
          matchLabels:&lt;br /&gt;
            gauth: '{{ .gauth }}'&lt;br /&gt;
            app.kubernetes.io/name: '{{ include &amp;quot;auth.name&amp;quot; . }}'&lt;br /&gt;
            app.kubernetes.io/instance: '{{ .Release.Name }}'&lt;br /&gt;
        topologyKey: failure-domain.beta.kubernetes.io/zone&lt;br /&gt;
      weight: 100&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}optional.dnsConfig&lt;br /&gt;
{{!}}Specifies custom DNS settings for Genesys Authentication pods. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pods-dns-policy|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
options:&lt;br /&gt;
  - name: ndots&lt;br /&gt;
    value: &amp;quot;3&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}optional.dnsPolicy&lt;br /&gt;
{{!}}Specifies the DNS policy for Genesys Authentication pods. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pods-dns-policy|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}&amp;quot;Default&amp;quot;, &amp;quot;ClusterFirst&amp;quot;, &amp;quot;ClusterFirstWithHostNet&amp;quot;, or &amp;quot;None&amp;quot;&lt;br /&gt;
{{!}}&amp;quot;ClusterFirst&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}optional.nodeSelector&lt;br /&gt;
{{!}}The labels Kubernetes uses to assign pods to nodes. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/configuration/assign-pod-node/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}optional.priorityClassName&lt;br /&gt;
{{!}}The class name Kubernetes uses to determine the priority of a pod relative to other pods. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid priority class name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}optional.securityContext&lt;br /&gt;
{{!}}Specifies the privilege and access control settings Genesys Authentication pods. See {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Configure|anchor=Security|display text=Configure security}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}optional.strategy&lt;br /&gt;
{{!}}Specifies details for the rolling update strategy Genesys Authentication uses to upgrade it containers. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
type: RollingUpdate&lt;br /&gt;
rollingUpdate:&lt;br /&gt;
  maxSurge: 10&lt;br /&gt;
  maxUnavailable: 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}optional.tolerations&lt;br /&gt;
{{!}}The tolerations Kubernetes uses for advanced pod scheduling. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}[]&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}podDisruptionBudget.create&lt;br /&gt;
{{!}}Specifies whether to create a PodDisruptionBudget. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/run-application/configure-pdb/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}podDisruptionBudget.spec&lt;br /&gt;
{{!}}Specifies the details of your PodDisruptionBudget. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/run-application/configure-pdb/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid spec that defines a value for either minAvailable or maxUnavailable. Do not specify .spec.selector because it is calculated by Helm.&lt;br /&gt;
{{!}}minAvailable: 2&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}pod_autoscaler.auth.enabled&lt;br /&gt;
{{!}}Enables the Horizontal Pod Autoscaler for the Authentication Service. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}pod_autoscaler.auth.maxReplicas&lt;br /&gt;
{{!}}Specifies the maximum number of Authentication Service replicas the Horizontal Pod Autoscaler controller will scale.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}pod_autoscaler.auth.metrics&lt;br /&gt;
{{!}}Specifies resource metrics the Horizontal Pod Autoscaler controller uses to scale Authentication Service pods up or down. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
- type: Resource&lt;br /&gt;
  resource:&lt;br /&gt;
    name: cpu&lt;br /&gt;
    target:&lt;br /&gt;
      type: Utilization&lt;br /&gt;
      averageUtilization: 350%&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}pod_autoscaler.environment.enabled&lt;br /&gt;
{{!}}Enables the Horizontal Pod Autoscaler for the Environment Service. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}pod_autoscaler.environment.maxReplicas&lt;br /&gt;
{{!}}Specifies the maximum number of Environment Service replicas the Horizontal Pod Autoscaler controller will scale.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}10&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}pod_autoscaler.environment.metrics&lt;br /&gt;
{{!}}Specifies resource metrics the Horizontal Pod Autoscaler controller uses to scale Environment Service pods up or down. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
- type: Resource&lt;br /&gt;
  resource:&lt;br /&gt;
    name: cpu&lt;br /&gt;
    target:&lt;br /&gt;
      type: Utilization&lt;br /&gt;
      averageUtilization: 350%&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.deploy&lt;br /&gt;
{{!}}Specifies whether to deploy PostgreSQL. Set this option for lab environments only.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.image&lt;br /&gt;
{{!}}Specifies the Docker image to use in the lab environment if &amp;lt;code&amp;gt;postgres.deploy=true&amp;lt;/code&amp;gt;.&lt;br /&gt;
{{!}}A Docker image&lt;br /&gt;
{{!}}&amp;quot;postgres:11-alpine&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.configmap.create&lt;br /&gt;
{{!}}Specifies whether Genesys Authentication creates a ConfigMap with PostgreSQL connection parameters. If the value is false, you must create the ConfigMap manually.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.configmap.name_override&lt;br /&gt;
{{!}}The name of the ConfigMap.&lt;br /&gt;
{{!}}A value name&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|postgres}}postgres.db&lt;br /&gt;
{{!}}The name of the PostgreSQL database from {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Planning|anchor=create|display text=Create a PostgreSQL database and user}}.&lt;br /&gt;
{{!}}A valid database name&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.host&lt;br /&gt;
{{!}}The host of the PostgreSQL instance.&lt;br /&gt;
{{!}}A valid host&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.port&lt;br /&gt;
{{!}}The port of the PostgreSQL instance.&lt;br /&gt;
{{!}}A valid port&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.username&lt;br /&gt;
{{!}}The username to access the PostgreSQL database from {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Planning|anchor=create|display text=Create a PostgreSQL database and user}}.&lt;br /&gt;
{{!}}A valid username&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.password&lt;br /&gt;
{{!}}The password to access the PostgreSQL database from {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Planning|anchor=create|display text=Create a PostgreSQL database and user}}.&lt;br /&gt;
{{!}}A valid password&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.secret.create&lt;br /&gt;
{{!}}Specifies whether to create a Kubernetes secret with user credentials for PostgreSQL. If this value is false, you must create the secret manually.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}postgres.secret.name_override&lt;br /&gt;
{{!}}The name of the PostgreSQL secret.&lt;br /&gt;
{{!}}A valid name&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.cluster_nodes&lt;br /&gt;
{{!}}The Redis nodes in your cluster. For example, &amp;quot;redis-cluster1:7000,redis-cluster2:7002&amp;quot;.&lt;br /&gt;
{{!}}A comma-separated list of &amp;quot;host:port&amp;quot; pairs&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.configmap.create&lt;br /&gt;
{{!}}Specifies whether to create a ConfigMap with connection parameters for Redis. If this value is false, you must create the ConfigMap manually.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.configmap.name_override&lt;br /&gt;
{{!}}The name of the Redis ConfigMap.&lt;br /&gt;
{{!}}A valid name&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.deploy&lt;br /&gt;
{{!}}Specifies whether to deploy a Redis cluster. Set this option for lab environments only.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.image&lt;br /&gt;
{{!}}Specifies the Docker image to use in the lab environment if &amp;lt;code&amp;gt;redis.deploy=true&amp;lt;/code&amp;gt;.&lt;br /&gt;
{{!}}A Docker image&lt;br /&gt;
{{!}}&amp;quot;redis:5-stretch&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.password&lt;br /&gt;
{{!}}The Redis password.&lt;br /&gt;
{{!}}A valid password&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.password_required&lt;br /&gt;
{{!}}Specifies whether Genesys Authentication should read the Redis password from a Kubernetes secret.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.secret.create&lt;br /&gt;
{{!}}Specifies whether to create a Kubernetes secret with Redis password. If this value is false, you must create the secret manually.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}redis.secret.name_override&lt;br /&gt;
{{!}}The name of the Redis secret.&lt;br /&gt;
{{!}}A valid name&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|redis.use_tls}}redis.use_tls&lt;br /&gt;
{{!}}Enable or disable a TLS connection to the Redis cluster.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}serviceAccount.create&lt;br /&gt;
{{!}}Specifies whether to create a service account.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}serviceAccount.name&lt;br /&gt;
{{!}}The name of the service account to use.&lt;br /&gt;
{{!}}A service account name&lt;br /&gt;
{{!}}&amp;quot;&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}serviceAccount.annotations&lt;br /&gt;
{{!}}Annotations to add to the service account. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of labels as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.initContainers&lt;br /&gt;
{{!}}Optional init containers to add to Genesys Authentication deployments.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.location&lt;br /&gt;
{{!}}Location of the deployment. For example, &amp;quot;/USW1&amp;quot;.&lt;br /&gt;
{{!}}A valid location.&lt;br /&gt;
{{!}}&amp;quot;/&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.replicas&lt;br /&gt;
{{!}}The number of Genesys Authentication pod replicas to deploy.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.db.init&lt;br /&gt;
{{!}}Enable automatic updates for the database schema.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.db.poolCheckoutTimeout&lt;br /&gt;
{{!}}The database pool timeout.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}3000&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.db.poolSize&lt;br /&gt;
{{!}}The database pool size.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}3&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.loglevel&lt;br /&gt;
{{!}}Specifies the log level for the Authentication Service.&lt;br /&gt;
{{!}}INFO, DEBUG, WARN&lt;br /&gt;
{{!}}DEBUG&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.db.ssl&lt;br /&gt;
{{!}}Enable or disable an SSL connection to PostgreSQL. See the {{#Widget:ExtLink|link=https://www.postgresql.org/docs/9.0/libpq-ssl.html|displaytext=PostgreSQL documentation}} for details about SSL modes.&lt;br /&gt;
{{!}}disable, prefer, require, verify-ca, or verify-full&lt;br /&gt;
{{!}}&amp;quot;disable&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.deploymentAnnotations&lt;br /&gt;
{{!}}Annotations for Authentication Service deployment objects. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.env.GWS_AUTH_SECURITY_HTTP_SCHEME_HEADER_NAME&lt;br /&gt;
{{!}}The name of the header with protocol. This value can be used when HTTPS is terminated by the load balancer.&lt;br /&gt;
{{!}}A valid header name&lt;br /&gt;
{{!}}&amp;quot;X-Forwarded-Proto&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.env.GWS_AUTH_timeouts_requestTimeoutMs&lt;br /&gt;
{{!}}The Authentication Service request timeout.&lt;br /&gt;
{{!}}A value in milliseconds&lt;br /&gt;
{{!}}30000&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.env.JAVA_TOOL_OPTIONS&lt;br /&gt;
{{!}}Specifies JVM arguments to set in the JAVA_TOOL_OPTIONS environment variable.&lt;br /&gt;
{{!}}Valid JVM arguments&lt;br /&gt;
{{!}}&amp;quot;-XX:+PrintFlagsFinal -XX:+UseG1GC -Dfile.encoding=UTF-8 -XX:+ExitOnOutOfMemoryError -XX:MaxRAMPercentage=80.0&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.env.GWS_AUTH_logging_level_com_genesys_gws_v3&lt;br /&gt;
{{!}}Specifies the log level for the Authentication Service.&lt;br /&gt;
{{!}}INFO, DEBUG, WARN&lt;br /&gt;
{{!}}DEBUG&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.env.GWS_AUTH_http_headers_frame_options&lt;br /&gt;
{{!}}Specifies the value of the X-Frame-Options HTTP response header.&lt;br /&gt;
{{!}}SAMEORIGIN, DENY, DISABLE, ALLOW&lt;br /&gt;
{{!}}ALLOW&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.enabled&lt;br /&gt;
{{!}}Specifies whether Genesys Authentication uses Java KeyStore. See {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Configure|anchor=jks|display text=Add JKS support}} for details. This value must be set to true for Security Assertion Markup Language single sign-on (SAML SSO) functionality.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.keyAlias&lt;br /&gt;
{{!}}The name of the key alias in the keystore used by the Authentication Service. This value comes from {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Configure|anchor=jks|display text=Add JKS support}}.&lt;br /&gt;
{{!}}A valid key alias&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.keyPassword&lt;br /&gt;
{{!}}The keystore password from {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Configure|anchor=jks|display text=Add JKS support}}.&lt;br /&gt;
{{!}}A valid keystore password&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.keyStore&lt;br /&gt;
{{!}}The name of the Java keystore file from {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Configure|anchor=jks|display text=Add JKS support}}.&lt;br /&gt;
{{!}}A valid keystore name&lt;br /&gt;
{{!}}&amp;quot;jksStorage.jks&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.keyStorePassword&lt;br /&gt;
{{!}}The keystore password from {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Configure|anchor=jks|display text=Add JKS support}}.&lt;br /&gt;
{{!}}A valid keystore password&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.secret.create&lt;br /&gt;
{{!}}Specifies whether to create a new secret with the keystore file content and keystore credentials.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.keyStoreFileData&lt;br /&gt;
{{!}}The Base64 encoded key value from {{Link-SomewhereInThisVersion|manual=AuthPEGuide|topic=Configure|anchor=jks|display text=Add JKS support}}.&lt;br /&gt;
{{!}}A valid key&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.secret.name&lt;br /&gt;
{{!}}A Kubernetes secret name with the keystore credentials and content.&lt;br /&gt;
{{!}}A valid secret name&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.jks.sso.enabled&lt;br /&gt;
{{!}}Specifies whether to enable SAML SSO functionality.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.livenessProbe&lt;br /&gt;
{{!}}Specifies parameters for the livenessProbe. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
livenessProbe:&lt;br /&gt;
  httpGet:&lt;br /&gt;
    path: /health&lt;br /&gt;
    port: management&lt;br /&gt;
  initialDelaySeconds: 120&lt;br /&gt;
  periodSeconds: 10&lt;br /&gt;
  successThreshold: 1&lt;br /&gt;
  timeoutSeconds: 3&lt;br /&gt;
  failureThreshold: 3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.ports.management&lt;br /&gt;
{{!}}Specifies the management port for Authentication Service.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}8081&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.ports.service&lt;br /&gt;
{{!}}Specifies the service port for Authentication Service.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}8080&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.readinessProbe&lt;br /&gt;
{{!}}Specifies parameters for the readinessProbe. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
readinessProbe:&lt;br /&gt;
  httpGet:&lt;br /&gt;
    path: /health&lt;br /&gt;
    port: management&lt;br /&gt;
  initialDelaySeconds: 30&lt;br /&gt;
  timeoutSeconds: 3&lt;br /&gt;
  periodSeconds: 10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.replicas&lt;br /&gt;
{{!}}The number of Authentication Service pod replicas to deploy. This value overrides services.replicas.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.resources&lt;br /&gt;
{{!}}The requests and limits for Authentication Service pod resources. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
requests:&lt;br /&gt;
  cpu: 500m&lt;br /&gt;
  memory: 4Gi&lt;br /&gt;
limits:&lt;br /&gt;
  cpu: &amp;quot;4&amp;quot;&lt;br /&gt;
  memory: 6Gi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.serviceAnnotations&lt;br /&gt;
{{!}}Annotations for Authentication Service service objects. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth_ui.deploymentAnnotations&lt;br /&gt;
{{!}}Annotations for Authentication UI deployment objects. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth_ui.ports.service&lt;br /&gt;
{{!}}Specifies the service port for Authentication UI.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}8080&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth_ui.env.GWS_NGINX_ENABLE_MAPPING&lt;br /&gt;
{{!}}Use Consul to discover Auth Service&lt;br /&gt;
{{!}}&lt;br /&gt;
{{!}}&amp;quot;false&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth_ui.livenessProbe&lt;br /&gt;
{{!}}Specifies parameters for the livenessProbe. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth_ui.readinessProbe&lt;br /&gt;
{{!}}Specifies parameters for the readinessProbe. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth_ui.replicas&lt;br /&gt;
{{!}}The number of Authentication UI pod replicas to deploy. This value overrides services.replicas.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth_ui.resources&lt;br /&gt;
{{!}}The requests and limits for Authentication UI pod resources. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
requests:&lt;br /&gt;
  cpu: 100m&lt;br /&gt;
  memory: 500Mi&lt;br /&gt;
limits:&lt;br /&gt;
  cpu: 500m&lt;br /&gt;
  memory: 1Gi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth_ui.serviceAnnotations&lt;br /&gt;
{{!}}Annotations for Authentication UI service objects. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.loglevel&lt;br /&gt;
{{!}}Specifies the log level for the Environment Service.&lt;br /&gt;
{{!}}INFO, DEBUG, WARN&lt;br /&gt;
{{!}}INFO&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.deploymentAnnotations&lt;br /&gt;
{{!}}Annotations for Environment Service deployment objects. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.env.JAVA_TOOL_OPTIONS&lt;br /&gt;
{{!}}Specifies JVM arguments to set in the JAVA_TOOL_OPTIONS environment variable.&lt;br /&gt;
{{!}}Valid JVM arguments&lt;br /&gt;
{{!}}&amp;quot;-XX:+PrintFlagsFinal -XX:+UseG1GC -Dfile.encoding=UTF-8 -XX:+ExitOnOutOfMemoryError -XX:MaxRAMPercentage=80.0&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.env.GWS_ENVIRONMENT_logging_level_com_genesys_gws_v3&lt;br /&gt;
{{!}}Specifies the log level for the Environment Service.&lt;br /&gt;
{{!}}INFO, DEBUG, WARN&lt;br /&gt;
{{!}}INFO&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.force_writable&lt;br /&gt;
{{!}}Ignore the Data Center topology in a single-region deployment.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.livenessProbe&lt;br /&gt;
{{!}}Specifies parameters for the livenessProbe. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
livenessProbe:&lt;br /&gt;
  httpGet:&lt;br /&gt;
    path: /health&lt;br /&gt;
    port: management&lt;br /&gt;
  initialDelaySeconds: 120&lt;br /&gt;
  periodSeconds: 10&lt;br /&gt;
  successThreshold: 1&lt;br /&gt;
  timeoutSeconds: 3&lt;br /&gt;
  failureThreshold: 3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.ports.management&lt;br /&gt;
{{!}}Specifies the management port for Environment Service.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}8081&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.readinessProbe&lt;br /&gt;
{{!}}Specifies parameters for the readinessProbe. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
readinessProbe:&lt;br /&gt;
  httpGet:&lt;br /&gt;
    path: /health&lt;br /&gt;
    port: management&lt;br /&gt;
  initialDelaySeconds: 30&lt;br /&gt;
  timeoutSeconds: 3&lt;br /&gt;
  periodSeconds: 10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.ports.service&lt;br /&gt;
{{!}}Specifies the service port for Environment Service.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}8080&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.replicas&lt;br /&gt;
{{!}}The number of Environment Service pod replicas. This value overrides services.replicas.&lt;br /&gt;
{{!}}Number&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.resources&lt;br /&gt;
{{!}}The requests and limits for Environment Service pod resources. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}Object&lt;br /&gt;
{{!}}&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
requests:&lt;br /&gt;
  cpu: 500m&lt;br /&gt;
  memory: 4Gi&lt;br /&gt;
limits:&lt;br /&gt;
  cpu: &amp;quot;4&amp;quot;&lt;br /&gt;
  memory: 6Gi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.environment.serviceAnnotations&lt;br /&gt;
{{!}}Annotations for Authentication Service service objects. See the {{#Widget:ExtLink|link=https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/|displaytext=Kubernetes documentation}} for details.&lt;br /&gt;
{{!}}A valid set of annotations as &amp;quot;name: value&amp;quot;&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|services.secret.admin_password}}services.secret.admin_password&lt;br /&gt;
{{!}}Encrypted password of the operational user. The password should be encrypted with bcrypt hashing with any number of rounds. You can generate an encrypted password on the following site: https://www.javainuse.com/onlineBcrypt&lt;br /&gt;
{{!}}A valid password&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}{{AnchorDiv|services.secret.admin_username}}services.secret.admin_username&lt;br /&gt;
{{!}}The username of an operational user.&lt;br /&gt;
{{!}}Any valid username. For example, opsAdmin, clientAdmin, ops.&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secret.client_id&lt;br /&gt;
{{!}}The ID of an encrypted client secret.&lt;br /&gt;
{{!}}Any valid client ID. For example, external_api_client, nexus_client, authclient.&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secret.client_secret&lt;br /&gt;
{{!}}The encrypted client secret. The client secret should be encrypted with bcrypt hashing with any number of rounds. You can generate an encrypted client secret  on the following site:https://www.javainuse.com/onlineBcrypt&lt;br /&gt;
{{!}}A valid client secret&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secret.create&lt;br /&gt;
{{!}}Specifies whether to create the Kubernetes secret with the credentials of the operational user and client ID.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secret.name_override&lt;br /&gt;
{{!}}The name of the secret.&lt;br /&gt;
{{!}}A valid name&lt;br /&gt;
{{!}}nil&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secrets.secretProviderClassNames.admin_user&lt;br /&gt;
{{!}}The name of the secretProviderClass with the operational user credentials.&lt;br /&gt;
{{!}}A valid class name&lt;br /&gt;
{{!}}&amp;quot;keyvault-gauth-admin-user&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secrets.secretProviderClassNames.client_credentials&lt;br /&gt;
{{!}}The name of the secretProviderClass with the client credentials.&lt;br /&gt;
{{!}}A valid class name&lt;br /&gt;
{{!}}&amp;quot;keyvault-gauth-client-credentials&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secrets.secretProviderClassNames.consul_token&lt;br /&gt;
{{!}}The name of the secretProviderClass with the Consul token.&lt;br /&gt;
{{!}}A valid class name&lt;br /&gt;
{{!}}&amp;quot;keyvault-consul-consul-gauth-token&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secrets.secretProviderClassNames.jks_credentials&lt;br /&gt;
{{!}}The name of the secretProviderClass with the JKS credentials.&lt;br /&gt;
{{!}}A valid class name&lt;br /&gt;
{{!}}&amp;quot;keyvault-gauth-jks-credentials&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secrets.secretProviderClassNames.jks_keyvault&lt;br /&gt;
{{!}}The name of the secretProviderClass with the JKS keystore.&lt;br /&gt;
{{!}}A valid class name&lt;br /&gt;
{{!}}&amp;quot;keyvault-gauth-jks-keyvault&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secrets.secretProviderClassNames.pg_user&lt;br /&gt;
{{!}}The name of the secretProviderClass with PostgreSQL credentials.&lt;br /&gt;
{{!}}A valid class name&lt;br /&gt;
{{!}}&amp;quot;keyvault-gauth-pg-user&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secrets.secretProviderClassNames.redis_password&lt;br /&gt;
{{!}}The name of the secretProviderClass with the Redis password.&lt;br /&gt;
{{!}}A valid class name&lt;br /&gt;
{{!}}&amp;quot;keyvault-gauth-redis-password&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.secrets.useSecretProviderClass&lt;br /&gt;
{{!}}Specifies whether to read secrets from the secretProviderClass instead of Kubernetes secrets.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}topologySpreadConstraints&lt;br /&gt;
{{!}}In Kubernetes, topology spread constraints are used to control how Pods are spread across the cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains. This helps to achieve high-availability as well as efficient resource utilization.&lt;br /&gt;
{{!}}Valid topology spread constraints settings. See the [https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/ Kubernetes documentation] for details.&lt;br /&gt;
{{!}}{}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.service_auth.env.GWS_AUTH_common_configService&lt;br /&gt;
{{!}}The URL of the GWS Service Configuration service (config server cache). Used by the authentication service to read user details, validate credentials, and manage passwords.'''This is a mandatory setting'''&lt;br /&gt;
{{!}}A valid HTTP URL pointing to the configuration service (e.g., &amp;lt;nowiki&amp;gt;http://gws-platform-configuration:8092&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;http://gws-service-configuration:8892&amp;lt;/nowiki&amp;gt; or an internal load balancer URL)&lt;br /&gt;
{{!}}None (must be set)&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.service_auth.env.GWS_AUTH_filterCfgObjects&lt;br /&gt;
{{!}}When enabled, the authentication service filters user authorities (roles and access groups) to return only those assigned to the specific person. This prevents incorrect RBAC behavior caused by cache synchronization delays, where userInfo could temporarily return authorities for all roles/access groups instead of only assigned ones. Recommended to set to &amp;quot;true&amp;quot; for environments using gws service configuration (config server cache).&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.useNewAuth&lt;br /&gt;
{{!}}Controls which auth service the main chart's ingress routes traffic to. When &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, routes /auth/ to &amp;lt;code&amp;gt;new auth (gauth-service-authentication)&amp;lt;/code&amp;gt;. When &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, routes to &amp;lt;code&amp;gt;old auth (gauth-auth)&amp;lt;/code&amp;gt;. '''Note:''' If on-premise customers also use the gauth-infra-bg chart, this value must be set in sync with active.useNewAuth in that chart to avoid conflicting ingress routing&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.service_auth.externalAuth.enabled&lt;br /&gt;
{{!}}Deploys dedicated new auth ext pods (gauth-service-auth-ext) for handling /auth/v3/oauth/token traffic separately. Pods are deployed but only receive traffic when &amp;lt;code&amp;gt;services.useNewAuth: true.&amp;lt;/code&amp;gt; '''Note:''' For on-premise customers using gauth-infra-bg, also set &amp;lt;code&amp;gt;active.externalAuth: true&amp;lt;/code&amp;gt; in that chart.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}services.auth.externalAuth.enabled&lt;br /&gt;
{{!}}Deploys dedicated old auth ext pods (gauth-auth-ext) for handling /auth/v3/oauth/token traffic separately. Pods are deployed but only receive traffic when &amp;lt;code&amp;gt;services.useNewAuth: false&amp;lt;/code&amp;gt;. '''Note:''' For on-premise customers using gauth-infra-bg, also set &amp;lt;code&amp;gt;active.externalAuth: true&amp;lt;/code&amp;gt; in that chart.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}active.useNewAuth&lt;br /&gt;
{{!}}Controls which auth service the infra-bg chart's ingress routes traffic to. When &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, routes /auth/ to &amp;lt;code&amp;gt;new auth (gauth-service-authentication&amp;lt;/code&amp;gt;). When &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt;, routes to &amp;lt;code&amp;gt;old auth (gauth-auth)&amp;lt;/code&amp;gt;. '''Note:''' Must be set in sync with services.useNewAuth in the gauth chart to avoid conflicting ingress routing.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}false&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}active.externalAuth&lt;br /&gt;
{{!}}When &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, creates a separate ingress path for /auth/v3/oauth/token routing to the dedicated ext pods. The target (old ext or new ext) is determined by &amp;lt;code&amp;gt;active.useNewAuth&amp;lt;/code&amp;gt;. '''Note:''' Corresponding ext pods must be deployed via services.service_auth.externalAuth.enabled or services.auth.externalAuth.enabled in the gauth chart.&lt;br /&gt;
{{!}}true or false&lt;br /&gt;
{{!}}true&lt;br /&gt;
{{!}}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Provision Consul-less Deployment&lt;br /&gt;
|anchor=Consul-less&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=To perform Consul-less deployment, the customer should use Helm chart '''gauth-100.0.100+0250''' or newer and remove all Consul related parameters from the override file:&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;code class=&amp;quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&amp;quot; data-renderer-mark=&amp;quot;true&amp;quot;&amp;gt;consul&amp;lt;/code&amp;gt; section.&lt;br /&gt;
#&amp;lt;code class=&amp;quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&amp;quot; data-renderer-mark=&amp;quot;true&amp;quot;&amp;gt;services.secrets.secretProviderClassNames.consul_token&amp;lt;/code&amp;gt; parameter.&lt;br /&gt;
#&amp;lt;code class=&amp;quot;_ca0qyh40 _u5f3m5ip _n3tdyh40 _19bvm5ip _2rko1sit _11c81u0j _1reo1wug _18m91wug _1dqoglyw _1e0c1nu9 _bfhktkvp _16d9qvcn _syaz1fxt _vwz41kw7 _1i4q1hna _o5721jtm&amp;quot; data-renderer-mark=&amp;quot;true&amp;quot;&amp;gt;auth_ui.consul&amp;lt;/code&amp;gt; section.&lt;br /&gt;
&lt;br /&gt;
If deployment with Consul is desired, charts '''gauth-100.0.016+0247''' from the release '''100.0.016.4359''' can be used to deploy newer versions of GAuth components.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure Kubernetes&lt;br /&gt;
|anchor=Kubernetes&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=The sections below provide more information about configuring Kubernetes.&lt;br /&gt;
&lt;br /&gt;
===ConfigMaps===&lt;br /&gt;
Genesys Authentication includes separate ConfigMaps for PostgreSQL and Redis configuration.&lt;br /&gt;
&lt;br /&gt;
'''PostgreSQL - configmap-pg.yaml'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;{{- if or .Values.postgres.configmap.create .Values.postgres.deploy }}&lt;br /&gt;
apiVersion: v1&lt;br /&gt;
kind: ConfigMap&lt;br /&gt;
metadata:&lt;br /&gt;
  name: {{ include &amp;quot;configmap.postgres&amp;quot; . }}&lt;br /&gt;
  namespace: {{ .Release.Namespace | quote }}&lt;br /&gt;
  labels:&lt;br /&gt;
    {{- include &amp;quot;gauth.labels&amp;quot; . | nindent 4 }}&lt;br /&gt;
    gauth: postgres&lt;br /&gt;
data:&lt;br /&gt;
  db: {{ required &amp;quot;Missing required parameter 'postgres.password'&amp;quot; .Values.postgres.db |quote}}&lt;br /&gt;
  host: {{ default ( include &amp;quot;name.postgres&amp;quot; . ) .Values.postgres.host |quote}}&lt;br /&gt;
  port: {{ default ( include &amp;quot;port.postgres.service&amp;quot; . ) .Values.postgres.port |quote }}&lt;br /&gt;
  {{- end }}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Redis - configmap-redis.yaml'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{ if or .Values.redis.configmap.create .Values.redis.deploy }}&lt;br /&gt;
apiVersion: v1&lt;br /&gt;
kind: ConfigMap&lt;br /&gt;
metadata:&lt;br /&gt;
  name: {{ include &amp;quot;configmap.redis&amp;quot; . }}&lt;br /&gt;
  namespace: {{ .Release.Namespace | quote }}&lt;br /&gt;
  labels:&lt;br /&gt;
    {{- include &amp;quot;gauth.labels&amp;quot; . | nindent 4 }}&lt;br /&gt;
    gauth: redis&lt;br /&gt;
data:&lt;br /&gt;
  cluster_nodes: {{ default ( include &amp;quot;service.redis&amp;quot; . ) .Values.redis.cluster_nodes | quote}}&lt;br /&gt;
  {{end}}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Secrets===&lt;br /&gt;
The following Genesys Authentication services artifacts are stored as Kubernetes secrets:&lt;br /&gt;
&lt;br /&gt;
*Administrator user credentials for the Authentication API and Environment API services.&lt;br /&gt;
*OAuth 20 client IDs and client secrets for the Authentication API and Environment API services.&lt;br /&gt;
*PostgreSQL database credentials for the Environment API service.&lt;br /&gt;
*PostgreSQL database credentials for the Authentication API service.&lt;br /&gt;
*Java keystore password for Authentication API service.&lt;br /&gt;
*Credentials for access to a password-protected Redis (Access Key) for the Authentication API service.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure security&lt;br /&gt;
|anchor=Security&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=To learn more about how security is configured for private edition, be sure to read the {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=Prerequisites|display text=Permissions}} topic in the ''Setting up Genesys Multicloud CX Private Edition'' guide.&lt;br /&gt;
&lt;br /&gt;
The security context settings define the privilege and access control settings for pods and containers.&lt;br /&gt;
&lt;br /&gt;
By default, the user and group IDs are set in the '''values.yaml''' file as &amp;lt;tt&amp;gt;500:500:500&amp;lt;/tt&amp;gt;, meaning the '''genesys''' user.&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
optional:&lt;br /&gt;
  securityContext:&lt;br /&gt;
    runAsUser: 500&lt;br /&gt;
    runAsGroup: 500&lt;br /&gt;
    fsGroup: 500&lt;br /&gt;
    runAsNonRoot: true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=RN/GenesysWeb_Services_and_Applications/9.0.003.48&amp;diff=133539</id>
		<title>RN/GenesysWeb Services and Applications/9.0.003.48</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=RN/GenesysWeb_Services_and_Applications/9.0.003.48&amp;diff=133539"/>
		<updated>2026-05-20T12:30:51Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Created page with &amp;quot;{{ComponentRN |ComponentId=d8ae146d-0abb-4c7e-8a14-3be0a382a3d5 |JQL=issue in (GAPI-39761, GAPI-39752, GAPI-39431, GAPI-39430, GAPI-39276, GAPI-39795, GAPI-39794, GAPI-39551)...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=d8ae146d-0abb-4c7e-8a14-3be0a382a3d5&lt;br /&gt;
|JQL=issue in (GAPI-39761, GAPI-39752, GAPI-39431, GAPI-39430, GAPI-39276, GAPI-39795, GAPI-39794, GAPI-39551)&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-20&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-20&lt;br /&gt;
|Highlight=Contains new features, Security updates and resolved issues.&lt;br /&gt;
|Containers=*gws-app-provisioning:9.0.001.21&lt;br /&gt;
*gws-app-workspace:9.0.001.17&lt;br /&gt;
*gws-platform-chat:9.0.000.69&lt;br /&gt;
*gws-platform-configuration:9.0.001.06&lt;br /&gt;
*gws-platform-datacollector:9.0.000.76&lt;br /&gt;
*gws-platform-ixn:9.0.000.68&lt;br /&gt;
*gws-platform-ocs:9.0.000.71&lt;br /&gt;
*gws-platform-setting:9.0.000.76&lt;br /&gt;
*gws-platform-statistics:9.0.000.86&lt;br /&gt;
*gws-platform-ucs:9.0.000.67&lt;br /&gt;
*gws-platform-voice:9.0.000.91&lt;br /&gt;
*gws-service-configuration:9.0.000.12&lt;br /&gt;
*gws-services-2.0.2.tgz&lt;br /&gt;
*gws-monitoring-1.0.24.tgz&lt;br /&gt;
*gws-ingress-1.0.46.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39794&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Added support for Prometheus v3, including proper Content-Type handling for metrics scraping&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39761&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS Data Collector service has been upgraded from Elasticsearch REST High Level Client 7.x to Elasticsearch Java API Client 8.x. Data collector service now supports both ES8 and ES9 versions of Elasticsearch.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39752&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS9 - Update to Spring-Boot 3.5 and JDK21 Support&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39431&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws workspace service to node22&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39430&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws provisioning service to node 22&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39276&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=Security patches and vulnerability fixes for system and application libraries.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39551&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Previously, Agents couldn’t log in a voice channel in WWE if SIP Cluster configuration had non-existing SIP node in the list of SIP Cluster nodes. Now, GWS filters non-existing SIP Cluster Nodes and allows Agents to log in the voice channel.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=Draft:RN/GenesysWeb_Services_and_Applications/9.0.003.48&amp;diff=133538</id>
		<title>Draft:RN/GenesysWeb Services and Applications/9.0.003.48</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=Draft:RN/GenesysWeb_Services_and_Applications/9.0.003.48&amp;diff=133538"/>
		<updated>2026-05-20T09:30:56Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Created page with &amp;quot;{{ComponentRN |ComponentId=d8ae146d-0abb-4c7e-8a14-3be0a382a3d5 |JQL=issue in (GAPI-39761, GAPI-39752, GAPI-39431, GAPI-39430, GAPI-39276, GAPI-39795, GAPI-39794, GAPI-39551)...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ComponentRN&lt;br /&gt;
|ComponentId=d8ae146d-0abb-4c7e-8a14-3be0a382a3d5&lt;br /&gt;
|JQL=issue in (GAPI-39761, GAPI-39752, GAPI-39431, GAPI-39430, GAPI-39276, GAPI-39795, GAPI-39794, GAPI-39551)&lt;br /&gt;
|DeploymentTypeId=8b480b3c-2733-433a-9166-eab2c2d0663a&lt;br /&gt;
|ReleaseDate=2026-05-20&lt;br /&gt;
|PrivateEditionReleaseDate=2026-05-20&lt;br /&gt;
|Highlight=Contains new features, Security updates and resolved issues.&lt;br /&gt;
|Containers=*gws-app-provisioning:9.0.001.21&lt;br /&gt;
*gws-app-workspace:9.0.001.17&lt;br /&gt;
*gws-platform-chat:9.0.000.69&lt;br /&gt;
*gws-platform-configuration:9.0.001.06&lt;br /&gt;
*gws-platform-datacollector:9.0.000.76&lt;br /&gt;
*gws-platform-ixn:9.0.000.68&lt;br /&gt;
*gws-platform-ocs:9.0.000.71&lt;br /&gt;
*gws-platform-setting:9.0.000.76&lt;br /&gt;
*gws-platform-statistics:9.0.000.86&lt;br /&gt;
*gws-platform-ucs:9.0.000.67&lt;br /&gt;
*gws-platform-voice:9.0.000.91&lt;br /&gt;
*gws-service-configuration:9.0.000.12&lt;br /&gt;
*gws-services-2.0.2.tgz&lt;br /&gt;
*gws-monitoring-1.0.24.tgz&lt;br /&gt;
*gws-ingress-1.0.46.tgz&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39794&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Added support for Prometheus v3, including proper Content-Type handling for metrics scraping&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39761&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS Data Collector service has been upgraded from Elasticsearch REST High Level Client 7.x to Elasticsearch Java API Client 8.x. Data collector service now supports both ES8 and ES9 versions of Elasticsearch.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39752&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=GWS9 - Update to Spring-Boot 3.5 and JDK21 Support&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39431&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws workspace service to node22&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39430&lt;br /&gt;
|IssueCategoryId=720446c8-10b6-42b8-af36-34a298aa1c72&lt;br /&gt;
|LocalContent=Upgrade gws provisioning service to node 22&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39276&lt;br /&gt;
|IssueCategoryId=c749afa5-fd21-49e4-83d4-0e6ebd8ed618&lt;br /&gt;
|LocalContent=Security patches and vulnerability fixes for system and application libraries.&lt;br /&gt;
}}&lt;br /&gt;
{{Issue&lt;br /&gt;
|TicketNumber=GAPI-39551&lt;br /&gt;
|IssueCategoryId=5c483167-c133-4dc5-87c0-bd2719670bc1&lt;br /&gt;
|LocalContent=Previously, Agents couldn’t log in a voice channel in WWE if SIP Cluster configuration had non-existing SIP node in the list of SIP Cluster nodes. Now, GWS filters non-existing SIP Cluster Nodes and allows Agents to log in the voice channel.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=Draft:RN/GenesysWeb_Services_and_Applications/9.0.003.47&amp;diff=133537</id>
		<title>Draft:RN/GenesysWeb Services and Applications/9.0.003.47</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=Draft:RN/GenesysWeb_Services_and_Applications/9.0.003.47&amp;diff=133537"/>
		<updated>2026-05-20T09:30:54Z</updated>

		<summary type="html">&lt;p&gt;WikiSysop: Redirected page to Draft:RN/GenesysWeb Services and Applications/9.0.003.48&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Draft:RN/GenesysWeb Services and Applications/9.0.003.48]]&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
</feed>