values.yaml driven configurations

  1. Database and Data source memory related parameters can be configured in values.yaml and Product configmap.yaml files as shown in the following examples:
    • Values file example:
      campaignData: 
        campaignConfigMapData: 
          CAMPAIGN_DATABASE_HOST: "hcl-unica-suite-database" 
          CAMPAIGN_DATABASE_PORT: "9088" 
          CAMPAIGN_DATABASE_NAME: "campuser:ONEDB_SERVER=onedb" 
          CAMPAIGN_DATABASE_USERNAME: "onedbsa" 
          CAMPAIGN_DATABASE_PASSWORD: "onedb4ever" 
          CAMPAIGN_DSN_NAME: "campuser" 
        campaignDSMData: 
          CAMPAIGN_DS_INITIAL_SIZE: "1" 
          CAMPAIGN_DS_MIN_IDLE: "1"  
          CAMPAIGN_DS_MAX_IDLE: "1"  
          CAMPAIGN_DS_MAX_TOTAL: "80"  
          CAMPAIGN_DS_STATEMENT_CACHE_SIZE: "180" 
          CAMPAIGN_DATA_SOURCE_PARAMETERS: "removeAbandonedTimeout='300';removeAbandoned='true';testOnBorrow='true'" 
    • Reflected in Campaign configmap file:
      CAMPAIGN_DATABASE_HOST: "{{ .Values.campaignData.campaignConfigMapData.CAMPAIGN_DATABASE_HOST }}" 
        CAMPAIGN_DATABASE_PORT: "{{ .Values.campaignData.campaignConfigMapData.CAMPAIGN_DATABASE_PORT }}" 
        CAMPAIGN_DATABASE_NAME: "{{ .Values.campaignData.campaignConfigMapData.CAMPAIGN_DATABASE_NAME }}" 
        CAMPAIGN_DATABASE_USERNAME: "{{ .Values.campaignData.campaignConfigMapData.CAMPAIGN_DATABASE_USERNAME }}" 
        CAMPAIGN_DATABASE_PASSWORD: "{{ .Values.campaignData.campaignConfigMapData.CAMPAIGN_DATABASE_PASSWORD }}" 
        CAMPAIGN_DSN_NAME: "{{ .Values.campaignData.campaignConfigMapData.CAMPAIGN_DSN_NAME }}" 
      
      
        CAMPAIGN_DS_INITIAL_SIZE: "{{ .Values.campaignData.campaignDSMData.CAMPAIGN_DS_INITIAL_SIZE }}" 
        CAMPAIGN_DS_MIN_IDLE: "{{ .Values.campaignData.campaignDSMData.CAMPAIGN_DS_MIN_IDLE }}" 
        CAMPAIGN_DS_MAX_IDLE: "{{ .Values.campaignData.campaignDSMData.CAMPAIGN_DS_MAX_IDLE }}" 
        CAMPAIGN_DS_MAX_TOTAL: "{{ .Values.campaignData.campaignDSMData.CAMPAIGN_DS_MAX_TOTAL }}" 
        CAMPAIGN_DS_STATEMENT_CACHE_SIZE: "{{ .Values.campaignData.campaignDSMData.CAMPAIGN_DS_STATEMENT_CACHE_SIZE }}" 
  2. Parameters categorization: Each product is separately defined by a tag in the values.yaml file and subtag is provided for Data type: database or data source memory.
    • Example: Data type categorisation (Database and Data source memory)
      campaignData: 
        campaignConfigMapData: 
          CAMPAIGN_DATABASE_HOST: "hcl-unica-suite-database" 
          CAMPAIGN_DATABASE_PORT: "9088" 
          CAMPAIGN_DATABASE_NAME: "campuser:ONEDB_SERVER=onedb" 
          CAMPAIGN_DATABASE_USERNAME: "onedbsa" 
          CAMPAIGN_DATABASE_PASSWORD: "onedb4ever" 
          CAMPAIGN_DSN_NAME: "campuser" 
        campaignDSMData: 
          CAMPAIGN_DS_INITIAL_SIZE: "1" 
          CAMPAIGN_DS_MIN_IDLE: "1"  
          CAMPAIGN_DS_MAX_IDLE: "1"  
          CAMPAIGN_DS_MAX_TOTAL: "80"  
          CAMPAIGN_DS_STATEMENT_CACHE_SIZE: "180" 
          CAMPAIGN_DATA_SOURCE_PARAMETERS: "removeAbandonedTimeout='300';removeAbandoned='true';testOnBorrow='true'" 
    • Example: Product wise categorisation
      collaborateData: 
        collaborateConfigMapData: 
          COLLABORATE_DATABASE_HOST: "hcl-unica-suite-database" 
          COLLABORATE_DATABASE_PORT: "9088" 
          COLLABORATE_DATABASE_NAME: "platuser" 
          COLLABORATE_DATABASE_USERNAME: "informix" 
          COLLABORATE_DATABASE_PASSWORD: "in4mix" 
      
        collaborateDSMData: 
          COLLABORATE_DS_INITIAL_SIZE: "1" 
          COLLABORATE_DS_MIN_IDLE: "1" 
          COLLABORATE_DS_MAX_IDLE: "1" 
          COLLABORATE_DS_MAX_TOTAL: "80" 
          COLLABORATE_DS_STATEMENT_CACHE_SIZE: "180"  
          COLLABORATE_DATA_SOURCE_PARAMETERS: "removeAbandonedTimeout='300';removeAbandoned='true';testOnBorrow='true'"  
      
      contactcentralData: 
        contactcentralConfigMapData: 
          CONTACTCENTRAL_DATABASE_HOST: "hcl-unica-suite-database" 
          CONTACTCENTRAL_DATABASE_PORT: "9088" 
          CONTACTCENTRAL_DATABASE_USERNAME: "onedbsa"  
          CONTACTCENTRAL_DATABASE_PASSWORD: "onedb4ever" 
          CONTACTCENTRAL_DATABASE_NAME: "platuser:ONEDB_SERVER=onedb" 
        contactcentralDSMData: 
          CONTACTCENTRAL_DS_INITIAL_SIZE: "1" 
          CONTACTCENTRAL_DS_MIN_IDLE: "1" 
          CONTACTCENTRAL_DS_MAX_IDLE: "1" 
          CONTACTCENTRAL_DS_MAX_TOTAL: "80" 
          CONTACTCENTRAL_DS_STATEMENT_CACHE_SIZE: "180"  
          CONTACTCENTRAL_DATA_SOURCE_PARAMETERS: "removeAbandonedTimeout='300';removeAbandoned='true';testOnBorrow='true'" 
  3. JAVA_HOME is set in values.yaml.
    • JAVA_HOME, DOCKER_HOME, JRE_HOME, DIRECTOR_JAVA_HOME parameters have same value assigned in common configmap files.
      DOCKER_JAVA_HOME: "{{  .Values.commonConfigMapMiscData.JAVA_HOME }}"
      DIRECTOR_JAVA_HOME: "{{ .Values.commonConfigMapMiscData.JAVA_HOME }}"
      JRE_HOME: "{{  .Values.commonConfigMapMiscData.JAVA_HOME }}"
      JavaHOME: "{{  .Values.commonConfigMapMiscData.JAVA_HOME }}"
    • JAVA_HOME: docker/unica/jre is defined in values file and used in above common_configmap.yaml file.
  4. Ingress updates with version 1.22:
    • For k8s 1.22 version API updates have been made to RBAC and INGRESS files also ingress structure is changed as per K8S update.
    • Example old ingress:
      rules: 
        - host: {{ .Values.service.hostname }} 
          http: 
            paths: 
            - path: /Insights 
              backend: 
                serviceName: {{ include "unica.fullname" . }}-insights 
                servicePort: {{ .Values.service.port.insights }} 
    • Example new ingress:
      rules: 
        - host: {{ .Values.service.hostname }} 
          http: 
            paths: 
            - path: /Insights 
              pathType: Prefix 
              backend: 
                service: 
                  name: {{ include "unica.fullname" . }}-insights 
                  port:  
                     number: {{ .Values.service.port.insights }}