Difference between revisions of "PEC-REP/Current/GIMPEGuide/ConfigureGCA"

From Genesys Documentation
Jump to: navigation, search
 
(4 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
|ComingSoon=No
 
|ComingSoon=No
 
|Section={{Section
 
|Section={{Section
|sectionHeading=Override Helm chart values
+
|sectionHeading=GCA Helm chart overrides
 +
|anchor=GCA_HelmOverrides
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=Download the gca and gca-monitoring Helm charts from JFrog using your credentials. You must override certain parameters in the GCA '''values.yaml''' file to provide deployment-specific values for certain parameters.
+
|structuredtext=The GCA requires some configuration for deployment that must be done by modifying the GCA's default Helm chart. You do this by creating override entries in the GCA's '''values.yaml''' file.
  
For general information about overriding Helm chart values, see {{SuiteLevelLink|helmoverride}} in the ''{{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|display text=Genesys Multicloud CX Private Edition Guide}}''.
+
Download the '''gca''' and '''gca-monitoring''' Helm charts from your image registry, using the appropriate credentials.
  
If you want to use arbitrary UIDs in your OpenShift deployment, you must override the '''securityContext''' settings in the GCA '''values.yaml''' file, so that no user or group IDs are specified. For details, see [[{{FULLPAGENAME}}#Security|Configure security]], below.
+
For information about how to download the Helm charts, see {{SuiteLevelLink|helmchart}}. To find the correct Helm chart version for your release, see {{Link-AnywhereElse|product=ReleaseNotes|version=Current|manual=GenesysEngage-cloud|topic=GIMHelm}}. For general information about Helm chart overrides, see {{SuiteLevelLink|helmoverride}} in the ''{{Link-AnywhereElse|product=PrivateEdition|version=Current|manual=PEGuide|display text=Genesys Multicloud CX Private Edition Guide}}''.
  
To enable S3-compatible storage to store the GCA snapshot, see [[{{FULLPAGENAME}}#Storage|Configure S3-compatible storage]], below.
+
At minimum, you must create entries in the '''values.yaml''' file to specify key system information, as described in the following sections.
  
At a minimum, you must override the following key entries in the GCA '''values.yaml''' file:
+
{{NoteFormat|Treat your modified '''values.yaml''' file as source code, which you are responsible to maintain so that your overrides are preserved and available for reuse when you upgrade.}}
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=Image registry and pull secret
 +
|anchor=GCA_ImagePull
 +
|alignment=Vertical
 +
|structuredtext={{AnchorDiv|GCA_ImageRegistry}}
  
*<tt>image:</tt>
+
===Image registry===
*:<tt>registry</tt> — ''the registry from which Kubernetes will pull images (''<tt>pureengage-docker-staging.jfrog.io</tt> ''by default)''
+
Create an entry in the GSP's '''values.yaml''' file to specify the location of the Genesys JFrog image registry. This is the repository from which Kubernetes will pull images.
*:<tt>tag</tt> - ''the container image version''
+
 
*<tt>tenant_id</tt> - ''the TenantID of the tenant in use''
+
The location of the Genesys JFrog image registry is defined when you set up the environment for the GSP. It is represented in the system as the <code>docker-registry</code>. In the GSP Helm chart, the repository is represented as <code>image: registry</code>, as shown below. You can optionally set a container version for the image.
*<tt>cfgdb</tt> - ''the applicable details for the Configuration Database, created before you deployed the Tenant service''
+
 
*: <tt>name</tt> - ''the name of the database''
+
<source lang="bash">
*: <tt>host</tt> - ''the host on which the DBMS is running''
+
image: # The repository from which Kubernetes will pull images
*: <tt>username</tt> - ''the user account for GCA to access the database. The user account must have at least read permissions.''
+
  registry: <your_container_registry> # The default registry is pureengage-docker-staging.jfrog.io
*: <tt>password</tt> - ''the password for the user account''
+
  tag: <image_tag> # The container image tag/version
*<tt>gimdb</tt> - ''the applicable details for the Info Mart database''
+
</source>
*: <tt>name</tt> - ''the name of the database''
+
 
*: <tt>host</tt> - ''the host on which the DBMS is running''
+
{{AnchorDiv|GCA_PullSecret}}
*: <tt>username</tt> - ''the user account created when you created the database (see {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=PlanningGIM|anchor=CreateDB|display text=Create the Info Mart database}})''
+
===Pull secret===
*: <tt>password</tt> - ''the password for the user account''
+
When you set up your environment, you provision a pull secret for Genesys JFrog image registry (<code>docker-registry</code>). Each service must supply the credentials for the repository in order for Kubernetes to be able to pull from the repository.
*<tt>kafka:</tt>
+
Each of the three Info Mart services (GIM, GSP, and GCA) must be configured with the pull secret. You do this '''values.yaml''' for the service.
*: <tt>bootstrap</tt> - ''the Kafka address to align with the infrastructure Kafka''
+
 
*: <tt>password</tt> - ''the Kafka password, if Kafka requires authentication''
+
<source lang="bash">
 +
imagePullSecrets:
 +
  docker-registry: {<pull-secret>} # The credentials Kubernetes will use to pull the image from the registry
 +
</source>
  
'''Note:''' <tt>tenant_id</tt> and <tt>kafka:password</tt> (optional) are currently not included in the '''values.yaml''' file. Either add these parameters to your customized '''values.yaml''' file or else specify them in the command line when you install the Helm chart.
 
  
{{NoteFormat|Treat your modified '''values.yaml''' file as source code, which you are responsible to maintain so that your overrides are preserved and available for reuse when you upgrade.}}
+
Note that other services use a different syntax than this to configure the repository pull secret, as follows:
 +
<source lang="bash">
 +
imagePullSecrets:
 +
  name: docker-registry
 +
</source>
 +
Genesys Info Mart, GIM Stream Processor, and GIM Configuration Adaptor helm charts all support advanced templating that allow the helm to create the pull secret automatically; hence the variation in syntax.
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Configure Kubernetes
+
|sectionHeading=Tenant ID
 +
|anchor=GCA_TenantID
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=
+
|structuredtext=The Tenant microservice provides direct access to the configuration server database. Configure a Helm override entry for the Tenant ID.
{{AnchorDiv|Secrets}}
 
===Secrets===
 
GCA requires the following secrets:
 
* <tt>docker-registry</tt> — Credentials to pull the image from the JFrog repository
 
* <tt><nowiki>{{.Release.Name}}</nowiki>-kafka-secrets</tt> — Credentials to access Kafka
 
* <tt><nowiki>{{.Release.Name}}</nowiki>-cfgdb-secrets</tt> — Credentials to access the Configuration Database
 
* <tt><nowiki>{{.Release.Name}}</nowiki>-gimdb-secrets</tt> — Credentials to access the Info Mart database
 
* <tt><nowiki>{{.Release.Name}}</nowiki>-storage-secret</tt> — Credentials to access optional S3-compatible storage (for Data Export)
 
  
Except for <tt>docker-registry</tt>, which you must create manually (see the environment setup instructions on {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=DeployGCA}}), Helm creates the secrets based on values you specify in the '''values.yaml''' file.
+
<source lang="bash">
 
+
tenant_id: <tenant-id> # The TenantID of the tenant in use
{{AnchorDiv|ConfigMaps}}
+
</source>
===Config Maps===
 
There are no Config Maps you can configure directly.
 
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Configure security
+
|sectionHeading=Kafka
|anchor=Security
+
|anchor=GCA_Kafka
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=The security context settings define the privilege and access control settings for pods and containers.
+
|structuredtext={{AnchorDiv|GCA_KafkaSecret}}
 +
===Kafka secret===
 +
The Kafka secret is necessary for GCA to access Kafka. The Kafka secret is provisioned in the system as <code>kafka-secrets</code> when you set up the environment for GCA. Configure the Kafka secret by creating a Helm chart override in the '''values.yaml''' file.
  
By default, the user and group IDs are set in the GCA '''values.yaml''' file as <tt>500:500:500</tt>, meaning the '''genesys''' user.
 
 
<source lang="bash">
 
<source lang="bash">
securityContext:
+
kafka:
   runAsNonRoot: true
+
   password: <kafka-password> # Credentials for accessing Kafka. This secret is created during deployment.
  runAsUser: 500
+
</source>
  runAsGroup: 500
+
 
  fsGroup: 500
+
{{AnchorDiv|GCA_KafkaBootstrap}}
 +
===Kafka bootstrap===
 +
To allow the Kafka service on GCA to align with the infrastructure Kafka service, make a Helm override entry with the location of the Kafka bootstrap.
  
containerSecurityContext: {}
 
</source>
 
===Arbitrary UIDs in OpenShift===
 
If you want to use arbitrary UIDs in your OpenShift deployment, you must override the '''securityContext''' settings in the GCA '''values.yaml''' file, so that you do not define any specific IDs.
 
 
<source lang="bash">
 
<source lang="bash">
securityContext:
+
kafka:
   runAsNonRoot: true
+
   bootstrap: <kafka-bootstrap-location> # the Kafka address to align with the infrastructure Kafka
  runAsUser: null
 
  runAsGroup: 0
 
  fsGroup: null
 
 
 
containerSecurityContext: {}
 
 
</source>
 
</source>
 
|Status=No
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Configure S3-compatible storage
+
|sectionHeading=S3-compatible storage
 
|anchor=Storage
 
|anchor=Storage
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=If you are using S3-compatible object storage on OpenShift or GCP to store the GCA snapshot, modify the following <tt>storage: s3</tt> entries in the '''values.yaml''' file:
+
|structuredtext=If you are using S3-compatible object storage on GCP to store the GCA snapshot, modify the following <code>storage: s3</code> entries in the '''values.yaml''' file:
*<tt>bucket</tt> — ''the bucket name''
 
*<tt>gcaSnapshots</tt> — ''the volume or folder in the bucket where the GCA snapshot is stored''
 
*<tt>accessKey</tt> — ''the access key created when you created the bucket''
 
*<tt>secretKey</tt> — ''the secret created when you created the bucket''
 
*<tt>endPoint</tt> — ''the bucket host''
 
  
====OpenShift example====
 
 
<source lang="bash">
 
<source lang="bash">
 
storage:
 
storage:
 
   ...
 
   ...
 
   s3:
 
   s3:
     bucket: "gim-3f7ac1ab-03b9-445b-ba12-137d4bbc3c38"
+
     bucket: <bucket-name> # The bucket name
     gcaSnapshots: "/gca"
+
     gcaSnapshots: <vol-name> # The volume or folder in the bucket where the GCA snapshot will be stored
     accessKey: "<Access Key>"
+
     accessKey: <s3-access-key> # The access key created when you created the bucket
     secretKey: "<Secret Key>"
+
     secretKey: <s3-secret> # The secret created when the bucket was provisioned
    useSSL: true
+
     endPoint: <host> # The bucket host
     endPoint: "s3.openshift-storage.svc"
+
</source>
    port: 443
 
    Insecure: true </source>
 
  
 
====GKE example====
 
====GKE example====
Line 123: Line 114:
 
     endPoint: "storage.googleapis.com"
 
     endPoint: "storage.googleapis.com"
 
     port: 443
 
     port: 443
     Insecure: true </source>
+
     Insecure: true  
 +
</source>
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=Configuration database
 +
|anchor=GCA_ConfigDatabase
 +
|alignment=Vertical
 +
|structuredtext=Specify applicable details for the configuration database. The password you configure here is provisioned as <code>cfgdb-secrets</code> in the system.
 +
 
 +
<source lang="bash">
 +
cfgdb: # The applicable details for the Configuration Database, created before you deployed the Tenant service
 +
  name: <config-db-name> # The name of the database
 +
  host: <dbms-host> # The host on which the DBMS is running
 +
  username: <username> # The user account for GCA to access the database. The user account must have at least read permissions
 +
  password: <password> # The password for the user account
 +
</source>
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=GIM database
 +
|alignment=Vertical
 +
|structuredtext=Specify the applicable details for the Info Mart database. The password you specify here is provisioned in the system as <code>gimdb-secrets</code>.
 +
 
 +
<source lang="bash">
 +
gimdb: # The applicable details for the Info Mart database
 +
  name: <gim-db-name> # The name of the database
 +
  host: <dbms-host> # The host on which the DBMS is running
 +
  username: <username> # The user account created when you created the GIM database
 +
  password: <password> # The password for the user account
 +
</source>
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=Config Maps
 +
|alignment=Vertical
 +
|structuredtext=There are no Config Maps for GCA you can configure directly.
 
|Status=No
 
|Status=No
 
}}
 
}}
 
|PEPageType=9c3ae89b-4f75-495b-85f8-d8c4afcb3f97
 
|PEPageType=9c3ae89b-4f75-495b-85f8-d8c4afcb3f97
 
}}
 
}}

Latest revision as of 13:31, March 10, 2023

This topic is part of the manual Genesys Info Mart Private Edition Guide for version Current of Reporting.

Learn how to configure GIM Config Adapter (GCA).

GCA Helm chart overrides

The GCA requires some configuration for deployment that must be done by modifying the GCA's default Helm chart. You do this by creating override entries in the GCA's values.yaml file.

Download the gca and gca-monitoring Helm charts from your image registry, using the appropriate credentials.

For information about how to download the Helm charts, see Downloading your Genesys Multicloud CX containers. To find the correct Helm chart version for your release, see Helm charts and containers for Genesys Info Mart. For general information about Helm chart overrides, see Overriding Helm chart values in the Genesys Multicloud CX Private Edition Guide.

At minimum, you must create entries in the values.yaml file to specify key system information, as described in the following sections.

Important
Treat your modified values.yaml file as source code, which you are responsible to maintain so that your overrides are preserved and available for reuse when you upgrade.

Image registry and pull secret


Image registry

Create an entry in the GSP's values.yaml file to specify the location of the Genesys JFrog image registry. This is the repository from which Kubernetes will pull images.

The location of the Genesys JFrog image registry is defined when you set up the environment for the GSP. It is represented in the system as the docker-registry. In the GSP Helm chart, the repository is represented as image: registry, as shown below. You can optionally set a container version for the image.

image: # The repository from which Kubernetes will pull images
  registry: <your_container_registry> # The default registry is pureengage-docker-staging.jfrog.io
  tag: <image_tag> # The container image tag/version

Pull secret

When you set up your environment, you provision a pull secret for Genesys JFrog image registry (docker-registry). Each service must supply the credentials for the repository in order for Kubernetes to be able to pull from the repository. Each of the three Info Mart services (GIM, GSP, and GCA) must be configured with the pull secret. You do this values.yaml for the service.

imagePullSecrets:
  docker-registry: {<pull-secret>} # The credentials Kubernetes will use to pull the image from the registry


Note that other services use a different syntax than this to configure the repository pull secret, as follows:

imagePullSecrets:
  name: docker-registry

Genesys Info Mart, GIM Stream Processor, and GIM Configuration Adaptor helm charts all support advanced templating that allow the helm to create the pull secret automatically; hence the variation in syntax.

Tenant ID

The Tenant microservice provides direct access to the configuration server database. Configure a Helm override entry for the Tenant ID.

tenant_id: <tenant-id> # The TenantID of the tenant in use

Kafka

Kafka secret

The Kafka secret is necessary for GCA to access Kafka. The Kafka secret is provisioned in the system as kafka-secrets when you set up the environment for GCA. Configure the Kafka secret by creating a Helm chart override in the values.yaml file.

kafka:
  password: <kafka-password> # Credentials for accessing Kafka. This secret is created during deployment.

Kafka bootstrap

To allow the Kafka service on GCA to align with the infrastructure Kafka service, make a Helm override entry with the location of the Kafka bootstrap.

kafka:
  bootstrap: <kafka-bootstrap-location> # the Kafka address to align with the infrastructure Kafka

S3-compatible storage

If you are using S3-compatible object storage on GCP to store the GCA snapshot, modify the following storage: s3 entries in the values.yaml file:

storage:
  ...
  s3:
    bucket: <bucket-name> # The bucket name
    gcaSnapshots: <vol-name> # The volume or folder in the bucket where the GCA snapshot will be stored
    accessKey: <s3-access-key> # The access key created when you created the bucket
    secretKey: <s3-secret> # The secret created when the bucket was provisioned
    endPoint: <host> # The bucket host

GKE example

storage:
  ...
  s3:
    bucket: "test-example-bucket-one"
    gcaSnapshots: "/gca"
    accessKey: "<Access Key>"
    secretKey: "<Secret Key>"
    useSSL: true
    endPoint: "storage.googleapis.com"
    port: 443
    Insecure: true

Configuration database

Specify applicable details for the configuration database. The password you configure here is provisioned as cfgdb-secrets in the system.

cfgdb: # The applicable details for the Configuration Database, created before you deployed the Tenant service
  name: <config-db-name> # The name of the database
  host: <dbms-host> # The host on which the DBMS is running
  username: <username> # The user account for GCA to access the database. The user account must have at least read permissions
  password: <password> # The password for the user account

GIM database

Specify the applicable details for the Info Mart database. The password you specify here is provisioned in the system as gimdb-secrets.

gimdb: # The applicable details for the Info Mart database
  name: <gim-db-name> # The name of the database
  host: <dbms-host> # The host on which the DBMS is running
  username: <username> # The user account created when you created the GIM database
  password: <password> # The password for the user account

Config Maps

There are no Config Maps for GCA you can configure directly.

Comments or questions about this documentation? Contact us for support!