Configuration
This section describes the configuration parameters of the Launcher Server when Helm is used for installation. An alternate configuration method is used for an installation of the Launcher Server as a single container in a container runtime such as Docker or Podman. See the section on the ibm-itx-ls container image for information about configuring a single-container installation.
The main configuration settings of the Helm chart values.yaml file for the Launcher Server can be viewed below.The configuration settings are a subset of the total settings available to the ITX Launcher Server. For more information, see the installation’s values.yaml and README.md files. The config section of the values.yaml file enables the ITX configuration settings in the config.yaml file to be overridden.
Each config.yaml setting is referenced under the config section according to camel case convention, whereby the first letter of a named setting is lowercase while any remaining words in the name start with a capital letter.
Whenever changes are made to the below properties during a Helm upgrade, the pods that are associated with the existing installation will not automatically restart - unless the change affects the actual deployment manifest. For example, an update to the image name or resource metrics will change the deployment manifest of the installation, which in turn will trigger an automatic restart of the pods.
However, a basic change to a property that is linked to the ITX config.yaml file, such as the logging level, will not trigger an automatic restart. The restart would need to take place manually, as provided by the Kubernetes scale command.
| values.yaml property | Description |
|---|---|
| Licensing | |
| license | Switch with true/false values for accepting the terms and conditions of the license agreement. The default is false. |
| General | |
| general.replicaCount | Defines the number of Launcher instances to start. The default is 1. |
| Launcher Settings | |
| launcher.terminationGracePeriodSeconds | Number of seconds to gracefully shutdown Launcher. Default is 90. |
| launcher.resourceRegistry | The MRC file to be used during startup. |
| launcher.admin.username | Login name of Launcher user. Default is “admin”. |
| launcher.admin.secretFile | File name of password, as per “external.secrets.data” configuration. |
| HTTP Listener Settings | |
| httpListener.enabled | Enables startup of HTTP Listener. Default is true. |
| httpListener.ssl.enabled | Enables TLS/SSL communication. Default is false |
| httpListener.ssl.certificate.http | Name of server certificate for external HTTP/S clients. |
| httpListener.ssl.certificate.launcher | Name of server certificate for internal Launcher clients. |
| Image Settings | |
| image.registry | Image registry host and path. Defaults to
“cp.icr.io/cp”. |
| image.repository | Image repository name. Defaults to “ibm-itx-ls”. |
| image.digest | Image digest value, which takes priority over image tag value. |
| image.tag | Image tag value. |
| image.pullPolicy | Image pull policy, one of Always, Never and IfNotPresent. |
| Image.pullSecret | Name of the pull image Secret object that contains credentials for pulling images. |
| Probes Settings | |
| probes.liveness.enabled | Switch with true/false values to enable/disable liveness probe. The default is false. |
| probes.liveness.initialDelaySeconds | Number of seconds to wait before making the initial liveness probe call. The default is 30. |
| probes.liveness.periodSeconds | Number of seconds between liveness probe calls. The default is 60. |
| probes.readiness.enabled | Switch with true/false values to enable/disable readiness probe. The default is false. |
| probes.readiness.initialDelaySeconds | Number of seconds to wait before making the initial readiness probe call. The default is 45. |
| probes.readiness.periodSeconds | Number of seconds between readiness probe calls. The default is 20. |
| Logging | |
| config.runtime.launcher.log.console | Enables Kubernetes console logging. Default is true. |
| Resource Constraints | |
| resources.requests.cpu | Requested number of CPU cores or millicores (using m suffix). The default is 1000m. |
| resources.requests.memory | Requested memory in bytes (with optional base-10 suffix like M or G, or base-2 suffix, like Mi or Gi. The default is 4Gi. |
| resources.limits.cpu | Upper limit number of CPU cores or millicores (using m suffix). The default is 4000m. |
| resources.limits.memory | Upper limit for memory in bytes (with optional base-10 or base-2 suffix, like Gi for gigabytes). The default is 8Gi, except for the executor setting which is 16Gi. |
| Persistent Volumes | |
| persistence.data|logs.capacity | Capacity to request for data persistent volume. Base-10 suffixes like M and G, or base-2 suffixes like Mi and Gi can be used. The default is 10Gi for data and 10Gi for logs. |
| persistence.data|logs.accessMode | Access mode to specify for the data/logs persistent volume. It can be set to ReadWriteMany or ReadWriteOnce. The default is ReadWriteOnce. |
| persistence.data|logs.useDynamicProvisioning | Switch with true/false values to enable/disable dynamic provisioning for the data/logs persistent volume. The default is true. |
| persistence.data|logs.storageClassName | Name of the storage class supported by the cluster to use for dynamic provisioning the data/logs persistent volumes. |
| persistence.data|logs.enabled |
Switch with true/false to enable/disable persistence. Consider setting it to true if COS is used. The default is false. |
| Service Settings | |
| service.type | Type of the network service to provision, one of ClusterIP, NodePort, LoadBalancer or ExternalName. Defaults to ClusterIP. |
| service.port.http | Port to expose for the HTTP traffic, when SSL is not enabled. The default is 5017. |
| service.port.https | Port to expose for the HTTPS traffic, when SSL is enabled. The default is 5017. |
| Cloud Object Storage (COS) Settings | |
| external.cos.objects[] | Enables multiple ZIP files of maps and system flows to get downloaded from COS. The default is empty . |
| external.cos.objects.name | Name of ZIP object to download and unzip. |
| external.cos.objects.bucket | Name of bucket that contains the ZIP object. |
| external.cos.objects.targetDir | Target directory that ZIP file gets extracted to. |
| external.cos.objects.platform | Set to s3 for S3-based platform
or gcp for Google- based platform. |
| external.cos.objects.s3.accessKey|secretKey|region|endpoint | Credentials and location information for S3-based platform. The accessKey and secretKey are the keys of the secret, as specified under Secret Settings. |
| external.cos.objects.gcp.cf | The key of the secret which contains the Credentials file, as specified under Secret Settings. |
| Secret Settings | |
| external.secrets[].name|data | An array of secret names and keys, which are mounted
under the /xdata/sec folder with a filename that
uses the value of the data setting. |
| ConfigMap Settings | |
| external.configMaps[].name|key|path | An array of ConfigMap objects
that get mounted by default under the /xdata/cfg
folder. |
| Auto Scaling Settings | |
| autoscaling.enabled | Switch with true/false values to enable/disable auto scaling of ITX Launcher Server pods. The default is false. |
| autoscaling.maxreplicas | Maximum number of ITX Launcher Server pods to auto scale. |
| autoscaling.minreplicas | Minimum number of ITX Launcher Server pods with which to start. |
| autoscaling.targetCPUUtilizationPercentage | Threshold CPU utilization percentage to scale a new ITX Launcher Server pod. |
| autoscaling.targetMemoryUtilizationPercentage | Threshold memory utilization percentage to scale a new ITX Launcher Server pod. |
| autoscaling.custom.enabled | Switch with true/false values to enable/disable custom metrics. The default is false. |
| autoscaling.custom.types[] | An array of custom metric type definitions, as defined by Kubernetes v2 API version. |
| autoscaling.custom.behavior | Behavior policies for scaling up and scaling down the deployment, as defined by the Kubernetes v2 API version. |
| Service Mesh Settings | |
| istio.enabled | Service mesh participation is enabled. The Istio service mesh provides traffic management, security, and monitoring capabilities across the cluster. See the values.yaml file for configuration adjustments and customized settings The default is false. |