InitialDC sample values.yaml File

You can refer the default values.yaml file to define your own custom values.yaml file for specifying required values and overriding default configurations while installing the Sterling B2B Integrator application using Certified Container.

The following section provides sample values.yaml file:

Sample values.yaml file for initial DC (1st DC)

# (C) Copyright 2019-2021 Syncsort Incorporated. All rights reserved.

# Default values for gm.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

#This values.yaml need to pasted inside the b2bi values.yaml under globalMailbox: section

serviceAccounts:
  namespaceAdministration: ibm-gm-sa
  #Cluster service account is needed just for Replication Job to fetch the worker nodes list.  
  clusterAdministration: ibm-gm-cluster-sa  

security:
  supplementalGroups: [65534]
  fsGroup: 
  runAsUser:
  runAsGroup:

env:
  license: "accept"
  licLang: "en"
  
jobs:

  #By default Jobs are deleted after successful completion. Setting keepJobs to true will not delete the job once they are completed and can be used to check their console output later.
  keepJobs: false
  #Schema setup job. Run once for the entire application, i.e. just once for all DCs 
  dataSetup:
    #Flag to enable the data setup job. Set it to false, when once DB setup is sucessfully completed.
    enabled: true
    upgrade: false
    version: 6.2.0.0
    image:
      repository: "cp.icr.io/cp/ibm-gm/gm-db-setup"
      # Provide the tag value in double quotes
      tag: "6.2.0.0"
      digest: ""
      pullPolicy: IfNotPresent
      pullSecret: myPullSecret

  #Masterpassphrase setup job. Run once for the entire application, i.e. just once for all DCs 
  masterPassphraseSetup:
    #A flag to enable the MasterPassphrase job.Set it to false when the MasterPassphrase job is sucessfully completed.
    enabled: true
    #Specify master passphrase secret name.
    masterPassphrase: gm-master-passphrase-secret

  #Set it to true to run the storage configuration utility when installing a DC. Must be set to false once configured.
  storageSetup:
    enabled: true
    #Specify storage passphrase secret name.
    storagePassphrase: gm-storage-passphrase-secret
  
  #Set it to true to run dcConfigUtility when installing a DC. Must be set to false once configured.
  dcConfigSetup:
    enabled: true

  #Set it to true to run dcConfigUtility to configure MQ when installing a DC. Must be set to false unless it is required to change MQ configuration
  mqConfigSetup:
    enabled: true
    
  #Set it to true to run replicationSetup utility when installing a new DC. This leads to creation of NP service per GM replica. 
  #This utility should re-run when any one of below criteria is met.
  #1. Any change in existing worker nodes IP
  #2. Addition/deletion of wokernodes.
  #3. If user needs to change the initialSvcPort
  #4. Any change in replicaCount
  replicationSetup:
    enabled: true
    initialSvcPort: 32280

  #Set it to true to run appConfigUtility to register B2Bi application when installing a DC. Must be set to false once configured.
  appRegisterSetup:
    enabled: true
    
#GM Admin node image details
image:
    repository: "cp.icr.io/cp/ibm-gm/gm"
    tag: "6.2.0.0"
    digest: ""
    pullPolicy: IfNotPresent
    pullSecret: "myPullSecret"

replicaCount: 3
  
logs:
   # set to true if you wish to redirect the application logs to console. If provided value is true , then application logs will reside inside containers. No volume mapping will be used.
  enableAppLogOnConsole: true

config:
  
  internal:
      
     #set to "true" for 1st DC setup and "false" for other DCs. Setting it to false will not execute dataSetup and masterPassphraseSetup jobs on other DCs.
     initialDC: true
     #set the admin password for the first run but if password has been modified later through GM UI, you must update or provide the password secret.
     adminPassword: gm-admin-password-secret
     global:
         replicationType: ASYNCHRONOUS
         ccExternalSystems: false
         ccHeartbeats: false
         ccMbxActivities: false
         ccHeartbeatsMinutes: 5
         ccEventBatchSize: 100
         ccEventMaxPostInterval: 10
         maxAllowedInlineStorageLimit: 10240
         replicationSegmentSize: 100 
         extraProperties: []
            #- com.ibm.mailbox.database.zookeeper.session.timeout=60

     dataCenter:
         name: DC1
         extraProperties: []
            #- com.ibm.mailbox.replication.hang.threshold=3000
   
     mailboxUI:
        #Provide semi-colon separated JVM arguments. Example: -Xms2048m;-Xmx4096m
        jvmOptions:
        logConfig:
        tlsProtocol: TLSv1.2
        keyStoreName:
        secrets:
          certificate: 
          credentials:
 
  external:
     mq:
       endpoints: 
         - host: "<Hostname or IP of MQ>"
           port: "1250"
       channelName: SYSTEM.DEF.SVRCONN
       queueManagerName: AUTO179_DC1
       queueName: QUEUE6
       useSSL: false
       keyStoreName:
       trustStoreName:
       secrets:
         certificate:          
         credentials: gm-mq-credentials-secret
        
     cassandra: 
        #comma separated host list
        hostList: "<Comma separated hostnames or IPs of Cassandra>"
        port: 9042
        useSSL: false
        sslProtocol:
        sslCiphers:
        ssltrustAny:
        sslTrustoreType:
        keyStoreName:
        trustStoreName:
        secrets:
          certificate:           
          credentials:  
     zookeeper:
        endPoints: 
          - host: "zookeeper-host1"
            port: "2181"
          - host: "zookeeper-host2"
            port: "2181"
         #- host: ""
         #  port: ""
        useSSL: false
        keyStoreName:
        trustStoreName:
        secrets:
          certificate:           
          credentials:
     controlCenter:
        host: 
        port: 
        protocol: 
        secret:
           credentials: 

     #This was required to pass the asi details for REST calls from GM to ASI as sub-chart cannot access the parent chart fields.
     asi:
      restHttpAdapterPort: <port on ASI backend service to access the rest http server adapter>
      gmHttpAdapterPort: <port on ASI backend service to access the gm http server adapter>
       
#Service to serve the mailbox UI
frontendService:
  type: ClusterIP
  ports:
    https:
      name: https
      port: 32196
      targetPort: https
      nodePort: 32196
      protocol: TCP
  #Provide a static IP to Loadbalancer. Set it when service.type is Loadbalancer
  loadBalancerIP:  
  #Extra annotations of Loadbalancer. Helpful in cloud deployments to specify characteristic of a LB like a private vs public LB 
  annotations: {}  

livenessProbe:
  initialDelaySeconds: 60
  timeoutSeconds: 5
  periodSeconds: 60
  
readinessProbe:
  initialDelaySeconds: 30
  timeoutSeconds: 5
  periodSeconds: 10

ingress:
  #Setting it to true, creates the routes on OCP and ingress on non-OCP kubernetes cluster over HTTPS
  enabled: true
  controller: "nginx"
  annotations: {}
  host: "<OpenShift host>"
  tls:
   secretName: ""

#PVC for application logs
appLogsPVC:
  name: logs
  storageClassName: "thin"
  useDynamicProvisioning: false
  selector:
    label: "intent"
    value: "gm-logs"
  accessMode: ReadWriteMany
  size: 500Mi

#PVC for payload
appDocumentsPVC:
  enabled: true
  name: documents
  useDynamicProvisioning: false
  storageClassName: "thin"
  selector:
    label: "intent"
    value: "gm-documents"
  accessMode: ReadWriteMany
  size: 500Mi
  
stagingPVC:
  enabled: true
  name: staging
  useDynamicProvisioning: false
  storageClassName: "thin"
  selector:
    label: "intent"
    value: "gm-staging"
  accessMode: ReadWriteMany
  size: 500Mi  

resources:
  # We usually recommend not to specify default resources and to leave this as a conscious
  # choice for the user. This also increases chances charts run on environments with little
  # resources, such as Minikube. If you do want to specify resources, uncomment the following
  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  limits:
    cpu: 4000m
    memory: 2Gi
    ephemeral-storage: 1000Mi
  requests:
    cpu: 2000m
    memory: 1Gi
    ephemeral-storage: 100Mi

defaultPodDisruptionBudget:
  enabled: false
  minAvailable: 1

#Specify extra lables on mailboxui pod for pod Affinity and podAntiAffinity.
extraLabels: {}
  #newLabel: newValue
 
nodeAffinity:
  requiredDuringSchedulingIgnoredDuringExecution: []
  preferredDuringSchedulingIgnoredDuringExecution: []
podAffinity:
  requiredDuringSchedulingIgnoredDuringExecution: []
  preferredDuringSchedulingIgnoredDuringExecution: []
podAntiAffinity:
  requiredDuringSchedulingIgnoredDuringExecution: []
  preferredDuringSchedulingIgnoredDuringExecution: []

topologySpreadConstraints: []
  #- maxSkew: 1
  #  topologyKey: topology.kubernetes.io/zone
  #  whenUnsatisfiable: DoNotSchedule
  #- maxSkew: 1
  #  topologyKey: kubernetes.io/hostname
  #  whenUnsatisfiable: ScheduleAnyway

# for Taints and Tolerations  
tolerations: [] 
#- key: "key1"
#  operator: "Equal"
#  value: "value1"
#  effect: "NoExecute"
#  tolerationSeconds: 3600
#- key: "key2"
#  operator: "Exists"
#  effect: "NoSchedule"

networkPolicies:
  ingress:
    enabled: false
    customPolicies:
    #- name:
    #  fromSelectors:
    #  - namespaceSelector:
    #      matchLabels:
    #        name: my-source-namespace
    #    podSelector:
    #      matchLabels:
    #        app.kubernetes.io/name: my-consumer-pod
    #  - podSelector:
    #      matchLabels:
    #        role: frontend
    #  - ipBlock:
    #      cidr: <IP Address>/<block size>
    #      except:
    #      - <IP Address>/<block size>
    #  ports:
    #   - protocol: TCP
    #     port: 8443
    #     endPort: 8450       
  egress:
    enabled: false
    customPolicies:
    #- name:
    #  toSelectors:
    #  - namespaceSelector:
    #      matchLabels:
    #        name: my-source-namespace
    #    podSelector:
    #      matchLabels:
    #        app.kubernetes.io/name: my-consumer-pod
    #  - podSelector:
    #      matchLabels:
    #        role: frontend
    #  - ipBlock:
    #      cidr: <IP Address>/<block size>
    #      except:
    #      - <IP Address>/<block size>
    #  ports:
    #   - protocol: TCP
    #     port: 8443
    #     endPort: 8450

# Test container
test:
 image:
  repository: 'cp.icr.io/cp'
  name: 'opencontent-common-utils'
  tag: '1.1.4'
  pullPolicy: 'IfNotPresent'
  digest: sha256:45fbb199f046eb939ebfaf08fa6fb29da1583ac18f92c97333b3940eb236e005