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 sections provide sample values.yaml files for every version:

Sample values.yaml file for v6.2.0.0

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

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

global:
  ## Set the value to True in order to accept the application license 
  ## B2BI @ https://ibm.biz/B2Bi_62
  ## SFG  @ https://ibm.biz/SFG_620
  license: false
  # Specify the license edition as per license agreement. Valid value is prod or non-prod for Production and 
  # Non-production respectively. Remember that this parameter is crucial for IBM Licensing and Metering Service
  licenseType: "prod"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.2.0.0"
  # If digest is specified, it takes precedence over tag
    digest: sha256:614ca27d9bc9edf9aa100703658ad599a1b3dbe1369268de95306fcedb825cbb
    pullPolicy: IfNotPresent
    pullSecret: ""
  networkPolicies:
    ingress:
      enabled: true
      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: true
      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

# Specify architecture (amd64, ppc64le, s390x) and weight to be  used for scheduling as follows : 
# #   0 - Do not use
# #   1 - Least preferred
# #   2 - No Preference
# #   3 - Most preferred
arch:
  amd64: "2 - No Preference"
  ppc64le: "2 - No Preference"
  s390x: "2 - No Preference"

serviceAccount:
  name: default

resourcesInit:
  enabled: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-resources"
    tag: "6.2.0.0"
    digest: sha256:3d8c6afa6215915c99aa4a65fcb323ded326872f94a720117b89caef36ed9c88
    pullPolicy: "IfNotPresent"
  command:

persistence:
  enabled: true
  useDynamicProvisioning: false

appResourcesPVC:
  enabled: true
  storageClassName: ""
  selector:
    label: "intent"
    value: "resources"
  accessMode: ReadOnlyMany
  size: 100Mi
  preDefinedResourcePVCName: 


appLogsPVC:
  storageClassName: ""
  selector:
    label: "intent"
    value: "logs"
  accessMode: ReadWriteMany
  size: 500Mi
  preDefinedLogsPVCName: 
  
appDocumentsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "documents"
  accessMode: ReadWriteMany
  size: 500Mi
  enableVolumeClaimPerPod: false
  preDefinedDocumentPVCName: 

extraPVCs: []
  #- name:
  #  storageClassName:
  #  selector:
  #    label:
  #    value:
  #  accessMode:
  #  size:
  #  mountPath:
  #  enableVolumeClaimPerPod: false
  #  predefinedPVCName:

security:
  supplementalGroups: [65534]
  fsGroup:
  fsGroupChangePolicy: "OnRootMismatch"
  runAsUser:
  runAsGroup: 

ingress:
  enabled: true
  controller: "nginx"
  annotations: {}
  port:

dataSetup:
  enabled: true
  upgrade: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-dbsetup"
    # Provide the tag value in double quotes
    tag: "6.2.0.0"
     # If digest is specified, it takes precedence over tag
    digest: sha256:7d042d39967968ab626c1f89e039500ce2fdc181171b5d91d36ccb6d73deb698
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}

env:
  tz: "UTC"
  upgradeCompatibilityVerified: false
  debugMode: false
  extraEnvs: []
    #- name: FOO
    #  valueFrom:
    #    secretKeyRef:
    #      name: secret-name
    #      key: FOO
    #- name: BAR
    #  valueFrom:
    #    configMapKeyRef:
    #      name: configmap-name
    #      key: BAR
    #- name: FOOBAR
    #  value: foobar 
  
logs:

  # true if user wish to redirect the application logs to console else false. If provided value is true , then application logs will reside inside containers. No volume mapping will be used.
  enableAppLogOnConsole: true
      
  # In standalone kubernetes environment, if PodSecurityPolicy is enabled and no default PSPs are present then change the value below to true.      
applyPolicyToKubeSystem: false

integrations:
  seasIntegration:
    isEnabled: false
    seasVersion: "1.0"
  itxIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itx-rs"
      tag: "10.1.1.1.20221116"
      digest: "sha256:d6dea7cad255582d091f91c7ab226d819ce105a4146b9ac706d96262dd929afc"
      pullPolicy: IfNotPresent
      pullSecret:
    dataPVC:
      name: itxdata
      useDynamicProvisioning: true  
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxdata"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedDataPVCName:
    logsPVC:
      name: itxlogs
      useDynamicProvisioning: true
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxlogs"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedLogsPVCName:
    # Logging settings
    log:
      includeHostInLogNames: true
      jniLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
      cmgrLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
  itxaIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itxa-runtime"
      tag: ""
      digest:
      pullPolicy: IfNotPresent
      pullSecret:
    appSecret: "itxa-oracle-secrets"
    secureDBConnection:
      enabled: false
      dbservercertsecretname: ""
    persistence:
      claims:
        name: itxa-logs-pvc
    sso:
      host: "speui.apps.openshift.in.dev"
      port: 443
      ssl:
        enabled: true
    resourcesInit:
      enabled: true
      image:
        repository: "cp.icr.io/cp/ibm-itxa-resources"
        tag: ""
        digest:
        pullPolicy: "IfNotPresent"

#setup.cfg configuration starts here. Property names must follow camelCase format.
setupCfg:
  #Upgrade
  #upgrade: false
  basePort: 50000
  #License - specify values as true/false
  licenseAcceptEnableSfg: false
  licenseAcceptEnableEbics: false
  licenseAcceptEnableFinancialServices: false
  licenseAcceptEnableFileOperation: false

  # Name of system passphrase secret if available
  systemPassphraseSecret: 
  #FIPS compliance mode. specify values as true/false 
  enableFipsMode: false
  # NIST 800-131a compliance mode. Please enter one of these values - strict/transition/"off"
  nistComplianceMode: "off"

  # Provide the DB attributes
  dbVendor:
  dbHost:
  dbPort:
  dbData:
  dbDrivers:
  dbCreateSchema: true
  oracleUseServiceName: false
  # Values can be either true or false 
  usessl: false
  
  # Name of DB secret
  dbSecret:
  
  # Specify DB truststore file name including it's path relative to the mounted resources volume location, if applicable. Required when usessl is true.
  # When dbTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbTruststore:
  
  # Name of the DB truststore secret containing the certificate, if applicable
  dbTruststoreSecret:
  
  # Specify DB keystore file name including it's path relative to the mounted resources volume location, if applicable
  # When dbKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbKeystore:
  
  # Name of the DB keystore secret containing the certificate, if applicable
  dbKeystoreSecret:
    
  #Enable connection pool failover for HA databases
  connectionpoolFailoverEnable: false

  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the termination grace period in seconds for containers. Only numeric value is accepted.
  terminationGracePeriod: 30

  #WMQ
  #JMS properties are optional if jmsVendor is empty
  #To use IBMMQ for communication between ASI & AC, change property to jmsVendor: IBMMQ
  # and provide other connection details
  jmsVendor:
  # Provide the name of connection factory class. 
  jmsConnectionFactory:
  jmsConnectionFactoryInstantiator:
  jmsQueueName:
  jmsHost:
  jmsPort:
  jmsConnectionNameList:
  # Applicable for IBMMQ
  jmsChannel:
  jmsEnableSsl:
  
  # Name of JMS secret if available
  jmsSecret:
  
  # Specify JMS keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsKeystorePath:
  
  # Name of the JMS keystore secret containing the certificate, if applicable
  jmsKeystoreSecret:
  
  # Specify JMS truststore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsTruststorePath:
  
  # Name of the JMS truststore secret containing the certificate, if applicable
  jmsTruststoreSecret:

  # Applicable for IBMMQ
  jmsCiphersuite:
  # Applicable for IBMMQ
  jmsProtocol: TLSv1.2

  # Liberty Profile SSL Config. Specify Liberty keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # If libertyKeystoreSecret is mentioned, provide the name of the key holding the certificate data. 
  libertyKeystoreLocation:
  
  # Name of Liberty keystore secret containing the certificate, if applicable
  libertyKeystoreSecret:
  
  libertyProtocol: TLSv1.2
  
  # Name of Liberty secret if available
  libertySecret:

  #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
  #jvm options
  libertyJvmOptions:
 
  # Default document storage option. Can be set to one of the below values
  # DB - Database (default)
  # FS - File System
  # OS - Object Store 
  defaultDocumentStorageType: DB
 
  # restartCluster can be set to true to restart the application cluster by cleaning up all previous node entries, locks and set the schedules to node1.
  restartCluster: false

  # Enable SSL over RMI calls
  useSslForRmi: true

  # Name of the RMI Secret if available.
  rmiTlsSecretName:

  # SAP SNC configurations
  # Name of the secret holding SAP SNC PSE file and password along with the sapgenpse utility
  sapSncSecretName:
  # SAP SNC library vendor name. This is same as the vendor name configured on customization UI for the SAP SNC library.
  sapSncLibVendorName:
  # SAP SNC library version. Specify the value in quotes. This is same as the vendor version configured on customization UI for the SAP SNC library.
  sapSncLibVersion:
  # SAP SNC library name. This is same as the native library file name uploaded on customization UI for the SAP SNC library.
  sapSncLibName:  

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35000
        targetPort: http
        nodePort: 30000
        protocol: TCP
      https: 
        name: https
        port: 35001
        targetPort: https
        nodePort: 30001
        protocol: TCP
      soa: 
        name: soa
        port: 35002
        targetPort: soa
        nodePort: 30002
        protocol: TCP
      soassl: 
        name: soassl
        port: 35003
        targetPort: soassl
        nodePort: 30003
        protocol: TCP
      restHttpAdapter: 
        name: rest-adapter
        port: 35007
        targetPort: rest-adapter
        nodePort: 30007
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 46000
      # targetPort: http
      # nodePort: 30100
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30201
      #  targetPort: 30201
      #  nodePort: 30201
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30301-30400
      #  targetPortRange: 30301-30400
      #  nodePortRange: 30301-30400
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}
      
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 30
    periodSeconds: 60

  # command - command to be executed 
  # arg1, arg2.. - command arguments
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
     
  startupProbe:
    initialDelaySeconds: 120
    timeoutSeconds: 30
    periodSeconds: 60
    failureThreshold: 3
       
  internalAccess:
    enableHttps: true
    httpsPort:   
    tlsSecretName:  
      
  externalAccess:
    protocol: http
    address: 
    port:
    
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #asiLabel: asiValue
  
  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"

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  #If myFG is hosted on HTTP Server adapter on ASI server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:

  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
 #Configure basic tuning parameters for Performance tuning settings.
 #allocateMemToBI  - Allocate memory for BI Listeners, default is false.
 #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
 #allocateMemToCLA - Allocate memory for CLA adapters, default is false.
 #threadsPerCore   - Number of threads per core which usually helps in calculating Desired Global Threads and Distribution Cache Minimum.
 #override         - To override the suggested value by the system.
  performanceTuning:
    allocateMemToBI: false
    allocateMemToSAP: false
    allocateMemToCLA: false
    threadsPerCore: 4
    override: []
      #- NOAPP.INITIAL_CYCLES_7=53
      #- NOAPP.EXEC_CYCLE_7=53
      #- NOAPP.MIN_POOL_SIZE_7=0
      #- NOAPP.MAX_POOL_SIZE_7=13
      #- NOAPP.RESOURCE_ALLOCATION_7=93
  
  networkPolicies:
    ingress:
      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:
      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
      
ac:

  replicaCount: 1

  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2
    
    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35004
        targetPort: http
        nodePort: 30004
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 37000
      # targetPort: http
      # nodePort: 30200
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30401
      #  targetPort: 30401
      #  nodePort: 30401
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30501-30600
      #  targetPortRange: 30501-30600
      #  nodePortRange: 30501-30600
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {} 

  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2

  internalAccess:
    enableHttps: true
    tlsSecretName:
      
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"
  
  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:
  
  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #acLabel: acValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2

  #If myFG is hosted on HTTP Server adapter on AC server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
 
 #Configure basic tuning parameters for Performance tuning settings.
  #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
  performanceTuning:
    allocateMemToSAP: false
    
  networkPolicies:
    ingress:
      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:
      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
    
api:

  replicaCount: 1

  env:
    #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http:
        name: http
        port: 35005
        targetPort: http
        nodePort: 30005
        protocol: TCP
      https:
        name: https
        port: 35006
        targetPort: https
        nodePort: 30006
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 35000
      # targetPort: http
      # nodePort: 30300
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
      
  internalAccess:
    enableHttps: true
    tlsSecretName:

  externalAccess:
    protocol: http
    address: 
    port: 

  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:

  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: 4Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 2Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60
    
  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #apiLabel: apiValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variables
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variables
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
  networkPolicies:
    ingress:
      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:
      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

nameOverride: ""

fullnameOverride: ""

# Test container
test:
  image:
    repository: 'cp.icr.io/cp/opencontent-common-utils'
    tag: '1.1.62'
    digest: sha256:f8b5b8bbb346fe35081491581ae32148ce6791cf3a90881926822cbcd5b0d8bb
    pullPolicy: 'IfNotPresent'

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.2.0.0"
    digest: sha256:1668c8bbce36cec1003d2e3f777122a7789bd3c34970d2b62c3fdc831cc612c2
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}
  # Provide a schedule for the purge job as a cron expression. For example "0 0 * * *" will run the purge job at 00:00 every day
  schedule:
  startingDeadlineSeconds: 60
  activeDeadlineSeconds: 3600
  concurrencyPolicy: Forbid
  suspend: false
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
  
  internalAccess:
    enableHttps: true
    tlsSecretName: 

  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: 500m
      memory: 1Gi
      ephemeral-storage: "1Gi"
    requests:
      cpu: 100m
      memory: 500Mi 
      ephemeral-storage: "500Mi"
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution: []
    preferredDuringSchedulingIgnoredDuringExecution: []

documentService:
  enabled: false
  sslEnabled: true
  useGrpc: true
  readBufferSize: 32768
  grpcPoolSize: 150
  keepAliveGrpc: 300
  license: false
  replicaCount: 1
  image:
    repository: cp.icr.io/cp/ibm-b2bi/b2bi-documentservice
    pullPolicy: IfNotPresent
    tag: 1.0.0.0
    digest:
    pullSecret: ""
  serviceAccount:
    name: default
  application:
    server:
      ssl:
        enabled: true
        tlsSecretName:
        trustStoreSecretName:
        clientAuth: want
    logging:
      level: ERROR
  objectstore:
    name:
    endpoint:
    namespace:
    region:
    secretName:
    useKeysFromSecrets: false
  connectionPoolConfig:
    maxTotalConnections: 250
    maxConnectionsPerRoute: 100
    connectTimeout: 10000
    readTimeout: 60000
    idleTimeout: 60000
    idleMonitorThread: true
    waitTimeout: 30000
    keepAlive: 300000
    retryCount: 2
    disableContentCompression: true

Sample values.yaml file for v6.2.0.1

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

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

global:
  ## Set the value to True in order to accept the application license 
  ## B2BI @ https://ibm.biz/B2Bi_62
  ## SFG  @ https://ibm.biz/SFG_620
  license: false
  # Specify the license edition as per license agreement. Valid value is prod or non-prod for Production and 
  # Non-production respectively. Remember that this parameter is crucial for IBM Licensing and Metering Service
  licenseType: "prod"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.2.0.1"
  # If digest is specified, it takes precedence over tag
    digest: sha256:e98c51bf25400c00b09cfcf4e34b4a20862657c56d8c5dede3c226bdaffc73f6
    pullPolicy: IfNotPresent
    pullSecret: ""
  networkPolicies:
    ingress:
      enabled: true
      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: true
      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

# Specify architecture (amd64, ppc64le, s390x) and weight to be  used for scheduling as follows : 
# #   0 - Do not use
# #   1 - Least preferred
# #   2 - No Preference
# #   3 - Most preferred
arch:
  amd64: "2 - No Preference"
  ppc64le: "2 - No Preference"
  s390x: "2 - No Preference"

serviceAccount:
  name: default

resourcesInit:
  enabled: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-resources"
    tag: "6.2.0.1"
    digest: sha256:1f27acb485d01807fd39922ddf43f4d61d27a993c3d628ea4451c7e4c304414b
    pullPolicy: "IfNotPresent"
  command:

persistence:
  enabled: true
  useDynamicProvisioning: false

appResourcesPVC:
  enabled: true
  storageClassName: ""
  selector:
    label: "intent"
    value: "resources"
  accessMode: ReadOnlyMany
  size: 100Mi
  preDefinedResourcePVCName: 


appLogsPVC:
  storageClassName: ""
  selector:
    label: "intent"
    value: "logs"
  accessMode: ReadWriteMany
  size: 500Mi
  preDefinedLogsPVCName: 
  
appDocumentsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "documents"
  accessMode: ReadWriteMany
  size: 500Mi
  enableVolumeClaimPerPod: false
  preDefinedDocumentPVCName: 

extraPVCs: []
  #- name:
  #  storageClassName:
  #  selector:
  #    label:
  #    value:
  #  accessMode:
  #  size:
  #  mountPath:
  #  enableVolumeClaimPerPod: false
  #  predefinedPVCName:

security:
  supplementalGroups: [65534]
  fsGroup:
  fsGroupChangePolicy: "OnRootMismatch"
  runAsUser:
  runAsGroup: 

ingress:
  enabled: true
  controller: "nginx"
  annotations: {}
  port:

dataSetup:
  enabled: true
  upgrade: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-dbsetup"
    # Provide the tag value in double quotes
    tag: "6.2.0.1"
     # If digest is specified, it takes precedence over tag
    digest: sha256:9443f6094836f9a53734d2d85882fa521ce61c6d9e78092ec28c7ac6eff9336e
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}

env:
  tz: "UTC"
  upgradeCompatibilityVerified: false
  debugMode: false
  extraEnvs: []
    #- name: FOO
    #  valueFrom:
    #    secretKeyRef:
    #      name: secret-name
    #      key: FOO
    #- name: BAR
    #  valueFrom:
    #    configMapKeyRef:
    #      name: configmap-name
    #      key: BAR
    #- name: FOOBAR
    #  value: foobar 
  
logs:

  # true if user wish to redirect the application logs to console else false. If provided value is true , then application logs will reside inside containers. No volume mapping will be used.
  enableAppLogOnConsole: true
      
  # In standalone kubernetes environment, if PodSecurityPolicy is enabled and no default PSPs are present then change the value below to true.      
applyPolicyToKubeSystem: false

integrations:
  seasIntegration:
    isEnabled: false
    seasVersion: "1.0"
  itxIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itx-rs"
      tag: "10.1.2.0.20231130"
      digest: "sha256:bc9b60086ca95a8ef6303be33cedabf475d10dd8ad161c75567f51d19aba13b8"
      pullPolicy: IfNotPresent
      pullSecret:
    dataPVC:
      name: itxdata
      useDynamicProvisioning: true  
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxdata"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedDataPVCName:
    logsPVC:
      name: itxlogs
      useDynamicProvisioning: true
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxlogs"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedLogsPVCName:
    # Logging settings
    log:
      includeHostInLogNames: true
      jniLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
      cmgrLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
  # Integration with ITXA Certified Container edition is supported only for release version 10.0.1.8 onwards
  itxaIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itxa/itxa-runtime"
      tag: "10.0.1.8-x86_64"
      digest: sha256:8c099a80852d9291b44d5d8f8a108550e23dfdde7d6c4bc246ceb41bbd4f0097
      pullPolicy: IfNotPresent
      pullSecret:
    appSecret: "itxa-oracle-secrets"
    secureDBConnection:
      enabled: false
      dbservercertsecretname: ""
    persistence:
      claims:
        name: itxa-logs-pvc
    sso:
      host: "speui.apps.openshift.in.dev"
      port: 443
      ssl:
        enabled: true
    resourcesInit:
      enabled: true
      image:
        repository: "cp.icr.io/cp/ibm-itxa/itxa-resources"
        tag: "10.0.1.8-x86_64"
        digest: sha256:ea182350c6fd0a24e627d5596e4ce6ca06368c1cbdd745d56df0edcb140f6c61
        pullPolicy: "IfNotPresent"

#setup.cfg configuration starts here. Property names must follow camelCase format.
setupCfg:
  #Upgrade
  #upgrade: false
  basePort: 50000
  #License - specify values as true/false
  licenseAcceptEnableSfg: false
  licenseAcceptEnableEbics: false
  licenseAcceptEnableFinancialServices: false
  licenseAcceptEnableFileOperation: false

  # Name of system passphrase secret if available
  systemPassphraseSecret: 
  #FIPS compliance mode. specify values as true/false 
  enableFipsMode: false
  # NIST 800-131a compliance mode. Please enter one of these values - strict/transition/"off"
  nistComplianceMode: "off"

  # Provide the DB attributes
  dbVendor:
  dbHost:
  dbPort:
  dbData:
  dbDrivers:
  dbCreateSchema: true
  oracleUseServiceName: false
  # Values can be either true or false 
  usessl: false
  
  # Name of DB secret
  dbSecret:
  
  # Specify DB truststore file name including it's path relative to the mounted resources volume location, if applicable. Required when usessl is true.
  # When dbTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbTruststore:
  
  # Name of the DB truststore secret containing the certificate, if applicable
  dbTruststoreSecret:
  
  # Specify DB keystore file name including it's path relative to the mounted resources volume location, if applicable
  # When dbKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbKeystore:
  
  # Name of the DB keystore secret containing the certificate, if applicable
  dbKeystoreSecret:
    
  #Enable connection pool failover for HA databases
  connectionpoolFailoverEnable: false

  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the termination grace period in seconds for containers. Only numeric value is accepted.
  terminationGracePeriod: 30

  #WMQ
  #JMS properties are optional if jmsVendor is empty
  #To use IBMMQ for communication between ASI & AC, change property to jmsVendor: IBMMQ
  # and provide other connection details
  jmsVendor:
  # Provide the name of connection factory class. 
  jmsConnectionFactory:
  jmsConnectionFactoryInstantiator:
  jmsQueueName:
  jmsHost:
  jmsPort:
  jmsConnectionNameList:
  # Applicable for IBMMQ
  jmsChannel:
  jmsEnableSsl:
  
  # Name of JMS secret if available
  jmsSecret:
  
  # Specify JMS keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsKeystorePath:
  
  # Name of the JMS keystore secret containing the certificate, if applicable
  jmsKeystoreSecret:
  
  # Specify JMS truststore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsTruststorePath:
  
  # Name of the JMS truststore secret containing the certificate, if applicable
  jmsTruststoreSecret:

  # Applicable for IBMMQ
  jmsCiphersuite:
  # Applicable for IBMMQ
  jmsProtocol: TLSv1.2

  # Liberty Profile SSL Config. Specify Liberty keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # If libertyKeystoreSecret is mentioned, provide the name of the key holding the certificate data. 
  libertyKeystoreLocation:
  
  # Name of Liberty keystore secret containing the certificate, if applicable
  libertyKeystoreSecret:
  
  libertyProtocol: TLSv1.2
  
  # Name of Liberty secret if available
  libertySecret:

  #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
  #jvm options
  libertyJvmOptions:
 
  # Default document storage option. Can be set to one of the below values
  # DB - Database (default)
  # FS - File System
  # OS - Object Store 
  defaultDocumentStorageType: DB
 
  # restartCluster can be set to true to restart the application cluster by cleaning up all previous node entries, locks and set the schedules to node1.
  restartCluster: false

  # Enable SSL over RMI calls
  useSslForRmi: true

  # Name of the RMI Secret if available.
  rmiTlsSecretName:

  # SAP SNC configurations
  # Name of the secret holding SAP SNC PSE file and password along with the sapgenpse utility
  sapSncSecretName:
  # SAP SNC library vendor name. This is same as the vendor name configured on customization UI for the SAP SNC library.
  sapSncLibVendorName:
  # SAP SNC library version. Specify the value in quotes. This is same as the vendor version configured on customization UI for the SAP SNC library.
  sapSncLibVersion:
  # SAP SNC library name. This is same as the native library file name uploaded on customization UI for the SAP SNC library.
  sapSncLibName:  

  #CLA2 configurations
  launchClaServer: false

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35000
        targetPort: http
        nodePort: 30000
        protocol: TCP
      https: 
        name: https
        port: 35001
        targetPort: https
        nodePort: 30001
        protocol: TCP
      soa: 
        name: soa
        port: 35002
        targetPort: soa
        nodePort: 30002
        protocol: TCP
      soassl: 
        name: soassl
        port: 35003
        targetPort: soassl
        nodePort: 30003
        protocol: TCP
      restHttpAdapter: 
        name: rest-adapter
        port: 35007
        targetPort: rest-adapter
        nodePort: 30007
        protocol: TCP
      ops: 
        name: ops
        port: 35008
        targetPort: ops
        nodePort: 30008
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 46000
      # targetPort: http
      # nodePort: 30100
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30201
      #  targetPort: 30201
      #  nodePort: 30201
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30301-30400
      #  targetPortRange: 30301-30400
      #  nodePortRange: 30301-30400
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}
      
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 30
    periodSeconds: 60

  # command - command to be executed 
  # arg1, arg2.. - command arguments
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
     
  startupProbe:
    initialDelaySeconds: 120
    timeoutSeconds: 30
    periodSeconds: 60
    failureThreshold: 3
       
  internalAccess:
    enableHttps: true
    httpsPort:   
    tlsSecretName:  
      
  externalAccess:
    protocol: http
    address: 
    port:
    
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #asiLabel: asiValue
  
  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"

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  #If myFG is hosted on HTTP Server adapter on ASI server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:

  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
 #Configure basic tuning parameters for Performance tuning settings.
 #allocateMemToBI  - Allocate memory for BI Listeners, default is false.
 #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
 #allocateMemToCLA - Allocate memory for CLA adapters, default is false.
 #threadsPerCore   - Number of threads per core which usually helps in calculating Desired Global Threads and Distribution Cache Minimum.
 #override         - To override the suggested value by the system.
  performanceTuning:
    allocateMemToBI: false
    allocateMemToSAP: false
    allocateMemToCLA: false
    threadsPerCore: 4
    override: []
      #- NOAPP.INITIAL_CYCLES_7=53
      #- NOAPP.EXEC_CYCLE_7=53
      #- NOAPP.MIN_POOL_SIZE_7=0
      #- NOAPP.MAX_POOL_SIZE_7=13
      #- NOAPP.RESOURCE_ALLOCATION_7=93
  
  networkPolicies:
    ingress:
      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:
      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
      
ac:

  replicaCount: 1

  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2
    
    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35004
        targetPort: http
        nodePort: 30004
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 37000
      # targetPort: http
      # nodePort: 30200
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30401
      #  targetPort: 30401
      #  nodePort: 30401
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30501-30600
      #  targetPortRange: 30501-30600
      #  nodePortRange: 30501-30600
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {} 

  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2

  internalAccess:
    enableHttps: true
    tlsSecretName:
      
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"
  
  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:
  
  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #acLabel: acValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2

  #If myFG is hosted on HTTP Server adapter on AC server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
 
 #Configure basic tuning parameters for Performance tuning settings.
  #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
  performanceTuning:
    allocateMemToSAP: false
    
  networkPolicies:
    ingress:
      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:
      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
    
api:

  replicaCount: 1

  env:
    #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http:
        name: http
        port: 35005
        targetPort: http
        nodePort: 30005
        protocol: TCP
      https:
        name: https
        port: 35006
        targetPort: https
        nodePort: 30006
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 35000
      # targetPort: http
      # nodePort: 30300
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
      
  internalAccess:
    enableHttps: true
    tlsSecretName:

  externalAccess:
    protocol: http
    address: 
    port: 

  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 4Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 2Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60
    
  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #apiLabel: apiValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variables
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variables
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
  networkPolicies:
    ingress:
      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:
      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

nameOverride: ""

fullnameOverride: ""

# Test container
test:
  image:
    repository: 'cp.icr.io/cp/opencontent-common-utils'
    tag: '1.1.65'
    digest: sha256:1c72dee7fa67e738301efb7eea1b968ee668b6688d02a3e72cb8ef238ad8fcf7
    pullPolicy: 'IfNotPresent'

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.2.0.1"
    digest: sha256:7c256cff000301dd6300799d05a85d6142d62e296d14fc95c1db946716a5b62a
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}
  # Provide a schedule for the purge job as a cron expression. For example "0 0 * * *" will run the purge job at 00:00 every day
  schedule:
  startingDeadlineSeconds: 60
  activeDeadlineSeconds: 3600
  concurrencyPolicy: Forbid
  suspend: false
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
  
  internalAccess:
    enableHttps: true
    tlsSecretName: 

  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: 500m
      memory: 1Gi
      ephemeral-storage: "1Gi"
    requests:
      cpu: 100m
      memory: 500Mi 
      ephemeral-storage: "500Mi"
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution: []
    preferredDuringSchedulingIgnoredDuringExecution: []

documentService:
  enabled: false
  sslEnabled: true
  useGrpc: true
  readBufferSize: 32768
  grpcPoolSize: 150
  keepAliveGrpc: 300
  license: false
  replicaCount: 1
  image:
    repository: cp.icr.io/cp/ibm-b2bi/b2bi-documentservice
    pullPolicy: IfNotPresent
    tag: 1.0.0.1
    digest:
    pullSecret: ""
  serviceAccount:
    name: default
  application:
    server:
      ssl:
        enabled: true
        tlsSecretName:
        trustStoreSecretName:
        clientAuth: want
    logging:
      level: ERROR
  objectstore:
    name:
    endpoint:
    namespace:
    region:
    secretName:
    useKeysFromSecrets: false
  connectionPoolConfig:
    maxTotalConnections: 250
    maxConnectionsPerRoute: 100
    connectTimeout: 10000
    readTimeout: 60000
    idleTimeout: 60000
    idleMonitorThread: true
    waitTimeout: 30000
    keepAlive: 300000
    retryCount: 2
    disableContentCompression: true

Sample values.yaml file for v6.2.0.2

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

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

global:
  ## Set the value to True in order to accept the application license 
  ## B2BI @ https://ibm.biz/B2Bi_62
  ## SFG  @ https://ibm.biz/SFG_620
  license: false
  # Specify the license edition as per license agreement. Valid value is prod or non-prod for Production and 
  # Non-production respectively. Remember that this parameter is crucial for IBM Licensing and Metering Service
  licenseType: "prod"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.2.0.2"
  # If digest is specified, it takes precedence over tag
    digest: sha256:18535ab14b171138bd1528b715686b829371af702d758e002c0f3c903670fb81
    pullPolicy: IfNotPresent
    pullSecret: ""
  networkPolicies:
    ingress:
      enabled: true
      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: true
      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

# Specify architecture (amd64, ppc64le, s390x) and weight to be  used for scheduling as follows : 
# #   0 - Do not use
# #   1 - Least preferred
# #   2 - No Preference
# #   3 - Most preferred
arch:
  amd64: "2 - No Preference"
  ppc64le: "2 - No Preference"
  s390x: "2 - No Preference"

serviceAccount:
  name: default

resourcesInit:
  enabled: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-resources"
    tag: "6.2.0.2"
    digest: sha256:02bf6aa98eab350402edc156b026cc1ac9d5470d93a8de5ffa3a010d2293e83e
    pullPolicy: "IfNotPresent"
  command:

persistence:
  enabled: true
  useDynamicProvisioning: false

appResourcesPVC:
  enabled: true
  storageClassName: ""
  selector:
    label: "intent"
    value: "resources"
  accessMode: ReadOnlyMany
  size: 100Mi
  preDefinedResourcePVCName: 


appLogsPVC:
  storageClassName: ""
  selector:
    label: "intent"
    value: "logs"
  accessMode: ReadWriteMany
  size: 500Mi
  preDefinedLogsPVCName: 
  
appDocumentsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "documents"
  accessMode: ReadWriteMany
  size: 500Mi
  enableVolumeClaimPerPod: false
  preDefinedDocumentPVCName: 

extraPVCs: []
  #- name:
  #  storageClassName:
  #  selector:
  #    label:
  #    value:
  #  accessMode:
  #  size:
  #  mountPath:
  #  enableVolumeClaimPerPod: false
  #  predefinedPVCName:

security:
  supplementalGroups: [65534]
  fsGroup:
  fsGroupChangePolicy: "OnRootMismatch"
  runAsUser:
  runAsGroup: 

ingress:
  enabled: true
  controller: "nginx"
  annotations: {}
  port:

dataSetup:
  enabled: true
  upgrade: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-dbsetup"
    # Provide the tag value in double quotes
    tag: "6.2.0.2"
     # If digest is specified, it takes precedence over tag
    digest: sha256:738efece4445701ebec090b26fec6fb596cd5d5b2ac54e912bf38c3af488f000
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}

env:
  tz: "UTC"
  upgradeCompatibilityVerified: false
  debugMode: false
  extraEnvs: []
    #- name: FOO
    #  valueFrom:
    #    secretKeyRef:
    #      name: secret-name
    #      key: FOO
    #- name: BAR
    #  valueFrom:
    #    configMapKeyRef:
    #      name: configmap-name
    #      key: BAR
    #- name: FOOBAR
    #  value: foobar 
  
logs:

  # true if user wish to redirect the application logs to console else false. If provided value is true , then application logs will reside inside containers. No volume mapping will be used.
  enableAppLogOnConsole: true
      
  # In standalone kubernetes environment, if PodSecurityPolicy is enabled and no default PSPs are present then change the value below to true.      
applyPolicyToKubeSystem: false

integrations:
  seasIntegration:
    isEnabled: false
    seasVersion: "1.0"
  itxIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itx-rs"
      tag: "10.1.2.0.20231130"
      digest: "sha256:bc9b60086ca95a8ef6303be33cedabf475d10dd8ad161c75567f51d19aba13b8"
      pullPolicy: IfNotPresent
      pullSecret:
    dataPVC:
      name: itxdata
      useDynamicProvisioning: true  
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxdata"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedDataPVCName:
    logsPVC:
      name: itxlogs
      useDynamicProvisioning: true
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxlogs"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedLogsPVCName:
    # Logging settings
    log:
      includeHostInLogNames: true
      jniLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
      cmgrLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
  # Integration with ITXA Certified Container edition is supported only for release version 10.0.1.8 onwards
  itxaIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itxa/itxa-runtime"
      tag: "10.0.1.9-x86_64"
      digest: sha256:d9deb24f62fdcc417b5b61ab320c5145a5e258009cc0f557a666f67d3b553bfe
      pullPolicy: IfNotPresent
      pullSecret:
    appSecret: "itxa-oracle-secrets"
    secureDBConnection:
      enabled: false
      dbservercertsecretname: ""
    persistence:
      claims:
        name: itxa-logs-pvc
    sso:
      host: "speui.apps.openshift.in.dev"
      port: 443
      ssl:
        enabled: true
    resourcesInit:
      enabled: true
      image:
        repository: "cp.icr.io/cp/ibm-itxa/itxa-resources"
        tag: "10.0.1.9-x86_64"
        digest: sha256:674198e0dbed8251b630aa163a8934e3b2a5b0426c0fa95cadfb7567f0410ccc
        pullPolicy: "IfNotPresent"

#setup.cfg configuration starts here. Property names must follow camelCase format.
setupCfg:
  #Upgrade
  #upgrade: false
  basePort: 50000
  #License - specify values as true/false
  licenseAcceptEnableSfg: false
  licenseAcceptEnableEbics: false
  licenseAcceptEnableFinancialServices: false
  licenseAcceptEnableFileOperation: false

  # Name of system passphrase secret if available
  systemPassphraseSecret: 
  #FIPS compliance mode. specify values as true/false 
  enableFipsMode: false
  # NIST 800-131a compliance mode. Please enter one of these values - strict/transition/"off"
  nistComplianceMode: "off"

  # Provide the DB attributes
  dbVendor:
  dbHost:
  dbPort:
  dbData:
  dbDrivers:
  dbCreateSchema: true
  oracleUseServiceName: false
  # Values can be either true or false 
  usessl: false
  
  # Name of DB secret
  dbSecret:
  
  # Specify DB truststore file name including it's path relative to the mounted resources volume location, if applicable. Required when usessl is true.
  # When dbTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbTruststore:
  
  # Name of the DB truststore secret containing the certificate, if applicable
  dbTruststoreSecret:
  
  # Specify DB keystore file name including it's path relative to the mounted resources volume location, if applicable
  # When dbKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbKeystore:
  
  # Name of the DB keystore secret containing the certificate, if applicable
  dbKeystoreSecret:
    
  #Enable connection pool failover for HA databases
  connectionpoolFailoverEnable: false

  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the termination grace period in seconds for containers. Only numeric value is accepted.
  terminationGracePeriod: 30

  #WMQ
  #JMS properties are optional if jmsVendor is empty
  #To use IBMMQ for communication between ASI & AC, change property to jmsVendor: IBMMQ
  # and provide other connection details
  jmsVendor:
  # Provide the name of connection factory class. 
  jmsConnectionFactory:
  jmsConnectionFactoryInstantiator:
  jmsQueueName:
  jmsHost:
  jmsPort:
  jmsConnectionNameList:
  # Applicable for IBMMQ
  jmsChannel:
  jmsEnableSsl:
  
  # Name of JMS secret if available
  jmsSecret:
  
  # Specify JMS keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsKeystorePath:
  
  # Name of the JMS keystore secret containing the certificate, if applicable
  jmsKeystoreSecret:
  
  # Specify JMS truststore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsTruststorePath:
  
  # Name of the JMS truststore secret containing the certificate, if applicable
  jmsTruststoreSecret:

  # Applicable for IBMMQ
  jmsCiphersuite:
  # Applicable for IBMMQ
  jmsProtocol: TLSv1.2

  # Liberty Profile SSL Config. Specify Liberty keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # If libertyKeystoreSecret is mentioned, provide the name of the key holding the certificate data. 
  libertyKeystoreLocation:
  
  # Name of Liberty keystore secret containing the certificate, if applicable
  libertyKeystoreSecret:
  
  libertyProtocol: TLSv1.2
  
  # Name of Liberty secret if available
  libertySecret:

  #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
  #jvm options
  libertyJvmOptions:
 
  # Default document storage option. Can be set to one of the below values
  # DB - Database (default)
  # FS - File System
  # OS - Object Store 
  defaultDocumentStorageType: DB
 
  # restartCluster can be set to true to restart the application cluster by cleaning up all previous node entries, locks and set the schedules to node1.
  restartCluster: false

  # Enable SSL over RMI calls
  useSslForRmi: true

  # Name of the RMI Secret if available.
  rmiTlsSecretName:

  # SAP SNC configurations
  # Name of the secret holding SAP SNC PSE file and password along with the sapgenpse utility
  sapSncSecretName:
  # SAP SNC library vendor name. This is same as the vendor name configured on customization UI for the SAP SNC library.
  sapSncLibVendorName:
  # SAP SNC library version. Specify the value in quotes. This is same as the vendor version configured on customization UI for the SAP SNC library.
  sapSncLibVersion:
  # SAP SNC library name. This is same as the native library file name uploaded on customization UI for the SAP SNC library.
  sapSncLibName:  

  #CLA2 configurations
  launchClaServer: false

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35000
        targetPort: http
        nodePort: 30000
        protocol: TCP
      https: 
        name: https
        port: 35001
        targetPort: https
        nodePort: 30001
        protocol: TCP
      soa: 
        name: soa
        port: 35002
        targetPort: soa
        nodePort: 30002
        protocol: TCP
      soassl: 
        name: soassl
        port: 35003
        targetPort: soassl
        nodePort: 30003
        protocol: TCP
      restHttpAdapter: 
        name: rest-adapter
        port: 35007
        targetPort: rest-adapter
        nodePort: 30007
        protocol: TCP
      ops: 
        name: ops
        port: 35008
        targetPort: ops
        nodePort: 30008
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 46000
      # targetPort: http
      # nodePort: 30100
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30201
      #  targetPort: 30201
      #  nodePort: 30201
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30301-30400
      #  targetPortRange: 30301-30400
      #  nodePortRange: 30301-30400
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}
      
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 30
    periodSeconds: 60

  # command - command to be executed 
  # arg1, arg2.. - command arguments
  readinessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
     
  startupProbe:
    initialDelaySeconds: 300
    timeoutSeconds: 30
    periodSeconds: 60
    failureThreshold: 6
       
  internalAccess:
    enableHttps: true
    httpsPort:   
    tlsSecretName:  
      
  externalAccess:
    protocol: http
    address: 
    port:
    
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #asiLabel: asiValue
  
  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"

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  #If myFG is hosted on HTTP Server adapter on ASI server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:

  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
 #Configure basic tuning parameters for Performance tuning settings.
 #allocateMemToBI  - Allocate memory for BI Listeners, default is false.
 #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
 #allocateMemToCLA - Allocate memory for CLA adapters, default is false.
 #threadsPerCore   - Number of threads per core which usually helps in calculating Desired Global Threads and Distribution Cache Minimum.
 #override         - To override the suggested value by the system.
  performanceTuning:
    allocateMemToBI: false
    allocateMemToSAP: false
    allocateMemToCLA: false
    threadsPerCore: 4
    override: []
      #- NOAPP.INITIAL_CYCLES_7=53
      #- NOAPP.EXEC_CYCLE_7=53
      #- NOAPP.MIN_POOL_SIZE_7=0
      #- NOAPP.MAX_POOL_SIZE_7=13
      #- NOAPP.RESOURCE_ALLOCATION_7=93
  
  networkPolicies:
    ingress:
      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:
      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
      
ac:

  replicaCount: 1

  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2
    
    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35004
        targetPort: http
        nodePort: 30004
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 37000
      # targetPort: http
      # nodePort: 30200
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30401
      #  targetPort: 30401
      #  nodePort: 30401
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30501-30600
      #  targetPortRange: 30501-30600
      #  nodePortRange: 30501-30600
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {} 

  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2

  internalAccess:
    enableHttps: true
    tlsSecretName:
      
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"
  
  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:
  
  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #acLabel: acValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2

  #If myFG is hosted on HTTP Server adapter on AC server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
 
 #Configure basic tuning parameters for Performance tuning settings.
  #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
  performanceTuning:
    allocateMemToSAP: false
    
  networkPolicies:
    ingress:
      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:
      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
    
api:

  replicaCount: 1

  env:
    #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http:
        name: http
        port: 35005
        targetPort: http
        nodePort: 30005
        protocol: TCP
      https:
        name: https
        port: 35006
        targetPort: https
        nodePort: 30006
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 35000
      # targetPort: http
      # nodePort: 30300
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
      
  internalAccess:
    enableHttps: true
    tlsSecretName:

  externalAccess:
    protocol: http
    address: 
    port: 

  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 4Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 2Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60
    
  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #apiLabel: apiValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variables
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variables
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
  networkPolicies:
    ingress:
      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:
      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

nameOverride: ""

fullnameOverride: ""

# Test container
test:
  image:
    repository: 'cp.icr.io/cp/opencontent-common-utils'
    tag: '1.1.65'
    digest: sha256:1c72dee7fa67e738301efb7eea1b968ee668b6688d02a3e72cb8ef238ad8fcf7
    pullPolicy: 'IfNotPresent'

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.2.0.2"
    digest: sha256:f2b3c113d0bbc4967d9248b241e33b67ca16a20bb0807ac17bfb5a6c13802a27
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}
  # Provide a schedule for the purge job as a cron expression. For example "0 0 * * *" will run the purge job at 00:00 every day
  schedule:
  startingDeadlineSeconds: 60
  activeDeadlineSeconds: 3600
  concurrencyPolicy: Forbid
  suspend: false
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
  
  internalAccess:
    enableHttps: true
    tlsSecretName: 

  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: 500m
      memory: 1Gi
      ephemeral-storage: "1Gi"
    requests:
      cpu: 100m
      memory: 500Mi 
      ephemeral-storage: "500Mi"
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution: []
    preferredDuringSchedulingIgnoredDuringExecution: []

documentService:
  enabled: false
  sslEnabled: true
  useGrpc: true
  readBufferSize: 32768
  grpcPoolSize: 150
  keepAliveGrpc: 300
  license: false
  replicaCount: 1
  image:
    repository: cp.icr.io/cp/ibm-b2bi/b2bi-documentservice
    pullPolicy: IfNotPresent
    tag: 1.0.0.2
    digest:
    pullSecret: ""
  serviceAccount:
    name: default
  application:
    server:
      ssl:
        enabled: true
        tlsSecretName:
        trustStoreSecretName:
        clientAuth: want
    logging:
      level: ERROR
  objectstore:
    name:
    endpoint:
    namespace:
    region:
    secretName:
    useKeysFromSecrets: false
  connectionPoolConfig:
    maxTotalConnections: 250
    maxConnectionsPerRoute: 100
    connectTimeout: 10000
    readTimeout: 60000
    idleTimeout: 60000
    idleMonitorThread: true
    waitTimeout: 30000
    keepAlive: 300000
    retryCount: 2
    disableContentCompression: true

Sample values.yaml file for v6.2.0.3

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

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

global:
  ## Set the value to True in order to accept the application license 
  ## B2BI @ https://ibm.biz/B2Bi_62
  ## SFG  @ https://ibm.biz/SFG_620
  license: false
  # Specify the license edition as per license agreement. Valid value is prod or non-prod for Production and 
  # Non-production respectively. Remember that this parameter is crucial for IBM Licensing and Metering Service
  licenseType: "prod"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.2.0.3"
  # If digest is specified, it takes precedence over tag
    digest: sha256:e98c51bf25400c00b09cfcf4e34b4a20862657c56d8c5dede3c226bdaffc73f6
    pullPolicy: IfNotPresent
    pullSecret: ""
  networkPolicies:
    ingress:
      enabled: true
      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: true
      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

# Specify architecture (amd64, ppc64le, s390x) and weight to be  used for scheduling as follows : 
# #   0 - Do not use
# #   1 - Least preferred
# #   2 - No Preference
# #   3 - Most preferred
arch:
  amd64: "2 - No Preference"
  ppc64le: "2 - No Preference"
  s390x: "2 - No Preference"

serviceAccount:
  name: default

resourcesInit:
  enabled: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-resources"
    tag: "6.2.0.3"
    digest: sha256:1f27acb485d01807fd39922ddf43f4d61d27a993c3d628ea4451c7e4c304414b
    pullPolicy: "IfNotPresent"
  command:

persistence:
  enabled: true
  useDynamicProvisioning: false

appResourcesPVC:
  enabled: true
  storageClassName: ""
  selector:
    label: "intent"
    value: "resources"
  accessMode: ReadOnlyMany
  size: 100Mi
  preDefinedResourcePVCName: 


appLogsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "logs"
  accessMode: ReadWriteMany
  size: 500Mi
  preDefinedLogsPVCName: 
  
appDocumentsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "documents"
  accessMode: ReadWriteMany
  size: 500Mi
  enableVolumeClaimPerPod: false
  preDefinedDocumentPVCName: 

extraPVCs: []
  #- name:
  #  storageClassName:
  #  selector:
  #    label:
  #    value:
  #  accessMode:
  #  size:
  #  mountPath:
  #  subPath:
  #  enableVolumeClaimPerPod: false
  #  predefinedPVCName:

security:
  supplementalGroups: [65534]
  fsGroup:
  fsGroupChangePolicy: "OnRootMismatch"
  runAsUser:
  runAsGroup: 

ingress:
  enabled: true
  controller: "nginx"
  annotations: {}
  port:

dataSetup:
  enabled: true
  upgrade: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-dbsetup"
    # Provide the tag value in double quotes
    tag: "6.2.0.3"
     # If digest is specified, it takes precedence over tag
    digest: sha256:9443f6094836f9a53734d2d85882fa521ce61c6d9e78092ec28c7ac6eff9336e
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}

env:
  tz: "UTC"
  upgradeCompatibilityVerified: false
  debugMode: false
  extraEnvs: []
    #- name: FOO
    #  valueFrom:
    #    secretKeyRef:
    #      name: secret-name
    #      key: FOO
    #- name: BAR
    #  valueFrom:
    #    configMapKeyRef:
    #      name: configmap-name
    #      key: BAR
    #- name: FOOBAR
    #  value: foobar 
  
logs:

  # true if user wish to redirect the application logs to console else false. If provided value is true , then application logs will reside inside containers. No volume mapping will be used.
  enableAppLogOnConsole: true
      
  # In standalone kubernetes environment, if PodSecurityPolicy is enabled and no default PSPs are present then change the value below to true.      
applyPolicyToKubeSystem: false

integrations:
  seasIntegration:
    isEnabled: false
    seasVersion: "1.0"
  itxIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itx-rs"
      tag: "10.1.2.0.20231130"
      digest: "sha256:bc9b60086ca95a8ef6303be33cedabf475d10dd8ad161c75567f51d19aba13b8"
      pullPolicy: IfNotPresent
      pullSecret:
    dataPVC:
      name: itxdata
      useDynamicProvisioning: true  
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxdata"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedDataPVCName:
    logsPVC:
      name: itxlogs
      useDynamicProvisioning: true
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxlogs"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedLogsPVCName:
    # Logging settings
    log:
      includeHostInLogNames: true
      jniLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
      cmgrLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
  # Integration with ITXA Certified Container edition is supported only for release version 10.0.1.9 onwards
  itxaIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itxa/itxa-runtime"
      tag: "10.0.1.9-x86_64"
      digest: sha256:d9deb24f62fdcc417b5b61ab320c5145a5e258009cc0f557a666f67d3b553bfe
      pullPolicy: IfNotPresent
      pullSecret:
    appSecret: "itxa-oracle-secrets"
    secureDBConnection:
      enabled: false
      dbservercertsecretname: ""
    persistence:
      claims:
        name: itxa-logs-pvc
    sso:
      host: "speui.apps.openshift.in.dev"
      port: 443
      ssl:
        enabled: true
    resourcesInit:
      enabled: true
      image:
        repository: "cp.icr.io/cp/ibm-itxa/itxa-resources"
        tag: "10.0.1.9-x86_64"
        digest: sha256:674198e0dbed8251b630aa163a8934e3b2a5b0426c0fa95cadfb7567f0410ccc
        pullPolicy: "IfNotPresent"

#setup.cfg configuration starts here. Property names must follow camelCase format.
setupCfg:
  #Upgrade
  #upgrade: false
  basePort: 50000
  #License - specify values as true/false
  licenseAcceptEnableSfg: false
  licenseAcceptEnableEbics: false
  licenseAcceptEnableFinancialServices: false
  licenseAcceptEnableFileOperation: false

  # Name of system passphrase secret if available
  systemPassphraseSecret: 
  #FIPS compliance mode. specify values as true/false 
  enableFipsMode: false
  # NIST 800-131a compliance mode. Please enter one of these values - strict/transition/"off"
  nistComplianceMode: "off"

  # Provide the DB attributes
  dbVendor:
  dbHost:
  dbPort:
  dbData:
  dbDrivers:
  dbCreateSchema: true
  oracleUseServiceName: false
  # Values can be either true or false 
  usessl: false
  
  # Name of DB secret
  dbSecret:
  
  # Specify DB truststore file name including it's path relative to the mounted resources volume location, if applicable. Required when usessl is true.
  # When dbTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbTruststore:
  
  # Name of the DB truststore secret containing the certificate, if applicable
  dbTruststoreSecret:
  
  # Specify DB keystore file name including it's path relative to the mounted resources volume location, if applicable
  # When dbKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbKeystore:
  
  # Name of the DB keystore secret containing the certificate, if applicable
  dbKeystoreSecret:
    
  #Enable connection pool failover for HA databases
  connectionpoolFailoverEnable: false

  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the termination grace period in seconds for containers. Only numeric value is accepted.
  terminationGracePeriod: 30

  #WMQ
  #JMS properties are optional if jmsVendor is empty
  #To use IBMMQ for communication between ASI & AC, change property to jmsVendor: IBMMQ
  # and provide other connection details
  jmsVendor:
  # Provide the name of connection factory class. 
  jmsConnectionFactory:
  jmsConnectionFactoryInstantiator:
  jmsQueueName:
  jmsHost:
  jmsPort:
  jmsConnectionNameList:
  # Applicable for IBMMQ
  jmsChannel:
  jmsEnableSsl:
  
  # Name of JMS secret if available
  jmsSecret:
  
  # Specify JMS keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsKeystorePath:
  
  # Name of the JMS keystore secret containing the certificate, if applicable
  jmsKeystoreSecret:
  
  # Specify JMS truststore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsTruststorePath:
  
  # Name of the JMS truststore secret containing the certificate, if applicable
  jmsTruststoreSecret:

  # Applicable for IBMMQ
  jmsCiphersuite:
  # Applicable for IBMMQ
  jmsProtocol: TLSv1.2

  # Liberty Profile SSL Config. Specify Liberty keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # If libertyKeystoreSecret is mentioned, provide the name of the key holding the certificate data. 
  libertyKeystoreLocation:
  
  # Name of Liberty keystore secret containing the certificate, if applicable
  libertyKeystoreSecret:
  
  libertyProtocol: TLSv1.2
  
  # Name of Liberty secret if available
  libertySecret:

  #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
  #jvm options
  libertyJvmOptions:
 
  # Default document storage option. Can be set to one of the below values
  # DB - Database (default)
  # FS - File System
  # OS - Object Store 
  defaultDocumentStorageType: DB
 
  # restartCluster can be set to true to restart the application cluster by cleaning up all previous node entries, locks and set the schedules to node1.
  restartCluster: false

  # Enable SSL over RMI calls
  useSslForRmi: true

  # Name of the RMI Secret if available.
  rmiTlsSecretName:

  # SAP SNC configurations
  # Name of the secret holding SAP SNC PSE file and password along with the sapgenpse utility
  sapSncSecretName:
  # SAP SNC library vendor name. This is same as the vendor name configured on customization UI for the SAP SNC library.
  sapSncLibVendorName:
  # SAP SNC library version. Specify the value in quotes. This is same as the vendor version configured on customization UI for the SAP SNC library.
  sapSncLibVersion:
  # SAP SNC library name. This is same as the native library file name uploaded on customization UI for the SAP SNC library.
  sapSncLibName:  

  #CLA2 configurations
  launchClaServer: false

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35000
        targetPort: http
        nodePort: 30000
        protocol: TCP
      https: 
        name: https
        port: 35001
        targetPort: https
        nodePort: 30001
        protocol: TCP
      soa: 
        name: soa
        port: 35002
        targetPort: soa
        nodePort: 30002
        protocol: TCP
      soassl: 
        name: soassl
        port: 35003
        targetPort: soassl
        nodePort: 30003
        protocol: TCP
      restHttpAdapter: 
        name: rest-adapter
        port: 35007
        targetPort: rest-adapter
        nodePort: 30007
        protocol: TCP
      ops: 
        name: ops
        port: 35008
        targetPort: ops
        nodePort: 30008
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 46000
      # targetPort: http
      # nodePort: 30100
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30201
      #  targetPort: 30201
      #  nodePort: 30201
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30301-30400
      #  targetPortRange: 30301-30400
      #  nodePortRange: 30301-30400
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}
      
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 30
    periodSeconds: 60

  # command - command to be executed 
  # arg1, arg2.. - command arguments
  readinessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
     
  startupProbe:
    initialDelaySeconds: 300
    timeoutSeconds: 30
    periodSeconds: 60
    failureThreshold: 6
       
  internalAccess:
    enableHttps: true
    httpsPort:   
    tlsSecretName:  
      
  externalAccess:
    protocol: http
    address: 
    port:
    
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #asiLabel: asiValue
  
  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"

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  #If myFG is hosted on HTTP Server adapter on ASI server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:

  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
 #Configure basic tuning parameters for Performance tuning settings.
 #allocateMemToBI  - Allocate memory for BI Listeners, default is false.
 #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
 #allocateMemToCLA - Allocate memory for CLA adapters, default is false.
 #threadsPerCore   - Number of threads per core which usually helps in calculating Desired Global Threads and Distribution Cache Minimum.
 #override         - To override the suggested value by the system.
  performanceTuning:
    allocateMemToBI: false
    allocateMemToSAP: false
    allocateMemToCLA: false
    threadsPerCore: 4
    override: []
      #- NOAPP.INITIAL_CYCLES_7=53
      #- NOAPP.EXEC_CYCLE_7=53
      #- NOAPP.MIN_POOL_SIZE_7=0
      #- NOAPP.MAX_POOL_SIZE_7=13
      #- NOAPP.RESOURCE_ALLOCATION_7=93
  
  networkPolicies:
    ingress:
      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:
      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
      
ac:

  replicaCount: 1

  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2
    
    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35004
        targetPort: http
        nodePort: 30004
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 37000
      # targetPort: http
      # nodePort: 30200
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30401
      #  targetPort: 30401
      #  nodePort: 30401
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30501-30600
      #  targetPortRange: 30501-30600
      #  nodePortRange: 30501-30600
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {} 

  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2

  internalAccess:
    enableHttps: true
    tlsSecretName:
      
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"
  
  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:
  
  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #acLabel: acValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2

  #If myFG is hosted on HTTP Server adapter on AC server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
 
 #Configure basic tuning parameters for Performance tuning settings.
  #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
  performanceTuning:
    allocateMemToSAP: false
    
  networkPolicies:
    ingress:
      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:
      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
    
api:

  replicaCount: 1

  env:
    #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http:
        name: http
        port: 35005
        targetPort: http
        nodePort: 30005
        protocol: TCP
      https:
        name: https
        port: 35006
        targetPort: https
        nodePort: 30006
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 35000
      # targetPort: http
      # nodePort: 30300
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
      
  internalAccess:
    enableHttps: true
    tlsSecretName:

  externalAccess:
    protocol: http
    address: 
    port: 

  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath: 
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 4Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 2Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60
    
  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #apiLabel: apiValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variables
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variables
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
  networkPolicies:
    ingress:
      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:
      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

nameOverride: ""

fullnameOverride: ""

# Test container
test:
  image:
    repository: 'cp.icr.io/cp/opencontent-common-utils'
    tag: '1.1.66'
    digest: sha256:1c72dee7fa67e738301efb7eea1b968ee668b6688d02a3e72cb8ef238ad8fcf7
    pullPolicy: 'IfNotPresent'

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.2.0.3"
    digest: sha256:7c256cff000301dd6300799d05a85d6142d62e296d14fc95c1db946716a5b62a
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}
  # Provide a schedule for the purge job as a cron expression. For example "0 0 * * *" will run the purge job at 00:00 every day
  schedule:
  startingDeadlineSeconds: 60
  activeDeadlineSeconds: 3600
  concurrencyPolicy: Forbid
  suspend: false
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
  
  internalAccess:
    enableHttps: true
    tlsSecretName: 

  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: 500m
      memory: 1Gi
      ephemeral-storage: "1Gi"
    requests:
      cpu: 100m
      memory: 500Mi 
      ephemeral-storage: "500Mi"
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution: []
    preferredDuringSchedulingIgnoredDuringExecution: []

documentService:
  enabled: false
  sslEnabled: true
  useGrpc: true
  readBufferSize: 32768
  grpcPoolSize: 150
  keepAliveGrpc: 300
  license: false
  replicaCount: 1
  image:
    repository: cp.icr.io/cp/ibm-b2bi/b2bi-documentservice
    pullPolicy: IfNotPresent
    tag: 1.0.0.3
    digest:
    pullSecret: ""
  serviceAccount:
    name: default
  application:
    server:
      ssl:
        enabled: true
        tlsSecretName:
        trustStoreSecretName:
        clientAuth: want
    logging:
      level: ERROR
  objectstore:
    name:
    endpoint:
    namespace:
    region:
    secretName:
    useKeysFromSecrets: false
  connectionPoolConfig:
    maxTotalConnections: 250
    maxConnectionsPerRoute: 100
    connectTimeout: 10000
    readTimeout: 60000
    idleTimeout: 60000
    idleMonitorThread: true
    waitTimeout: 30000
    keepAlive: 300000
    retryCount: 2
    disableContentCompression: true

Sample values.yaml file for v6.2.0.4

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

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

global:
  ## Set the value to True in order to accept the application license 
  ## B2BI @ https://ibm.biz/B2Bi_62
  ## SFG  @ https://ibm.biz/SFG_620
  license: false
  # Specify the license edition as per license agreement. Valid value is prod or non-prod for Production and 
  # Non-production respectively. Remember that this parameter is crucial for IBM Licensing and Metering Service
  licenseType: "prod"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.2.0.4"
  # If digest is specified, it takes precedence over tag
    digest: sha256:e98c51bf25400c00b09cfcf4e34b4a20862657c56d8c5dede3c226bdaffc73f6
    pullPolicy: IfNotPresent
    pullSecret: ""
  networkPolicies:
    ingress:
      enabled: true
      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: true
      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

# Specify architecture (amd64, ppc64le, s390x) and weight to be  used for scheduling as follows : 
# #   0 - Do not use
# #   1 - Least preferred
# #   2 - No Preference
# #   3 - Most preferred
arch:
  amd64: "2 - No Preference"
  ppc64le: "2 - No Preference"
  s390x: "2 - No Preference"

serviceAccount:
  name: default

resourcesInit:
  enabled: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-resources"
    tag: "6.2.0.4"
    digest: sha256:1f27acb485d01807fd39922ddf43f4d61d27a993c3d628ea4451c7e4c304414b
    pullPolicy: "IfNotPresent"
  command:

customizationInit:
  enabled: false
  dataSetup:
    enabled: false
    # mention custom service package names to be included for DB setup. It could be set to all (default), none or comma separated list of packages
    includeServicePackages: "all"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-customization"
    tag: "6.2.0.4"
    digest: sha256:f0f02d4fff34b1cae8e9b99b31c1290fa56667f6c25d69528e38ba91c6571fb6
    pullPolicy: "IfNotPresent"
  command:

persistence:
  enabled: true
  useDynamicProvisioning: false

appResourcesPVC:
  enabled: true
  storageClassName: ""
  selector:
    label: "intent"
    value: "resources"
  accessMode: ReadOnlyMany
  size: 100Mi
  preDefinedResourcePVCName: 


appLogsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "logs"
  accessMode: ReadWriteMany
  size: 500Mi
  preDefinedLogsPVCName: 
  
appDocumentsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "documents"
  accessMode: ReadWriteMany
  size: 500Mi
  enableVolumeClaimPerPod: false
  preDefinedDocumentPVCName: 

extraPVCs: []
  #- name:
  #  storageClassName:
  #  selector:
  #    label:
  #    value:
  #  accessMode:
  #  size:
  #  mountPath:
  #  subPath:
  #  enableVolumeClaimPerPod: false
  #  predefinedPVCName:

security:
  supplementalGroups: [65534]
  fsGroup:
  fsGroupChangePolicy: "OnRootMismatch"
  runAsUser:
  runAsGroup: 

ingress:
  enabled: true
  controller: "nginx"
  annotations: {}
  port:

dataSetup:
  enabled: true
  upgrade: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-dbsetup"
    # Provide the tag value in double quotes
    tag: "6.2.0.4"
     # If digest is specified, it takes precedence over tag
    digest: sha256:9443f6094836f9a53734d2d85882fa521ce61c6d9e78092ec28c7ac6eff9336e
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}

env:
  tz: "UTC"
  upgradeCompatibilityVerified: false
  debugMode: false
  extraEnvs: []
    #- name: FOO
    #  valueFrom:
    #    secretKeyRef:
    #      name: secret-name
    #      key: FOO
    #- name: BAR
    #  valueFrom:
    #    configMapKeyRef:
    #      name: configmap-name
    #      key: BAR
    #- name: FOOBAR
    #  value: foobar 
  
logs:

  # true if user wish to redirect the application logs to console else false. If provided value is true , then application logs will reside inside containers. No volume mapping will be used.
  enableAppLogOnConsole: true
      
  # In standalone kubernetes environment, if PodSecurityPolicy is enabled and no default PSPs are present then change the value below to true.      
applyPolicyToKubeSystem: false

integrations:
  seasIntegration:
    isEnabled: false
    seasVersion: "1.0"
  itxIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itx-rs"
      tag: "10.1.2.1.20241122"
      digest: "sha256:4eb8c73e110291455cfa93696da6ac98dca261fccf5d2de458dac5e54aa7542e"
      pullPolicy: IfNotPresent
      pullSecret:
    dataPVC:
      name: itxdata
      useDynamicProvisioning: true  
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxdata"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedDataPVCName:
    logsPVC:
      name: itxlogs
      useDynamicProvisioning: true
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxlogs"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedLogsPVCName:
    # Logging settings
    log:
      includeHostInLogNames: true
      jniLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
      cmgrLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
  # Integration with ITXA Certified Container edition is supported only for release version 10.0.1.9 onwards
  itxaIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itxa/itxa-runtime"
      tag: "10.0.1.10-x86_64"
      digest: sha256:7c918383f446d1f7b5c1bd095429150445d5643eddd320028502c9551912eb1e
      pullPolicy: IfNotPresent
      pullSecret:
    appSecret: "itxa-oracle-secrets"
    secureDBConnection:
      enabled: false
      dbservercertsecretname: ""
    persistence:
      claims:
        name: itxa-logs-pvc
    sso:
      host: "speui.apps.openshift.in.dev"
      port: 443
      ssl:
        enabled: true
    resourcesInit:
      enabled: true
      image:
        repository: "cp.icr.io/cp/ibm-itxa/itxa-resources"
        tag: "10.0.1.10-x86_64"
        digest: sha256:0ed720bf99ff145abdafbd306d3bc8083e805fe21154f40125891db1ad374e37
        pullPolicy: "IfNotPresent"

#setup.cfg configuration starts here. Property names must follow camelCase format.
setupCfg:
  #Upgrade
  #upgrade: false
  basePort: 50000
  #License - specify values as true/false
  licenseAcceptEnableSfg: false
  licenseAcceptEnableEbics: false
  licenseAcceptEnableFinancialServices: false
  licenseAcceptEnableFileOperation: false

  # Name of system passphrase secret if available
  systemPassphraseSecret: 
  #FIPS compliance mode. specify values as true/false 
  enableFipsMode: false
  # NIST 800-131a compliance mode. Please enter one of these values - strict/transition/"off"
  nistComplianceMode: "off"

  # Provide the DB attributes
  dbVendor:
  dbHost:
  dbPort:
  dbData:
  dbDrivers:
  dbCreateSchema: true
  oracleUseServiceName: false
  # Values can be either true or false 
  usessl: false
  
  # Name of DB secret
  dbSecret:
  
  # Specify DB truststore file name including it's path relative to the mounted resources volume location, if applicable. Required when usessl is true.
  # When dbTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbTruststore:
  
  # Name of the DB truststore secret containing the certificate, if applicable
  dbTruststoreSecret:
  
  # Specify DB keystore file name including it's path relative to the mounted resources volume location, if applicable
  # When dbKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbKeystore:
  
  # Name of the DB keystore secret containing the certificate, if applicable
  dbKeystoreSecret:
    
  #Enable connection pool failover for HA databases
  connectionpoolFailoverEnable: false

  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the termination grace period in seconds for containers. Only numeric value is accepted.
  terminationGracePeriod: 30

  #WMQ
  #JMS properties are optional if jmsVendor is empty
  #To use IBMMQ for communication between ASI & AC, change property to jmsVendor: IBMMQ
  # and provide other connection details
  jmsVendor:
  # Provide the name of connection factory class. 
  jmsConnectionFactory:
  jmsConnectionFactoryInstantiator:
  jmsQueueName:
  jmsHost:
  jmsPort:
  jmsConnectionNameList:
  # Applicable for IBMMQ
  jmsChannel:
  jmsEnableSsl:
  
  # Name of JMS secret if available
  jmsSecret:
  
  # Specify JMS keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsKeystorePath:
  
  # Name of the JMS keystore secret containing the certificate, if applicable
  jmsKeystoreSecret:
  
  # Specify JMS truststore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsTruststorePath:
  
  # Name of the JMS truststore secret containing the certificate, if applicable
  jmsTruststoreSecret:

  # Applicable for IBMMQ
  jmsCiphersuite:
  # Applicable for IBMMQ
  jmsProtocol: TLSv1.2

  # Liberty Profile SSL Config. Specify Liberty keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # If libertyKeystoreSecret is mentioned, provide the name of the key holding the certificate data. 
  libertyKeystoreLocation:
  
  # Name of Liberty keystore secret containing the certificate, if applicable
  libertyKeystoreSecret:
  
  libertyProtocol: TLSv1.2
  
  # Name of Liberty secret if available
  libertySecret:

  #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
  #jvm options
  libertyJvmOptions:
 
  # Default document storage option. Can be set to one of the below values
  # DB - Database (default)
  # FS - File System
  # OS - Object Store 
  defaultDocumentStorageType: DB
 
  # restartCluster can be set to true to restart the application cluster by cleaning up all previous node entries, locks and set the schedules to node1.
  restartCluster: false

  # Enable SSL over RMI calls
  useSslForRmi: true

  # Name of the RMI Secret if available.
  rmiTlsSecretName:

  # SAP SNC configurations
  # Name of the secret holding SAP SNC PSE file and password along with the sapgenpse utility
  sapSncSecretName:
  # SAP SNC library vendor name. This is same as the vendor name configured on customization UI for the SAP SNC library.
  sapSncLibVendorName:
  # SAP SNC library version. Specify the value in quotes. This is same as the vendor version configured on customization UI for the SAP SNC library.
  sapSncLibVersion:
  # SAP SNC library name. This is same as the native library file name uploaded on customization UI for the SAP SNC library.
  sapSncLibName:  

  #CLA2 configurations
  launchClaServer: false

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35000
        targetPort: http
        nodePort: 30000
        protocol: TCP
      https: 
        name: https
        port: 35001
        targetPort: https
        nodePort: 30001
        protocol: TCP
      soa: 
        name: soa
        port: 35002
        targetPort: soa
        nodePort: 30002
        protocol: TCP
      soassl: 
        name: soassl
        port: 35003
        targetPort: soassl
        nodePort: 30003
        protocol: TCP
      restHttpAdapter: 
        name: rest-adapter
        port: 35007
        targetPort: rest-adapter
        nodePort: 30007
        protocol: TCP
      ops: 
        name: ops
        port: 35008
        targetPort: ops
        nodePort: 30008
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 46000
      # targetPort: http
      # nodePort: 30100
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30201
      #  targetPort: 30201
      #  nodePort: 30201
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30301-30400
      #  targetPortRange: 30301-30400
      #  nodePortRange: 30301-30400
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}
      
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 30
    periodSeconds: 60

  # command - command to be executed 
  # arg1, arg2.. - command arguments
  readinessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
     
  startupProbe:
    initialDelaySeconds: 300
    timeoutSeconds: 30
    periodSeconds: 60
    failureThreshold: 6
       
  internalAccess:
    enableHttps: true
    httpsPort:   
    tlsSecretName:  
      
  externalAccess:
    protocol: http
    address: 
    port:
    
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #asiLabel: asiValue
  
  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"

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  #If myFG is hosted on HTTP Server adapter on ASI server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:

  jmxMonitoring:
    enabled: false
    port:
    authentication:
      enabled: false
      secretName: 
    ssl:
      enabled: false
      clientAuth: false
  javaSecurity:
    keystoreSecret:  
    truststoreSecret: 

  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
 #Configure basic tuning parameters for Performance tuning settings.
 #allocateMemToBI  - Allocate memory for BI Listeners, default is false.
 #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
 #allocateMemToCLA - Allocate memory for CLA adapters, default is false.
 #threadsPerCore   - Number of threads per core which usually helps in calculating Desired Global Threads and Distribution Cache Minimum.
 #override         - To override the suggested value by the system.
  performanceTuning:
    allocateMemToBI: false
    allocateMemToSAP: false
    allocateMemToCLA: false
    threadsPerCore: 4
    override: []
      #- NOAPP.INITIAL_CYCLES_7=53
      #- NOAPP.EXEC_CYCLE_7=53
      #- NOAPP.MIN_POOL_SIZE_7=0
      #- NOAPP.MAX_POOL_SIZE_7=13
      #- NOAPP.RESOURCE_ALLOCATION_7=93
  
  networkPolicies:
    ingress:
      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:
      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
      
ac:

  replicaCount: 1

  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2
    
    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35004
        targetPort: http
        nodePort: 30004
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 37000
      # targetPort: http
      # nodePort: 30200
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30401
      #  targetPort: 30401
      #  nodePort: 30401
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30501-30600
      #  targetPortRange: 30501-30600
      #  nodePortRange: 30501-30600
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {} 

  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2

  internalAccess:
    enableHttps: true
    tlsSecretName:
      
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"
  
  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:
  
  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #acLabel: acValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2

  #If myFG is hosted on HTTP Server adapter on AC server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
 
 #Configure basic tuning parameters for Performance tuning settings.
  #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
  performanceTuning:
    allocateMemToSAP: false
    
  networkPolicies:
    ingress:
      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:
      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
    
api:

  replicaCount: 1

  env:
    #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http:
        name: http
        port: 35005
        targetPort: http
        nodePort: 30005
        protocol: TCP
      https:
        name: https
        port: 35006
        targetPort: https
        nodePort: 30006
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 35000
      # targetPort: http
      # nodePort: 30300
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
      
  internalAccess:
    enableHttps: true
    tlsSecretName:

  externalAccess:
    protocol: http
    address: 
    port: 

  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath: 
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 4Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 2Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60
    
  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #apiLabel: apiValue
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variables
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variables
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
  networkPolicies:
    ingress:
      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:
      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

nameOverride: ""

fullnameOverride: ""

# Test container
test:
  image:
    repository: 'cp.icr.io/cp/opencontent-common-utils'
    tag: '1.1.67'
    digest: sha256:80c8b0c8cd51aaa95f366ced837808695d96eae327f24637b0f9c198e1353835
    pullPolicy: 'IfNotPresent'

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.2.0.4"
    digest: sha256:7c256cff000301dd6300799d05a85d6142d62e296d14fc95c1db946716a5b62a
    pullPolicy: IfNotPresent
    pullSecret: ""
    extraLabels: {}
  # Provide a schedule for the purge job as a cron expression. For example "0 0 * * *" will run the purge job at 00:00 every day
  schedule:
  startingDeadlineSeconds: 60
  activeDeadlineSeconds: 3600
  concurrencyPolicy: Forbid
  suspend: false
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
  
  internalAccess:
    enableHttps: true
    tlsSecretName: 

  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: 500m
      memory: 1Gi
      ephemeral-storage: "1Gi"
    requests:
      cpu: 100m
      memory: 500Mi 
      ephemeral-storage: "500Mi"
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution: []
    preferredDuringSchedulingIgnoredDuringExecution: []

documentService:
  enabled: false
  sslEnabled: true
  useGrpc: true
  readBufferSize: 32768
  grpcPoolSize: 150
  keepAliveGrpc: 300
  license: false
  replicaCount: 1
  image:
    repository: cp.icr.io/cp/ibm-b2bi/b2bi-documentservice
    pullPolicy: IfNotPresent
    tag: 1.0.0.4
    digest: sha256:9b980737e57256e721e5f80ca015e0408a1a75885b46fa6fb034d30e84d3ed4d
    pullSecret: ""
  serviceAccount:
    name: default
  application:
    server:
      ssl:
        enabled: true
        tlsSecretName:
        trustStoreSecretName:
        clientAuth: want
    logging:
      level: ERROR
  objectstore:
    name:
    endpoint:
    namespace:
    region:
    secretName:
    useKeysFromSecrets: false
  connectionPoolConfig:
    maxTotalConnections: 250
    maxConnectionsPerRoute: 100
    connectTimeout: 10000
    readTimeout: 60000
    idleTimeout: 60000
    idleMonitorThread: true
    waitTimeout: 30000
    keepAlive: 300000
    retryCount: 2
    disableContentCompression: true

Sample values.yaml file for v6.2.0.5

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

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

global:
  ## Set the value to True in order to accept the application license 
  ## B2BI @ https://ibm.biz/B2Bi_62
  ## SFG  @ https://ibm.biz/SFG_620
  license: false
  # Specify the license edition as per license agreement. Valid value is prod or non-prod for Production and 
  # Non-production respectively. Remember that this parameter is crucial for IBM Licensing and Metering Service
  licenseType: "prod"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.2.0.5"
  # If digest is specified, it takes precedence over tag
    digest: sha256:e98c51bf25400c00b09cfcf4e34b4a20862657c56d8c5dede3c226bdaffc73f6
    pullPolicy: IfNotPresent
    pullSecret: ""
  networkPolicies:
    ingress:
      enabled: true
      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: true
      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

# Specify architecture (amd64, ppc64le, s390x) and weight to be  used for scheduling as follows : 
# #   0 - Do not use
# #   1 - Least preferred
# #   2 - No Preference
# #   3 - Most preferred
arch:
  amd64: "2 - No Preference"
  ppc64le: "2 - No Preference"
  s390x: "2 - No Preference"

serviceAccount:
  name: default

resourcesInit:
  enabled: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-resources"
    tag: "6.2.0.5"
    digest: sha256:1f27acb485d01807fd39922ddf43f4d61d27a993c3d628ea4451c7e4c304414b
    pullPolicy: "IfNotPresent"
  command:

customizationInit:
  enabled: false
  dataSetup:
    enabled: false
    # mention custom service package names to be included for DB setup. It could be set to all (default), none or comma separated list of packages
    includeServicePackages: "all"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-customization"
    tag: "6.2.0.5"
    digest: sha256:f0f02d4fff34b1cae8e9b99b31c1290fa56667f6c25d69528e38ba91c6571fb6
    pullPolicy: "IfNotPresent"
  command:

persistence:
  enabled: true
  useDynamicProvisioning: false

appResourcesPVC:
  enabled: true
  storageClassName: ""
  selector:
    label: "intent"
    value: "resources"
  accessMode: ReadOnlyMany
  size: 100Mi
  preDefinedResourcePVCName: 


appLogsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "logs"
  accessMode: ReadWriteMany
  size: 500Mi
  preDefinedLogsPVCName: 
  
appDocumentsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "documents"
  accessMode: ReadWriteMany
  size: 500Mi
  enableVolumeClaimPerPod: false
  preDefinedDocumentPVCName: 

extraPVCs: []
  #- name:
  #  storageClassName:
  #  selector:
  #    label:
  #    value:
  #  accessMode:
  #  size:
  #  mountPath:
  #  subPath:
  #  enableVolumeClaimPerPod: false
  #  predefinedPVCName:

security:
  supplementalGroups: [65534]
  fsGroup:
  fsGroupChangePolicy: "OnRootMismatch"
  runAsUser:
  runAsGroup: 

ingress:
  enabled: true
  controller: "nginx"
  annotations: {}
  port:

dataSetup:
  enabled: true
  upgrade: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-dbsetup"
    # Provide the tag value in double quotes
    tag: "6.2.0.5"
     # If digest is specified, it takes precedence over tag
    digest: sha256:9443f6094836f9a53734d2d85882fa521ce61c6d9e78092ec28c7ac6eff9336e
    pullPolicy: IfNotPresent
    pullSecret: ""
  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 not want to specify resources, comment the following
    # lines, adjust them as necessary, and add curly braces after 'resources:'.
    limits:
      cpu: 4000m
      memory: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"  
  extraLabels: {}
  #configuration to add custom annotations, if any
  extraAnnotations: {}

env:
  tz: "UTC"
  upgradeCompatibilityVerified: false
  debugMode: false
  extraEnvs: []
    #- name: FOO
    #  valueFrom:
    #    secretKeyRef:
    #      name: secret-name
    #      key: FOO
    #- name: BAR
    #  valueFrom:
    #    configMapKeyRef:
    #      name: configmap-name
    #      key: BAR
    #- name: FOOBAR
    #  value: foobar 
  
logs:

  # true if user wish to redirect the application logs to console else false. If provided value is true , then application logs will reside inside containers. No volume mapping will be used.
  enableAppLogOnConsole: true
      
  # In standalone kubernetes environment, if PodSecurityPolicy is enabled and no default PSPs are present then change the value below to true.      
applyPolicyToKubeSystem: false

integrations:
  seasIntegration:
    isEnabled: false
    seasVersion: "1.0"
  itxIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itx-rs"
      tag: "10.1.2.1.20241122"
      digest: "sha256:4eb8c73e110291455cfa93696da6ac98dca261fccf5d2de458dac5e54aa7542e"
      pullPolicy: IfNotPresent
      pullSecret:
    dataPVC:
      name: itxdata
      useDynamicProvisioning: true  
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxdata"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedDataPVCName:
    logsPVC:
      name: itxlogs
      useDynamicProvisioning: true
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxlogs"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedLogsPVCName:
    # Logging settings
    log:
      includeHostInLogNames: true
      jniLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
      cmgrLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
  # Integration with ITXA Certified Container edition is supported only for release version 10.0.1.9 onwards
  itxaIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itxa/itxa-runtime"
      tag: "10.0.1.10-x86_64"
      digest: sha256:7c918383f446d1f7b5c1bd095429150445d5643eddd320028502c9551912eb1e
      pullPolicy: IfNotPresent
      pullSecret:
    appSecret: "itxa-oracle-secrets"
    secureDBConnection:
      enabled: false
      dbservercertsecretname: ""
    persistence:
      claims:
        name: itxa-logs-pvc
    sso:
      host: "speui.apps.openshift.in.dev"
      port: 443
      ssl:
        enabled: true
    resourcesInit:
      enabled: true
      image:
        repository: "cp.icr.io/cp/ibm-itxa/itxa-resources"
        tag: "10.0.1.10-x86_64"
        digest: sha256:0ed720bf99ff145abdafbd306d3bc8083e805fe21154f40125891db1ad374e37
        pullPolicy: "IfNotPresent"

#setup.cfg configuration starts here. Property names must follow camelCase format.
setupCfg:
  #Upgrade
  #upgrade: false
  basePort: 50000
  #License - specify values as true/false
  licenseAcceptEnableSfg: false
  licenseAcceptEnableEbics: false
  licenseAcceptEnableFinancialServices: false
  licenseAcceptEnableFileOperation: false

  # Name of system passphrase secret if available
  systemPassphraseSecret: 
  #FIPS compliance mode. specify values as true/false 
  enableFipsMode: false
  # NIST 800-131a compliance mode. Please enter one of these values - strict/transition/"off"
  nistComplianceMode: "off"

  # Provide the DB attributes
  dbVendor:
  dbHost:
  dbPort:
  dbData:
  dbDrivers:
  dbCreateSchema: true
  oracleUseServiceName: false
  # Values can be either true or false 
  usessl: false
  
  # Name of DB secret
  dbSecret:
  
  # Specify DB truststore file name including it's path relative to the mounted resources volume location, if applicable. Required when usessl is true.
  # When dbTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbTruststore:
  
  # Name of the DB truststore secret containing the certificate, if applicable
  dbTruststoreSecret:
  
  # Specify DB keystore file name including it's path relative to the mounted resources volume location, if applicable
  # When dbKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbKeystore:
  
  # Name of the DB keystore secret containing the certificate, if applicable
  dbKeystoreSecret:
    
  #Enable connection pool failover for HA databases
  connectionpoolFailoverEnable: false

  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the termination grace period in seconds for containers. Only numeric value is accepted.
  terminationGracePeriod: 30

  #WMQ
  #JMS properties are optional if jmsVendor is empty
  #To use IBMMQ for communication between ASI & AC, change property to jmsVendor: IBMMQ
  # and provide other connection details
  jmsVendor:
  # Provide the name of connection factory class. 
  jmsConnectionFactory:
  jmsConnectionFactoryInstantiator:
  jmsQueueName:
  jmsHost:
  jmsPort:
  jmsConnectionNameList:
  # Applicable for IBMMQ
  jmsChannel:
  jmsEnableSsl:
  
  # Name of JMS secret if available
  jmsSecret:
  
  # Specify JMS keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsKeystorePath:
  
  # Name of the JMS keystore secret containing the certificate, if applicable
  jmsKeystoreSecret:
  
  # Specify JMS truststore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsTruststorePath:
  
  # Name of the JMS truststore secret containing the certificate, if applicable
  jmsTruststoreSecret:

  # Applicable for IBMMQ
  jmsCiphersuite:
  # Applicable for IBMMQ
  jmsProtocol: TLSv1.2

  # Liberty Profile SSL Config. Specify Liberty keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # If libertyKeystoreSecret is mentioned, provide the name of the key holding the certificate data. 
  libertyKeystoreLocation:
  
  # Name of Liberty keystore secret containing the certificate, if applicable
  libertyKeystoreSecret:
  
  libertyProtocol: TLSv1.2
  
  # Name of Liberty secret if available
  libertySecret:

  #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
  #jvm options
  libertyJvmOptions:
 
  # Default document storage option. Can be set to one of the below values
  # DB - Database (default)
  # FS - File System
  # OS - Object Store 
  defaultDocumentStorageType: DB
 
  # restartCluster can be set to true to restart the application cluster by cleaning up all previous node entries, locks and set the schedules to node1.
  restartCluster: false

  # Enable SSL over RMI calls
  useSslForRmi: true

  # Name of the RMI Secret if available.
  rmiTlsSecretName:

  # SAP SNC configurations
  # Name of the secret holding SAP SNC PSE file and password along with the sapgenpse utility
  sapSncSecretName:
  # SAP SNC library vendor name. This is same as the vendor name configured on customization UI for the SAP SNC library.
  sapSncLibVendorName:
  # SAP SNC library version. Specify the value in quotes. This is same as the vendor version configured on customization UI for the SAP SNC library.
  sapSncLibVersion:
  # SAP SNC library name. This is same as the native library file name uploaded on customization UI for the SAP SNC library.
  sapSncLibName:  

  #CLA2 configurations
  launchClaServer: false

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35000
        targetPort: http
        nodePort: 30000
        protocol: TCP
      https: 
        name: https
        port: 35001
        targetPort: https
        nodePort: 30001
        protocol: TCP
      soa: 
        name: soa
        port: 35002
        targetPort: soa
        nodePort: 30002
        protocol: TCP
      soassl: 
        name: soassl
        port: 35003
        targetPort: soassl
        nodePort: 30003
        protocol: TCP
      restHttpAdapter: 
        name: rest-adapter
        port: 35007
        targetPort: rest-adapter
        nodePort: 30007
        protocol: TCP
      ops: 
        name: ops
        port: 35008
        targetPort: ops
        nodePort: 30008
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 46000
      # targetPort: http
      # nodePort: 30100
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30201
      #  targetPort: 30201
      #  nodePort: 30201
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30301-30400
      #  targetPortRange: 30301-30400
      #  nodePortRange: 30301-30400
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}
      
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 30
    periodSeconds: 60

  # command - command to be executed 
  # arg1, arg2.. - command arguments
  readinessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
     
  startupProbe:
    initialDelaySeconds: 300
    timeoutSeconds: 30
    periodSeconds: 60
    failureThreshold: 6
       
  internalAccess:
    enableHttps: true
    httpsPort:   
    tlsSecretName:  
      
  externalAccess:
    protocol: http
    address: 
    port:
    
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #asiLabel: asiValue
  
  #configuration to add custom annotations, if any
  extraAnnotations: {}
  
  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"

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  #If myFG is hosted on HTTP Server adapter on ASI server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:

  jmxMonitoring:
    enabled: false
    port:
    authentication:
      enabled: false
      secretName: 
    ssl:
      enabled: false
      clientAuth: false
  javaSecurity:
    keystoreSecret:  
    truststoreSecret: 

  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
 #Configure basic tuning parameters for Performance tuning settings.
 #allocateMemToBI  - Allocate memory for BI Listeners, default is false.
 #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
 #allocateMemToCLA - Allocate memory for CLA adapters, default is false.
 #threadsPerCore   - Number of threads per core which usually helps in calculating Desired Global Threads and Distribution Cache Minimum.
 #override         - To override the suggested value by the system.
  performanceTuning:
    allocateMemToBI: false
    allocateMemToSAP: false
    allocateMemToCLA: false
    threadsPerCore: 4
    override: []
      #- NOAPP.INITIAL_CYCLES_7=53
      #- NOAPP.EXEC_CYCLE_7=53
      #- NOAPP.MIN_POOL_SIZE_7=0
      #- NOAPP.MAX_POOL_SIZE_7=13
      #- NOAPP.RESOURCE_ALLOCATION_7=93
  
  networkPolicies:
    ingress:
      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:
      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
      
ac:

  replicaCount: 1

  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2
    
    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35004
        targetPort: http
        nodePort: 30004
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 37000
      # targetPort: http
      # nodePort: 30200
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30401
      #  targetPort: 30401
      #  nodePort: 30401
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30501-30600
      #  targetPortRange: 30501-30600
      #  nodePortRange: 30501-30600
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {} 

  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2

  internalAccess:
    enableHttps: true
    tlsSecretName:
      
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"
  
  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:
  
  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #acLabel: acValue

  #configuration to add custom annotations, if any
  extraAnnotations: {}  
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2

  #If myFG is hosted on HTTP Server adapter on AC server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
 
 #Configure basic tuning parameters for Performance tuning settings.
  #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
  performanceTuning:
    allocateMemToSAP: false
    
  networkPolicies:
    ingress:
      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:
      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
    
api:

  replicaCount: 1

  env:
    #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http:
        name: http
        port: 35005
        targetPort: http
        nodePort: 30005
        protocol: TCP
      https:
        name: https
        port: 35006
        targetPort: https
        nodePort: 30006
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 35000
      # targetPort: http
      # nodePort: 30300
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
      
  internalAccess:
    enableHttps: true
    tlsSecretName:

  externalAccess:
    protocol: http
    address: 
    port: 

  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath: 
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 4Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 2Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60
    
  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #apiLabel: apiValue

  #configuration to add custom annotations, if any
  extraAnnotations: {}  
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variables
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variables
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
  networkPolicies:
    ingress:
      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:
      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

nameOverride: ""

fullnameOverride: ""

# Test container
test:
  image:
    repository: 'cp.icr.io/cp/opencontent-common-utils'
    tag: '1.1.68'
    digest: sha256:8e0d93b29b6f2f9cfed183bc21545579653b79a5261721c1f50ffc089e0ad45f
    pullPolicy: 'IfNotPresent'
  extraLabels: {}  
  #configuration to add custom annotations, if any
  extraAnnotations: {}

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.2.0.5"
    digest: sha256:7c256cff000301dd6300799d05a85d6142d62e296d14fc95c1db946716a5b62a
    pullPolicy: IfNotPresent
    pullSecret: ""
  extraLabels: {}
  #configuration to add custom annotations, if any
  extraAnnotations: {}
  # Provide a schedule for the purge job as a cron expression. For example "0 0 * * *" will run the purge job at 00:00 every day
  schedule:
  startingDeadlineSeconds: 60
  activeDeadlineSeconds: 3600
  concurrencyPolicy: Forbid
  suspend: false
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
  
  internalAccess:
    enableHttps: true
    tlsSecretName: 

  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: 500m
      memory: 1Gi
      ephemeral-storage: "1Gi"
    requests:
      cpu: 100m
      memory: 500Mi 
      ephemeral-storage: "500Mi"
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution: []
    preferredDuringSchedulingIgnoredDuringExecution: []

documentService:
  enabled: false
  sslEnabled: true
  useGrpc: true
  readBufferSize: 32768
  grpcPoolSize: 150
  keepAliveGrpc: 300
  license: false
  replicaCount: 1
  image:
    repository: cp.icr.io/cp/ibm-b2bi/b2bi-documentservice
    pullPolicy: IfNotPresent
    tag: 1.0.0.4
    digest: sha256:9b980737e57256e721e5f80ca015e0408a1a75885b46fa6fb034d30e84d3ed4d
    pullSecret: ""
  serviceAccount:
    name: default
  application:
    server:
      ssl:
        enabled: true
        tlsSecretName:
        trustStoreSecretName:
        clientAuth: want
    logging:
      level: ERROR
  objectstore:
    name:
    endpoint:
    namespace:
    region:
    secretName:
    useKeysFromSecrets: false
  connectionPoolConfig:
    maxTotalConnections: 250
    maxConnectionsPerRoute: 100
    connectTimeout: 10000
    readTimeout: 60000
    idleTimeout: 60000
    idleMonitorThread: true
    waitTimeout: 30000
    keepAlive: 300000
    retryCount: 2
    disableContentCompression: true

Sample values.yaml file for v6.2.0.5_1

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

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

global:
  ## Set the value to True in order to accept the application license 
  ## B2BI @ https://ibm.biz/B2Bi_62
  ## SFG  @ https://ibm.biz/SFG_620
  license: false
  # Specify the license edition as per license agreement. Valid value is prod or non-prod for Production and 
  # Non-production respectively. Remember that this parameter is crucial for IBM Licensing and Metering Service
  licenseType: "prod"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.2.0.5_1"
  # If digest is specified, it takes precedence over tag
    digest: sha256:217ae0e7679726030c94eac1e94c05decc48d2c6a0a430ea5e2d4dae24adb370
    pullPolicy: IfNotPresent
    pullSecret: ""
  networkPolicies:
    ingress:
      enabled: true
      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: true
      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

# Specify architecture (amd64, ppc64le, s390x) and weight to be  used for scheduling as follows : 
# #   0 - Do not use
# #   1 - Least preferred
# #   2 - No Preference
# #   3 - Most preferred
arch:
  amd64: "2 - No Preference"
  ppc64le: "2 - No Preference"
  s390x: "2 - No Preference"

serviceAccount:
  name: default

resourcesInit:
  enabled: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-resources"
    tag: "6.2.0.5_1"
    digest: sha256:3a74e934271ac48376e9158790949fbdae618c522a2afba3b8e92203dbc3c91b
    pullPolicy: "IfNotPresent"
  command:

customizationInit:
  enabled: false
  dataSetup:
    enabled: false
    # mention custom service package names to be included for DB setup. It could be set to all (default), none or comma separated list of packages
    includeServicePackages: "all"
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-customization"
    tag: "6.2.0.5_1"
    digest: sha256:666b6cd4df1411fea51270a68f06585735462d44e09f5550383e20a5ee2b48f0
    pullPolicy: "IfNotPresent"
  command:

persistence:
  enabled: true
  useDynamicProvisioning: false

appResourcesPVC:
  enabled: true
  storageClassName: ""
  selector:
    label: "intent"
    value: "resources"
  accessMode: ReadOnlyMany
  size: 100Mi
  preDefinedResourcePVCName: 


appLogsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "logs"
  accessMode: ReadWriteMany
  size: 500Mi
  preDefinedLogsPVCName: 
  
appDocumentsPVC:
  enabled: false
  storageClassName: ""
  selector:
    label: "intent"
    value: "documents"
  accessMode: ReadWriteMany
  size: 500Mi
  enableVolumeClaimPerPod: false
  preDefinedDocumentPVCName: 

extraPVCs: []
  #- name:
  #  storageClassName:
  #  selector:
  #    label:
  #    value:
  #  accessMode:
  #  size:
  #  mountPath:
  #  subPath:
  #  enableVolumeClaimPerPod: false
  #  predefinedPVCName:

security:
  supplementalGroups: [65534]
  fsGroup:
  fsGroupChangePolicy: "OnRootMismatch"
  runAsUser:
  runAsGroup: 

ingress:
  enabled: true
  controller: "nginx"
  annotations: {}
  port:

dataSetup:
  enabled: true
  upgrade: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-dbsetup"
    # Provide the tag value in double quotes
    tag: "6.2.0.5_1"
     # If digest is specified, it takes precedence over tag
    digest: sha256:76e737b549f3ebd3f27645056761d9a3fc3cf21ddfefff0906201fa43249defa
    pullPolicy: IfNotPresent
    pullSecret: ""
  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 not want to specify resources, comment the following
    # lines, adjust them as necessary, and add curly braces after 'resources:'.
    limits:
      cpu: 4000m
      memory: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"  
  extraLabels: {}
  #configuration to add custom annotations, if any
  extraAnnotations: {}

env:
  tz: "UTC"
  upgradeCompatibilityVerified: false
  debugMode: false
  extraEnvs: []
    #- name: FOO
    #  valueFrom:
    #    secretKeyRef:
    #      name: secret-name
    #      key: FOO
    #- name: BAR
    #  valueFrom:
    #    configMapKeyRef:
    #      name: configmap-name
    #      key: BAR
    #- name: FOOBAR
    #  value: foobar 
  
logs:

  # true if user wish to redirect the application logs to console else false. If provided value is true , then application logs will reside inside containers. No volume mapping will be used.
  enableAppLogOnConsole: true
      
  # In standalone kubernetes environment, if PodSecurityPolicy is enabled and no default PSPs are present then change the value below to true.      
applyPolicyToKubeSystem: false

integrations:
  seasIntegration:
    isEnabled: false
    seasVersion: "1.0"
  itxIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itx-rs"
      tag: "10.1.2.1.20241122"
      digest: "sha256:4eb8c73e110291455cfa93696da6ac98dca261fccf5d2de458dac5e54aa7542e"
      pullPolicy: IfNotPresent
      pullSecret:
    dataPVC:
      name: itxdata
      useDynamicProvisioning: true  
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxdata"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedDataPVCName:
    logsPVC:
      name: itxlogs
      useDynamicProvisioning: true
      storageClassName: ""
      selector:
        label: "intent"
        value: "itxlogs"
      accessMode: ReadWriteMany
      size: 100Mi
      preDefinedLogsPVCName:
    # Logging settings
    log:
      includeHostInLogNames: true
      jniLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
      cmgrLog:
        # Supported levels are "none", "failures", "info" and "all". Default is "none".
        level: "none"
  # Integration with ITXA Certified Container edition is supported only for release version 10.0.1.9 onwards
  itxaIntegration:
    enabled: false
    dataSetup:
      enabled: true
    image:
      repository: "cp.icr.io/cp/ibm-itxa/itxa-runtime"
      tag: "10.0.1.10-x86_64"
      digest: sha256:7c918383f446d1f7b5c1bd095429150445d5643eddd320028502c9551912eb1e
      pullPolicy: IfNotPresent
      pullSecret:
    appSecret: "itxa-oracle-secrets"
    secureDBConnection:
      enabled: false
      dbservercertsecretname: ""
    persistence:
      claims:
        name: itxa-logs-pvc
    sso:
      host: "speui.apps.openshift.in.dev"
      port: 443
      ssl:
        enabled: true
    resourcesInit:
      enabled: true
      image:
        repository: "cp.icr.io/cp/ibm-itxa/itxa-resources"
        tag: "10.0.1.10-x86_64"
        digest: sha256:0ed720bf99ff145abdafbd306d3bc8083e805fe21154f40125891db1ad374e37
        pullPolicy: "IfNotPresent"

#setup.cfg configuration starts here. Property names must follow camelCase format.
setupCfg:
  #Upgrade
  #upgrade: false
  basePort: 50000
  #License - specify values as true/false
  licenseAcceptEnableSfg: false
  licenseAcceptEnableEbics: false
  licenseAcceptEnableFinancialServices: false
  licenseAcceptEnableFileOperation: false

  # Name of system passphrase secret if available
  systemPassphraseSecret: 
  #FIPS compliance mode. specify values as true/false 
  enableFipsMode: false
  # NIST 800-131a compliance mode. Please enter one of these values - strict/transition/"off"
  nistComplianceMode: "off"

  # Provide the DB attributes
  dbVendor:
  dbHost:
  dbPort:
  dbData:
  dbDrivers:
  dbCreateSchema: true
  oracleUseServiceName: false
  # Values can be either true or false 
  usessl: false
  
  # Name of DB secret
  dbSecret:
  
  # Specify DB truststore file name including it's path relative to the mounted resources volume location, if applicable. Required when usessl is true.
  # When dbTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbTruststore:
  
  # Name of the DB truststore secret containing the certificate, if applicable
  dbTruststoreSecret:
  
  # Specify DB keystore file name including it's path relative to the mounted resources volume location, if applicable
  # When dbKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  dbKeystore:
  
  # Name of the DB keystore secret containing the certificate, if applicable
  dbKeystoreSecret:
    
  #Enable connection pool failover for HA databases
  connectionpoolFailoverEnable: false

  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the termination grace period in seconds for containers. Only numeric value is accepted.
  terminationGracePeriod: 30

  #WMQ
  #JMS properties are optional if jmsVendor is empty
  #To use IBMMQ for communication between ASI & AC, change property to jmsVendor: IBMMQ
  # and provide other connection details
  jmsVendor:
  # Provide the name of connection factory class. 
  jmsConnectionFactory:
  jmsConnectionFactoryInstantiator:
  jmsQueueName:
  jmsHost:
  jmsPort:
  jmsConnectionNameList:
  # Applicable for IBMMQ
  jmsChannel:
  jmsEnableSsl:
  
  # Name of JMS secret if available
  jmsSecret:
  
  # Specify JMS keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsKeystoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsKeystorePath:
  
  # Name of the JMS keystore secret containing the certificate, if applicable
  jmsKeystoreSecret:
  
  # Specify JMS truststore file name including it's path relative to the mounted resources volume location, if applicable.
  # When jmsTruststoreSecret is mentioned, provide the name of the key holding the certificate data.
  jmsTruststorePath:
  
  # Name of the JMS truststore secret containing the certificate, if applicable
  jmsTruststoreSecret:

  # Applicable for IBMMQ
  jmsCiphersuite:
  # Applicable for IBMMQ
  jmsProtocol: TLSv1.2

  # Liberty Profile SSL Config. Specify Liberty keystore file name including it's path relative to the mounted resources volume location, if applicable.
  # If libertyKeystoreSecret is mentioned, provide the name of the key holding the certificate data. 
  libertyKeystoreLocation:
  
  # Name of Liberty keystore secret containing the certificate, if applicable
  libertyKeystoreSecret:
  
  libertyProtocol: TLSv1.2
  
  # Name of Liberty secret if available
  libertySecret:

  #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
  #jvm options
  libertyJvmOptions:
 
  # Default document storage option. Can be set to one of the below values
  # DB - Database (default)
  # FS - File System
  # OS - Object Store 
  defaultDocumentStorageType: DB
 
  # restartCluster can be set to true to restart the application cluster by cleaning up all previous node entries, locks and set the schedules to node1.
  restartCluster: false

  # Enable SSL over RMI calls
  useSslForRmi: true

  # Name of the RMI Secret if available.
  rmiTlsSecretName:

  # SAP SNC configurations
  # Name of the secret holding SAP SNC PSE file and password along with the sapgenpse utility
  sapSncSecretName:
  # SAP SNC library vendor name. This is same as the vendor name configured on customization UI for the SAP SNC library.
  sapSncLibVendorName:
  # SAP SNC library version. Specify the value in quotes. This is same as the vendor version configured on customization UI for the SAP SNC library.
  sapSncLibVersion:
  # SAP SNC library name. This is same as the native library file name uploaded on customization UI for the SAP SNC library.
  sapSncLibName:  

  #CLA2 configurations
  launchClaServer: false

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35000
        targetPort: http
        nodePort: 30000
        protocol: TCP
      https: 
        name: https
        port: 35001
        targetPort: https
        nodePort: 30001
        protocol: TCP
      soa: 
        name: soa
        port: 35002
        targetPort: soa
        nodePort: 30002
        protocol: TCP
      soassl: 
        name: soassl
        port: 35003
        targetPort: soassl
        nodePort: 30003
        protocol: TCP
      restHttpAdapter: 
        name: rest-adapter
        port: 35007
        targetPort: rest-adapter
        nodePort: 30007
        protocol: TCP
      ops: 
        name: ops
        port: 35008
        targetPort: ops
        nodePort: 30008
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 46000
      # targetPort: http
      # nodePort: 30100
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30201
      #  targetPort: 30201
      #  nodePort: 30201
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30301-30400
      #  targetPortRange: 30301-30400
      #  nodePortRange: 30301-30400
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}
      
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 30
    periodSeconds: 60

  # command - command to be executed 
  # arg1, arg2.. - command arguments
  readinessProbe:
    initialDelaySeconds: 30
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
     
  startupProbe:
    initialDelaySeconds: 300
    timeoutSeconds: 30
    periodSeconds: 60
    failureThreshold: 6
       
  internalAccess:
    enableHttps: true
    httpsPort:   
    tlsSecretName:  
      
  externalAccess:
    protocol: http
    address: 
    port:
    
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #asiLabel: asiValue
  
  #configuration to add custom annotations, if any
  extraAnnotations: {}
  
  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"

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  #If myFG is hosted on HTTP Server adapter on ASI server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:

  jmxMonitoring:
    enabled: false
    port:
    authentication:
      enabled: false
      secretName: 
    ssl:
      enabled: false
      clientAuth: false
  javaSecurity:
    keystoreSecret:  
    truststoreSecret: 

  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
 #Configure basic tuning parameters for Performance tuning settings.
 #allocateMemToBI  - Allocate memory for BI Listeners, default is false.
 #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
 #allocateMemToCLA - Allocate memory for CLA adapters, default is false.
 #threadsPerCore   - Number of threads per core which usually helps in calculating Desired Global Threads and Distribution Cache Minimum.
 #override         - To override the suggested value by the system.
  performanceTuning:
    allocateMemToBI: false
    allocateMemToSAP: false
    allocateMemToCLA: false
    threadsPerCore: 4
    override: []
      #- NOAPP.INITIAL_CYCLES_7=53
      #- NOAPP.EXEC_CYCLE_7=53
      #- NOAPP.MIN_POOL_SIZE_7=0
      #- NOAPP.MAX_POOL_SIZE_7=13
      #- NOAPP.RESOURCE_ALLOCATION_7=93
  
  networkPolicies:
    ingress:
      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:
      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
      
ac:

  replicaCount: 1

  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2
    
    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http: 
        name: http
        port: 35004
        targetPort: http
        nodePort: 30004
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 37000
      # targetPort: http
      # nodePort: 30200
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    # Supported values are "ClientIP" & "None". Default is "None".
    sessionAffinity: None
    #override session affinity timeout configuration (applicable when sessionAffinity is configured other than "None")
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports: []
      #- name: adapter-1
      #  port: 30401
      #  targetPort: 30401
      #  nodePort: 30401
      #  protocol: TCP
    portRanges: []
      #- name: adapters
      #  portRange: 30501-30600
      #  targetPortRange: 30501-30600
      #  nodePortRange: 30501-30600
      #  protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {} 

  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2

  internalAccess:
    enableHttps: true
    tlsSecretName:
      
  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
    external:
      host: ""
      tls:
        enabled: true
        secretName: ""
      extraPaths: []
      #  - routePrefix: "hello"
      #    path: "/hello"
      #    servicePort: "my-http"
      #    enableHttps: false
      #    access: "internal"
  
  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath:
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:
  
  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 8Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 4Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60

  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #acLabel: acValue

  #configuration to add custom annotations, if any
  extraAnnotations: {}  
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variable
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variable
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2

  #If myFG is hosted on HTTP Server adapter on AC server, provide the internal port/protocol details used while configuring that.
  myFgAccess:
    myFgPort:
    myFgProtocol:
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
 
 #Configure basic tuning parameters for Performance tuning settings.
  #allocateMemToSAP - Allocate memory for SAP adapters, default is false.
  performanceTuning:
    allocateMemToSAP: false
    
  networkPolicies:
    ingress:
      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:
      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
    
api:

  replicaCount: 1

  env:
    #It will be deprecated in future release. Instead use config/jvm.options file to override or add any additional jvm configuration.
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    #by default sessionAffinity is configured to ClientIP
    #override session affinity timeout configuration
    sessionAffinityConfig:
      timeoutSeconds: 10800
     #specify any additional configuration applicable for the specified sessionAffinity option
     # property1: value1
     # property2: value2

    # Supported values are "Cluster" & "Local". Default is "Cluster".
    externalTrafficPolicy: Cluster
    ports:
      http:
        name: http
        port: 35005
        targetPort: http
        nodePort: 30005
        protocol: TCP
      https:
        name: https
        port: 35006
        targetPort: https
        nodePort: 30006
        protocol: TCP
    extraPorts: []
      #-name: http-1
      # port: 35000
      # targetPort: http
      # nodePort: 30300
      # protocol: TCP
    loadBalancerIP:  
    loadBalancerSourceRanges: []
      #- "143.231.0.0/16"
    annotations: {}  
  
  livenessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    
  readinessProbe:
    initialDelaySeconds: 60
    timeoutSeconds: 5
    periodSeconds: 60
    command:
    arg: []
      #- arg1
      #- arg2
      
  internalAccess:
    enableHttps: true
    tlsSecretName:

  externalAccess:
    protocol: http
    address: 
    port: 

  ingress:
    internal:
      host: ""
      tls:
        enabled: true
        secretName: ""

  extraPVCs: []
    #- name: 
    #  storageClassName:
    #  selector:
    #    label:
    #    value:
    #  accessMode:
    #  size:
    #  mountPath:
    #  subPath: 
    #  enableVolumeClaimPerPod: false
    #  predefinedPVCName:

  ## Additional init containers, e. g. for providing custom themes
  extraInitContainers: []
    #- name: wait-for-postgresql
    #  image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
    #  imagePullPolicy: {{ .Values.init.image.pullPolicy }}
    #  command:
    #  shareVolume: false
    #  localMountPath: 
    #  appMountPath:

  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: 4Gi
      ephemeral-storage: "4Gi"
    requests:
      cpu: 2000m
      memory: 2Gi
      ephemeral-storage: "2Gi"

  autoscaling:
    enabled: false
    minReplicas: 1
    maxReplicas: 2
    targetCPUUtilizationPercentage: 60
    
  defaultPodDisruptionBudget:
    enabled: false
    minAvailable: 1
  
  # for pod Affinity and podAntiAffinity
  extraLabels: {}
    #apiLabel: apiValue

  #configuration to add custom annotations, if any
  extraAnnotations: {}  
  
  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"  

  #To provide additional secrets inside application. If mountAsVolume is set to true, secret will be mounted as volume under /ibm/resources/<secretName> directory
  #else it will exposed as environment variables
  extraSecrets: []
    #- mountAsVolume: true
    #  secretName: jms-truststore
    #- mountAsVolume: true
    #  secretName: db-truststore

  #To provide additional configmaps inside application. If mountAsVolume is set to true, configmap will be mounted as volume under /ibm/resources/<configMapName> directory
  #else it will exposed as environment variables
  extraConfigMaps: []
    #- mountAsVolume: true
    #  configMapName: my-configmap-1
    #- mountAsVolume: false
    #  configMapName: my-configmap-2
  
  hostAliases: []
  #- ip: "127.0.0.1"
  #  hostnames:
  #  - "foo.local"
  #  - "bar.local"
  #- ip: "10.1.2.3"
  #  hostnames:
  #  - "foo.remote"
  #  - "bar.remote"
  
  networkPolicies:
    ingress:
      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:
      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

nameOverride: ""

fullnameOverride: ""

# Test container
test:
  image:
    repository: 'cp.icr.io/cp/opencontent-common-utils'
    tag: '1.1.68'
    digest: sha256:8e0d93b29b6f2f9cfed183bc21545579653b79a5261721c1f50ffc089e0ad45f
    pullPolicy: 'IfNotPresent'
  extraLabels: {}  
  #configuration to add custom annotations, if any
  extraAnnotations: {}

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.2.0.5_1"
    digest: sha256:4462c33ee6706ea9f3915f9a63816858a08f80719dc7be7f5ff169bc3eee30c2
    pullPolicy: IfNotPresent
    pullSecret: ""
  extraLabels: {}
  #configuration to add custom annotations, if any
  extraAnnotations: {}
  # Provide a schedule for the purge job as a cron expression. For example "0 0 * * *" will run the purge job at 00:00 every day
  schedule:
  startingDeadlineSeconds: 60
  activeDeadlineSeconds: 3600
  concurrencyPolicy: Forbid
  suspend: false
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 1
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
  
  internalAccess:
    enableHttps: true
    tlsSecretName: 

  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: 500m
      memory: 1Gi
      ephemeral-storage: "1Gi"
    requests:
      cpu: 100m
      memory: 500Mi 
      ephemeral-storage: "500Mi"
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution: []
    preferredDuringSchedulingIgnoredDuringExecution: []

documentService:
  enabled: false
  sslEnabled: true
  useGrpc: true
  readBufferSize: 32768
  grpcPoolSize: 150
  keepAliveGrpc: 300
  license: false
  replicaCount: 1
  image:
    repository: cp.icr.io/cp/ibm-b2bi/b2bi-documentservice
    pullPolicy: IfNotPresent
    tag: 1.0.0.5_1
    digest: sha256:b2c39fadbc6f9c5dee5dcd4c4c2dacb7eba1ea7e279f237589eef568e9296364
    pullSecret: ""
  serviceAccount:
    name: default
  application:
    server:
      ssl:
        enabled: true
        tlsSecretName:
        trustStoreSecretName:
        clientAuth: want
    logging:
      level: ERROR
  objectstore:
    name:
    endpoint:
    namespace:
    region:
    secretName:
    useKeysFromSecrets: false
  connectionPoolConfig:
    maxTotalConnections: 250
    maxConnectionsPerRoute: 100
    connectTimeout: 10000
    readTimeout: 60000
    idleTimeout: 60000
    idleMonitorThread: true
    waitTimeout: 30000
    keepAlive: 300000
    retryCount: 2
    disableContentCompression: true