Chart configuration samples
Use additional volumes and volumes mounts
Below sample demonstrate how to add extra volumes and volumes mounts to your Pods.
Assuming that a secret called “my-company-secret” is mounted by a K8s administrator in your namespace, you could mount it to your Agents pods by adding the below in your values file, in the Agent section:
...
extraVolumeMounts:
- mountPath: /home/agent/my-company-secret
name: my-company-secret
readOnly: true
extraVolumes:
- name: my-company-secret
secret:
secretName: my-company-secret
...
That way, your secret content will be mounted to the Agent(s) at /home/agent/my-company-secret.
Consult the official Kubernetes storage documentation at https://kubernetes.io/docs/concepts/storage/ for more details.
Add lifecycle hooks to your Pods
Assuming you would like to perform Agent post start actions, for instance adding a CA cert to a NSSB database store, add the below to your values file, in the Agent section:
...
lifecycleHooks:
postStart:
exec:
command:
- /bin/bash
- -c
- certutil -d /home/agent/.pki/nssdb -N --empty-password && certutil -A -n "My Company Root CA" -t "TCu,Cu,Tu" -i /home/agent/my-company-secret/ca.crt -d sql:/home/agent/.pki/nssdb/
...
Consult the official Kubernetes Pod lifecycle documentation at https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/ for more details.
Install dependencies to your PODs (before startup)
It is possible to install external dependencies before startup of the Controller or the Agents Pods using the FULL_STEP_DP special property, as per below:
...
config:
FULL_STEP_DP: "https://nexus.mycompany.ch/mydependency-1.0.0.zip,https://artifactory.mycompany.ch/myotherdependency-1.0.0.zip"
...
The dependencies have to be specified as fully qualified URLs, comma separated, without extra spaces.
There are requirements for the dependencies installation:
- They must be zip archives
- There must be an “install.sh” file in the archive root -> the “install.sh” script will be executed on the Pods at startup, and can be used to perform various tasks before startup
Step Controller additional properties
It is possible to customize the Step Controller configuration file by appending extra properties, using the config.additionalProperties setting:
...
config:
additionalProperties:
cosmetics.folder: /home/controller/data/cosmetics
cosmetics.interceptedResourceList: step-variables.css,logotopleft.png
encryption.manager.keypair.folder: /home/controller/data/encryptionmanager
plugins.EncryptionManagerControllerPlugin.enabled: true
plugins.PrometheusControllerPlugin.enabled: true
plugins.jmeter.home: /home/controller/jmeter-5.6.2/apache-jmeter-5.6.2/
plugins.pdftest.gsexe: /home/controller/ghostscript/bin/ghostscript
plugins.soapui.home: /home/controller/soapui-5.7.0/SoapUI-5.7.0/
...
...
Override default logback configuration (Step Controller and Java Agent only)
It is possible to override the default Step Controller and Java Agent logback.xml configuration file using the *.config.logbackConfiguration setting.
Below an example for the Step Controller:
...
controller:
config:
logbackConfiguration: |
<configuration scan="true" scanPeriod="60 seconds">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<logger name="org.lightcouch" level="error" />
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
...
...