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

From Genesys Documentation
Jump to: navigation, search
(Published)
 
 
(8 intermediate revisions by 3 users 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-monitor 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 Engage Cloud Private Edition Guide}}''.
+
Download the '''gca''' and '''gca-monitoring''' Helm charts from your image registry, using the appropriate credentials.
  
Override the following key entries in the '''gca-values.yaml''' file:
+
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}}''.
  
*<tt>tag</tt> - the container image version
+
At minimum, you must create entries in the '''values.yaml''' file to specify key system information, as described in the following sections.
* <tt>tenant_id</tt> - the TenantID of the tenant in use
+
 
* <tt>tenant_uuid</tt> - the TenantUUID that matches the TenantID.
+
{{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.}}
* <tt>cfgdb</tt> - the tenant configuration database
+
|Status=No
* <tt>bootstrap</tt> - the Kafka address to align with the infrastructure Kafka
+
}}{{Section
* <tt>NODE_EXTRA_CA_CERTS</tt> - points to the self-signed OpenShift service CA. This is the default path.
+
|sectionHeading=Image registry and pull secret
*<tt>s3</tt> - the applicable s3 details defined with the OBC for GSP (see {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=ConfigureGSP|anchor=S3Data|display text=Get S3 data}}).
+
|anchor=GCA_ImagePull
====The gca-values.yaml file====
+
|alignment=Vertical
<source lang="bash">log_level: INFO
+
|structuredtext={{AnchorDiv|GCA_ImageRegistry}}
tenant_id: shared
+
 
tenant_uuid: 9350e2fc-a1dd-4c65-8d40-1f75a2e080dd
+
===Image registry===
image:
+
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.
   registry: pureengage-docker-staging.jfrog.io
+
 
   repository: gim/gca
+
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.
  pullPolicy: IfNotPresent
+
 
  tag: <image-version>
+
<source lang="bash">
 +
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
 +
</source>
 +
 
 +
{{AnchorDiv|GCA_PullSecret}}
 +
===Pull secret===
 +
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.
 +
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.
 +
 
 +
<source lang="bash">
 
imagePullSecrets:
 
imagePullSecrets:
   pureengage-docker-dev: {}
+
   docker-registry: {<pull-secret>} # The credentials Kubernetes will use to pull the image from the registry
  pureengage-docker-staging: {}
+
</source>
  jfrog-stage-credentials: {}
+
 
 
+
 
cfgdb:
+
Note that other services use a different syntax than this to configure the repository pull secret, as follows:
   name: '<tenant-db-name>'
+
<source lang="bash">
  engine: postgre
+
imagePullSecrets:
  port: 5432
+
   name: docker-registry
  host: 'postgres-rw.infra.svc.cluster.local'
+
</source>
  username: '<db-user>'
+
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.
  password: '<db-password>'
+
|Status=No
 +
}}{{Section
 +
|sectionHeading=Tenant ID
 +
|anchor=GCA_TenantID
 +
|alignment=Vertical
 +
|structuredtext=The Tenant microservice provides direct access to the configuration server database. Configure a Helm override entry for the Tenant ID.
 +
 
 +
<source lang="bash">
 +
tenant_id: <tenant-id> # The TenantID of the tenant in use
 +
</source>
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=Kafka
 +
|anchor=GCA_Kafka
 +
|alignment=Vertical
 +
|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.
 +
 
 +
<source lang="bash">
 
kafka:
 
kafka:
   bootstrap: 'infra-kafka-cp-kafka.infra.svc.cluster.local:9092'
+
   password: <kafka-password> # Credentials for accessing Kafka. This secret is created during deployment.
  security:
+
</source>
    protocol: plaintext
+
 
  sasl:
+
{{AnchorDiv|GCA_KafkaBootstrap}}
    mechanism: PLAIN
+
===Kafka bootstrap===
extraEnv: |
+
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.
  - name: SNAPSHOT_STORAGE_PATH
+
 
    value: "/tmp"
+
<source lang="bash">
  - name: NODE_EXTRA_CA_CERTS
+
kafka:
    value: "/var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt"
+
   bootstrap: <kafka-bootstrap-location> # the Kafka address to align with the infrastructure Kafka
#extraVolumeMounts: ''
+
</source>
volumes: |
+
|Status=No
   - name: kafka-secrets
+
}}{{Section
    secret:
+
|sectionHeading=S3-compatible storage
      secretName: {{.Release.Name}}-kafka-secrets
+
|anchor=Storage
  - name: cfg-db-secrets
+
|alignment=Vertical
    secret:
+
|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:
      secretName: {{.Release.Name}}-cfgdb-secrets
+
 
  - name: storage-account-secrets
+
<source lang="bash">
    secret:
 
      secretName: {{ .Release.Name }}-storage-secret
 
ssl_db_connection: false
 
dnsConfig:
 
  options:
 
  - name: ndots
 
    value: '3'
 
csi_enabled: false
 
tolerations: []
 
resources:
 
  requests:
 
    memory: 64Mi
 
    cpu: '0.01'
 
  limits:
 
    memory: 4000Mi
 
    cpu: '1'
 
 
storage:
 
storage:
   wasb:
+
   ...
    url: ''
 
    account_name: ''
 
    access_key: ''
 
 
   s3:
 
   s3:
     bucket: '<bucket-name>'
+
     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
 +
    endPoint: <host> # The bucket host
 +
</source>
 +
 
 +
====GKE example====
 +
<source lang="bash">
 +
storage:
 +
  ...
 +
  s3:
 +
    bucket: "test-example-bucket-one"
 +
    gcaSnapshots: "/gca"
 +
    accessKey: "<Access Key>"
 +
    secretKey: "<Secret Key>"
 
     useSSL: true
 
     useSSL: true
     endPoint: '<bucket-host>'
+
     endPoint: "storage.googleapis.com"
    port: <bucket-port></source>
+
    port: 443
 +
    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
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Configure Kubernetes
+
|sectionHeading=GIM database
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext={{Notices|Notice=PEComingSoon}}
+
|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
 
|Status=No
 
}}{{Section
 
}}{{Section
|sectionHeading=Configure security
+
|sectionHeading=Config Maps
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=Not applicable.
+
|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!