<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://all.docs.genesys.com/index.php?action=history&amp;feed=atom&amp;title=VM%2FCurrent%2FVMPEGuide%2FDeployConsul</id>
	<title>VM/Current/VMPEGuide/DeployConsul - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://all.docs.genesys.com/index.php?action=history&amp;feed=atom&amp;title=VM%2FCurrent%2FVMPEGuide%2FDeployConsul"/>
	<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=VM/Current/VMPEGuide/DeployConsul&amp;action=history"/>
	<updated>2026-04-13T04:14:34Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=VM/Current/VMPEGuide/DeployConsul&amp;diff=131572&amp;oldid=prev</id>
		<title>WikiSysop at 08:31, March 27, 2023</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=VM/Current/VMPEGuide/DeployConsul&amp;diff=131572&amp;oldid=prev"/>
		<updated>2023-03-27T08:31:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 08:31, March 27, 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l23&quot; &gt;Line 23:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 23:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*connectinject – To deploy sidecar containers in Voice pods.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*connectinject – To deploy sidecar containers in Voice pods.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*controller – To provide service intention functionality.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*controller – To provide service intention functionality.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;*openshift – To set OpenShift-specific permissions.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*syncCatalog – To sync Kubernetes services to Consul. Set '''toK8S: false''' and '''addK8SNamespaceSuffix: false''' for syncing services from Kubernetes to Consul.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*syncCatalog – To sync Kubernetes services to Consul. Set '''toK8S: false''' and '''addK8SNamespaceSuffix: false''' for syncing services from Kubernetes to Consul.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*AccessControlList – To enable ACL, set '''manageSystemACLs: true'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*AccessControlList – To enable ACL, set '''manageSystemACLs: true'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l46&quot; &gt;Line 46:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 45:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; acls:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; acls:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; manageSystemACLs: true&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; manageSystemACLs: true&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; openshift:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#160; &amp;#160; enabled: true&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;connectInject:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;connectInject:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; enabled: true&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; enabled: true&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
	<entry>
		<id>https://all.docs.genesys.com/index.php?title=VM/Current/VMPEGuide/DeployConsul&amp;diff=130162&amp;oldid=prev</id>
		<title>WikiSysop: Created page with &quot;{{Article |Standalone=No |DisplayName=Consul requirements for Voice services |TocName=Consul requirements for Voice services |Context=Find details about Voice services setting...&quot;</title>
		<link rel="alternate" type="text/html" href="https://all.docs.genesys.com/index.php?title=VM/Current/VMPEGuide/DeployConsul&amp;diff=130162&amp;oldid=prev"/>
		<updated>2022-10-13T14:30:54Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Article |Standalone=No |DisplayName=Consul requirements for Voice services |TocName=Consul requirements for Voice services |Context=Find details about Voice services setting...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Article&lt;br /&gt;
|Standalone=No&lt;br /&gt;
|DisplayName=Consul requirements for Voice services&lt;br /&gt;
|TocName=Consul requirements for Voice services&lt;br /&gt;
|Context=Find details about Voice services settings that you must configure in Consul before you proceed to configure the Voice Microservices. Some of the configuration in Consul must be performed when you deploy Consul.&lt;br /&gt;
|ComingSoon=No&lt;br /&gt;
|Section={{Section&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Before you deploy the Voice Services, you must deploy the infrastructure services. See {{Link-SomewhereInThisVersion|manual=VMPEGuide|topic=Planning|anchor=ThirdParty|display text=Third-party prerequisites}} for the list of required infrastructure services. &lt;br /&gt;
&lt;br /&gt;
It is your responsibility to deploy and manage all required third-party services, however – in addition to any other Consul configuration you require – there are specific Consul features that you must enable for Voice services. &lt;br /&gt;
&lt;br /&gt;
Complete the work on this page before you make any changes described in {{Link-SomewhereInThisVersion|manual=VMPEGuide|topic=Configure|display text=Configure Voice Microservices}}.&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Configure Consul features for Voice services&lt;br /&gt;
|anchor=ConsulConfig&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=You can find system-level information about Consul on the {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=Prerequisites|display text=Software requirements}}, {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=ConfigNetwork|display text=Network settings}}, and {{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|topic=ContDepOrder|display text=Order of services deployment}} pages in ''Setting up Genesys Multicloud CX Private Edition''.&lt;br /&gt;
&lt;br /&gt;
When you deploy Consul, you must enable the following features for the Voice services:&lt;br /&gt;
&lt;br /&gt;
*connectinject – To deploy sidecar containers in Voice pods.&lt;br /&gt;
*controller – To provide service intention functionality.&lt;br /&gt;
*openshift – To set OpenShift-specific permissions.&lt;br /&gt;
*syncCatalog – To sync Kubernetes services to Consul. Set '''toK8S: false''' and '''addK8SNamespaceSuffix: false''' for syncing services from Kubernetes to Consul.&lt;br /&gt;
*AccessControlList – To enable ACL, set '''manageSystemACLs: true'''.&lt;br /&gt;
*storageclass – To set the storage class to a predefined storage class.&lt;br /&gt;
*TLS – To enable TLS, set '''enabled: true'''. Additional information is required to set up TLS; the following sample includes that information.&lt;br /&gt;
&lt;br /&gt;
The following sample shows the features configuration in Consul:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# config.yaml&lt;br /&gt;
global:&lt;br /&gt;
  name: consul&lt;br /&gt;
  tls:&lt;br /&gt;
    enabled: true&lt;br /&gt;
    caCert:&lt;br /&gt;
      secretName: consul-ca-cert&lt;br /&gt;
      # The key of the Kubernetes secret.&lt;br /&gt;
      secretKey: tls.crt&lt;br /&gt;
    caKey:&lt;br /&gt;
      # The name of the Kubernetes secret.&lt;br /&gt;
      secretName: consul-ca-key&lt;br /&gt;
      # The key of the Kubernetes secret.&lt;br /&gt;
      secretKey: tls.key&lt;br /&gt;
  acls:&lt;br /&gt;
    manageSystemACLs: true&lt;br /&gt;
  openshift:&lt;br /&gt;
    enabled: true&lt;br /&gt;
connectInject:&lt;br /&gt;
  enabled: true&lt;br /&gt;
controller:&lt;br /&gt;
  enabled: true&lt;br /&gt;
syncCatalog:&lt;br /&gt;
  enabled: true&lt;br /&gt;
  toConsul: true&lt;br /&gt;
  toK8S: false&lt;br /&gt;
  addK8SNamespaceSuffix: false&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Create a Consul bootstrap token&lt;br /&gt;
|anchor=ConsulTokens&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=When you enable an Access Control List (ACL) in Consul, you must ensure that Voice services have access to read and write to Consul. To provide access, you create a token with permissions for Voice services in the Consul UI.&lt;br /&gt;
&lt;br /&gt;
#You can create the ACL bootstrap token when you deploy Consul, although it is possible to do this configuration later as part of the Voice Services deployment. You use the bootstrap token to log into the Consul UI to create a new ACL. Use the following command to get the bootstrap token:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
kubectl get secret consul-bootstrap-acl-token -n &amp;lt;consul namespace&amp;gt; -o go-template='{{.data.token | base64decode}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a new token to which you'll assign the permissions required for Voice services. For example, we'll create a token with a value of &amp;lt;tt&amp;gt;a7529f8a-1146-e398-8bd7-367894c4b37b&amp;lt;/tt&amp;gt;. You create a Kubernetes secret with this token. For example:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
kubectl create secret generic consul-voice-token -n voice --from-literal='consul-consul-voice-token=a7529f8a-1146-e398-8bd7-367894c4b37b'&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Create a policy (voice-policy) with the following list of permissions and assign it to the new token:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
service_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;read&amp;quot;&lt;br /&gt;
  intentions = &amp;quot;read&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
service_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;write&amp;quot;&lt;br /&gt;
  intentions = &amp;quot;write&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
node_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;read&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
node_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;write&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
agent_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;read&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
agent_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;write&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
session_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;write&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
session_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;read&amp;quot;&lt;br /&gt;
}   &lt;br /&gt;
namespace_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
 key_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;write&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 session_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;write&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
}&lt;br /&gt;
key_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;read&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
key_prefix &amp;quot;&amp;quot; {&lt;br /&gt;
  policy = &amp;quot;write&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|Status=No&lt;br /&gt;
}}{{Section&lt;br /&gt;
|sectionHeading=Create Intentions in the Consul UI&lt;br /&gt;
|alignment=Vertical&lt;br /&gt;
|structuredtext=Voice services use the Consul service mesh to connect between services. Consul has provision to either allow or deny the connection between services. This is done using ''intentions''. Log into the '''Intentions''' tab using the bootstrap token and create a new intention to allow all source services to all destination services as shown in the following screenshot.&lt;br /&gt;
&lt;br /&gt;
[[File:voicemcs_config_consul_intentions.png|850px|link=https://all.docs-qa.genesys.com/File:Voicemcs_config_consul_intentions.png]]&lt;br /&gt;
|Status=No&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>WikiSysop</name></author>
		
	</entry>
</feed>