Configuring - Understanding values.yaml

Following table describes configuration parameters listed in values.yaml file in Helm charts and are used to complete installation. Use the following steps to complete this action:
  • Specify parameters that need to be overridden using the --set key=value[,key=value] argument at Helm install.
    Example:
    helm version 2
    
    helm install --name <release-name> \
    --set cdArgs.cport=9898 \
    ...
    ibm-connect-direct-1.1.x.tgz
    helm version 3
    
    helm install <release-name> \
    --set cdArgs.cport=9898 \
    ...
    ibm-connect-direct-1.1.x.tgz
    
  • Alternatively, provide a YAML file with values specified for these parameters when you install a Chart. Create a copy of values.yaml file such as, my-values.yaml and edit the values that you would like to override. Use the my-values.yaml file for installation.
    Example
    helm version 2
    helm install --name <release-name> -f my-values.yaml ... ibm-connect-direct-1.1.x.tgz
    helm version 3
    
    helm install <release-name> -f my-values.yaml ... ibm-connect-direct-1.1.x.tgz
    
  • To mount extra volumes use any of the following templates.

    For Hostpath
    extraVolumeMounts:
      - name: <name>
        mountPath: <path inside container>
    extraVolume:
      - name: <name same as name in extraVolumeMounts>
        hostPath:
          path: <path on host machine>
          type: DirectoryOrCreate
    For NFS Server
    extraVolumeMounts:
      - name: <name>
        mountPath: <path inside container>
    extraVolume:
      - name: <name same as name in extraVolumeMounts>
        nfs:
          path: <nfs data path>
          server: <server ip>

    Alternatively, this can also be done using --set flag.

    Example

    helm install --name <release-name> --set extraVolume[0].name=<name>,extraVolume[0].hostPath.path=<path on host machine>,extraVolume[0].hostPath.type="DirectoryOrCreate",extraVolumeMounts[0].name=<name same as name in extraVolume>,extraVolumeMounts[0].mountPath=<path inside container> \
    ...
    ibm-connect-direct-1.1.x.tgz
    OR
    
    helm install --name <release-name> --set extraVolume[0].name=<name>,extraVolume[0].nfs.path=<nfs data path>,extraVolume[0].nfs.server=<NFS server IP>, extraVolumeMounts[0].name=<name same as name in extraVolume>,extraVolumeMounts[0].mountPath=<path inside container> \
    ...
    ibm-connect-direct-1.1.x.tgz
Parameter Description Default Value
licenseType Specify prod or non-prod for production or non-production license type respectively prod
license License agreement. Set true to accept the license. false
env.timezone Timezone UTC
arch Node Architecture amd64
replicaCount Number of deployment replicas 1
image.repository Image full name including repository  
image.tag Image tag  
digest.enabled Enable/Disable digest of image to be used false
digest.value The digest value for the image  
image.imageSecrets Image pull secrets  
image.pullPolicy Image pull policy IfNotPresent
cdArgs.nodeName Node name cdnode
cdArgs.crtName Certificate file name  
cdArgs.cport Client Port 1363
cdArgs.sport Server Port 1364
saclConfig Configuration for SACL n
cdArgs.configDir Directory for storing Connect:Direct configuration files CDFILES

appUser.name

Name of Non-Admin Connect:Direct User

appuser

appUser.uid

UID of Non-Admin Connect:Direct User  

storageSecurity.fsGroup

Group ID for File System Group 45678
storageSecurity.supplementalGroups Group ID for Supplemental group 5555
appUser.gid GID of Non-Admin Connect:Direct User  
persistence.enabled To use persistent volume true
pvClaim.existingClaimName Provide name of existing PV claim to be used  
persistence.useDynamicProvisioning To use storage classes to dynamically create PV false
pvClaim.accessMode Access mode for PV Claim ReadWriteOnce
pvClaim.storageClassName Storage class of the PVC  
pvClaim.selector.label PV label key to bind this PVC  
pvClaim.selector.value PV label value to bind this PVC  
pvClaim.size Size of PVC volume 100Mi
service.type Kubernetes service type exposing ports LoadBalancer
service.apiport.name API port name api
service.apiport.port API port number 1363
service.apiport.protocol Protocol for service TCP
service.ftport.name Server (File Transfer) Port name ft
service.ftport.port Server (File Transfer) Port number 1364
service.ftport.protocol Protocol for service TCP

service.loadBalancerIP

Provide the LoadBalancer IP  
service.annotations Provide the annotations for service {}
service.externalIP External IP for service discovery  
secret.certSecretName Name of secret resource of certificate files for dynamic provisioning  
secret.secretName Secret name for Connect:Direct password store  
resources.limits.cpu Container CPU limit 500mi
resources.limits.memory Container memory limit 2000Mi
resources.requests.cpu Container CPU requested 500m
resources.requests.memory Container Memory requested 2000Mi
serviceAccount.create Enable/disable service account creation true
serviceAccount.name Name of Service Account to use for container  
extraVolumeMounts Extra Volume mounts  
extraVolume Extra volumes  
affinity.nodeAffinity.required

DuringSchedulingIgnoredDuring

Execution

k8sPodSpec.nodeAffinity.required

DuringSchedulingIgnoredDuring

Execution

 
affinity.nodeAffinity.preferred

DuringSchedulingIgnoredDuring

Execution

k8sPodSpec.nodeAffinity.preferred

DuringSchedulingIgnoredDuring

Execution

 
affinity.podAffinity.required

DuringSchedulingIgnoredDuring

Execution

k8s PodSpec.podAntiAffinity.

requiredDuringSchedulingIgnored

DuringExecution

 
affinity.podAffinity.preferred

DuringSchedulingIgnoredDuring

Execution

k8sPodSpec.podAntiAffinity.

preferredDuringScheduling

IgnoredDuringExecution

 
affinity.podAntiAffinity.required

DuringSchedulingIgnoredDuring

Execution

k8sPodSpec.podAntiAffinity.

requiredDuringSchedulingIgnored

DuringExecution

 
affinity.podAntiAffinity.preferred

DuringSchedulingIgnoredDuring

Execution

k8sPodSpec.podAntiAffinity.

preferredDuringSchedulingIgnored

DuringExecution

 
livenessProbe.initialDelaySeconds Initial delay for liveness 230
livenessProbe.timeoutSeconds Timeout for liveness 30
livenessProbe.periodSeconds Time period for liveness 60
readinessProbe.initialDelaySeconds Initial delays for readiness 220
readinessProbe.timeoutSeconds Timeout for readiness 5
readinessProbe.periodSeconds Time period for readiness 60
route.enabled Route for OpenShift Enabled/Disabled false
cduser.uid UID for cduser 45678
cduser.gid GID for cduser 45678
ldap.enabled Enable/Disable LDAP configuration false
ldap.host LDAP server host  
ldap.port LDAP port  
ldap.domain LDAP Domain  
ldap.tls Enable/Disable LDAP TLS false
lap.caCert LDAP CA Certificate name  
ldap.clientValidation Enable/Disable LDAP Client Validation false
ldap.clientCert LDAP Client Certificate name  
ldap.clientKey LDAP Client Certificate key name  
Note: For exact parameters, its value and its description, please refer to values.yaml file present in the helm chart itself. Untar the helm chart package to see this file inside chart directory.

Affinity

The chart provides ways in form of node affinity, pod affinity and pod anti-affinity to configure advance pod scheduling in Kubernetes. See, Kubernetes documentation for details.