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.1.2.0

# (C) Copyright 2019-2022 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/BdPzHS
  ## SFG  @ https://ibm.biz/BdPzHv
  license: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.1.2.0"
  # If digest is specified, it takes precedence over tag
    digest: sha256:38f99c1bb4b6f9b2188d5dc4d7502ae3e8924308bff4b9542f40d7b368091559
    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:
    name:
    tag:
    digest:
    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
  preDefinedDocumentPVCName: 

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

security:
  supplementalGroups: [65534]
  fsGroup: 
  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.1.2.0"
     # If digest is specified, it takes precedence over tag
    digest: sha256:bed4b7bdb039b522d349700b3b3fab145be60181367101c299f34ca8ffd4158e
    pullPolicy: IfNotPresent
    pullSecret: ""


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"
  
#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:
    
  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the soft stop timeout. Only numeric value is accepted.
  softStopTimeout:

  #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:

  #JCE update parameters
  #Set value true to update JCE
  updateJcePolicyFile: false
  #Name of JCE file. This file should be present in mapped folder
  jcePolicyFile:
  
  # Default document storage option. Can be set to one of the below values
  # DB - Database (default)
  # FS - File System  
  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

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    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:  
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    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:  
    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:

  ## 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
    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:  
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    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:  
    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:
  
  ## 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
    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:  
    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:

  ## 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'
    name: 'opencontent-common-utils'
    tag: '1.1.36'
    digest: sha256:8cc03ce1a70be14519f8d868d7e494975aff7ec49fa3ed65f644e292c3e2cf57
    pullPolicy: 'IfNotPresent'

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.1.2.0"
    digest: sha256:0f7769a20daa5203b32f277e9dd7a8abbcb5f0e5f7cc5e68c75ecac20fbcf2a0
    pullPolicy: IfNotPresent
    pullSecret: ""
  # 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: []

  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: []

Sample values.yaml file for v6.1.2.1

# (C) Copyright 2019-2022 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/BdPzHS
  ## SFG  @ https://ibm.biz/BdPzHv
  license: false
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi"
  # Provide the tag value in double quotes
    tag: "6.1.2.1"
  # If digest is specified, it takes precedence over tag
    digest: sha256:7426e3f8d935f28135b3f2b9cd5bc653105af9609606da967cb1cf70ca0b49de
    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"
    name: "b2bi-resources"
    tag: "6.1.2.1"
    digest: sha256:660f8b8a48985d2981dc1bb31b9667aabfe4b8829221a8e48e64e3de01eaed08
    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
  preDefinedDocumentPVCName: 

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

security:
  supplementalGroups: [65534]
  fsGroup: 
  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.1.2.1"
     # If digest is specified, it takes precedence over tag
    digest: sha256:d90c1f4a0d74a69fb00aa52a55540a5780d2d6d48867b41f31a647fea3be1f46
    pullPolicy: IfNotPresent
    pullSecret: ""


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"
#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:
    
  #Provide the admin email address
  adminEmailAddress:
  # Provide the SMTP host details  
  smtpHost:

  #Provide the soft stop timeout. Only numeric value is accepted.
  softStopTimeout:

  #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  
  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:

asi:
  replicaCount: 1
  
  env:
    jvmOptions:
    #Refer to global env.extraEnvs for sample values
    extraEnvs: []
    
  frontendService:
    type: ClusterIP
    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:  
    annotations: {}  
  
  backendService:
    type: LoadBalancer
    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:  
    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:

  ## 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
    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:  
    annotations: {}  
      
  backendService:
    type: LoadBalancer
    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:  
    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:
  
  ## 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
    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:  
    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:

  ## 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'
    name: 'opencontent-common-utils'
    tag: '1.1.54'
    digest: sha256:9bfcc7b58d503c45097dae5d35577b45bb8ffb56e8f9244e8cd3574dd36daf4c
    pullPolicy: 'IfNotPresent'

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.1.2.1"
    digest: sha256:b3a8b080fb9640796879105d9c6544a0630a4d2a0e3dc65cc84ac690e9522ba5
    pullPolicy: IfNotPresent
    pullSecret: ""
  # 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: []

  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: []

Sample values.yaml file for v6.1.2.2

# (C) Copyright 2019-2022 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/BdPzHS
  ## SFG  @ https://ibm.biz/BdPzHv
  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.1.2.2"
  # If digest is specified, it takes precedence over tag
    digest: sha256:7426e3f8d935f28135b3f2b9cd5bc653105af9609606da967cb1cf70ca0b49de
    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"
    name: "b2bi-resources"
    tag: "6.1.2.2"
    digest: sha256:660f8b8a48985d2981dc1bb31b9667aabfe4b8829221a8e48e64e3de01eaed08
    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.1.2.2"
     # If digest is specified, it takes precedence over tag
    digest: sha256:d90c1f4a0d74a69fb00aa52a55540a5780d2d6d48867b41f31a647fea3be1f46
    pullPolicy: IfNotPresent
    pullSecret: ""


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"
#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:
    
  #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  
  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:  
    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:  
    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:  
    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:  
    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:  
    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'
    name: 'opencontent-common-utils'
    tag: '1.1.60'
    digest: sha256:6a514b98fe8f006d00a4bbbcc87241d900ac6a6f28f035d89a61a47aa7af25c7
    pullPolicy: 'IfNotPresent'

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.1.2.2"
    digest: sha256:b3a8b080fb9640796879105d9c6544a0630a4d2a0e3dc65cc84ac690e9522ba5
    pullPolicy: IfNotPresent
    pullSecret: ""
  # 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: []

  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: []

Sample values.yaml file for v6.1.2.3

# (C) Copyright 2019-2022 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/BdPzHS
  ## SFG  @ https://ibm.biz/BdPzHv
  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.1.2.3"
  # If digest is specified, it takes precedence over tag
    digest: sha256:4199ccb92349366fa5debbc7d4bccff9e56edaf0b22fa473e2040baedaa0acc8
    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"
    name: "b2bi-resources"
    tag: "6.1.2.3"
    digest: sha256:1d9045511c1203e6d6d25ed32c700dfca230076412915857c2c40b1409151b7c
    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.1.2.3"
     # If digest is specified, it takes precedence over tag
    digest: sha256:ff279b7df12a22a1773753c8d03a1e32fb5ab8395b94c203dc3fa599e4184551
    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"
#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:
    
  #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  
  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'
    name: 'opencontent-common-utils'
    tag: '1.1.60'
    digest: sha256:6a514b98fe8f006d00a4bbbcc87241d900ac6a6f28f035d89a61a47aa7af25c7
    pullPolicy: 'IfNotPresent'
  extraLabels: {}

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.1.2.3"
    digest: sha256:82af150873315122c804ec06ea356f7db186732f73ec00338076746202d84d25
    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: []

  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: []

Sample values.yaml file for v6.1.2.5

# (C) Copyright 2019-2022 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/BdPzHS
  ## SFG  @ https://ibm.biz/BdPzHv
  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.1.2.5"
  # If digest is specified, it takes precedence over tag
    digest: sha256:94782ea275bbc4c98a6eb0d15e052022b4739f1f9c1a1fcdaa1ef625a32791af
    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"
    name: "b2bi-resources"
    tag: "6.1.2.5"
    digest: sha256:cd2de11891254d2161d5931626bef188ff30fdfa240769454838056b817a5afb
    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.1.2.5"
     # If digest is specified, it takes precedence over tag
    digest: sha256:f507441ed544be34784d07e391a1b1fad11d8d6648c76870a6892334e80cd77b
    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"
#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  
  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
      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:

  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'
    name: 'opencontent-common-utils'
    tag: '1.1.60'
    digest: sha256:6a514b98fe8f006d00a4bbbcc87241d900ac6a6f28f035d89a61a47aa7af25c7
    pullPolicy: 'IfNotPresent'
  extraLabels: {}

purge:
  enabled: true
  image:
    repository: "cp.icr.io/cp/ibm-b2bi/b2bi-purge"
  # Provide the tag value in double quotes
    tag: "6.1.2.5"
    digest: sha256:3f64a08de0720e6e78404e8ab324365a804dd8afeecc3a8ae85683ef1a44bf92
    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: []

  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: []