Helm Installation Parameters
The following table lists the parameters that you set during installation of the Helm chart for the Agent in Kubernetes.
-
For an online list of the parameters that you can set during installation of the Helm chart, run the following command:
helm show values controlm/controlm-agent
-
For more information about Kubernetes resources that certain parameters are based on, use the kubectl explain command. For example:
kubectl explain statefulset.spec.template.spec.affinity
-
Object-type and array-type values must be defined in JSON format (using the --set-json switch). If you obtain them in YAML format, convert them to JSON. You can use the JQ command on Linux for this conversion.
Parameter |
Description |
Required or Optional |
Type |
---|---|---|---|
api.endpoint |
Defines the URL for Control-M Automation API with the following format: https://<controlm>/automation-api |
Required |
String |
api.token |
Defines the API token value to authenticate and connect to the Automation API server. For information about obtaining this token, see Creating an API Token. Ensure that the role associated with this API token is associated with your Agents with an access level of UPDATE or FULL or has Configuration Admin Management set to an access level of UPDATE or FULL, and is also associated with your Agent tag |
Optional |
String |
api.username |
Defines a Control-M username to use (together with a password) to connect to the Automation API server, instead of using an API token. If you are working in Compatibility mode after an upgrade from Control-M/EM 9.0.20.200, authentication using a username and password is required. Otherwise, BMC recommends using an API token. |
Optional |
String |
api.password |
Defines a password for the defined Control-M username to use to connect to the Automation API server, instead of using an API token. |
Optional |
String |
api.secret |
Defines the name of a Kubernetes secret that contains the API token value To create such a Kubernetes secret, use one of the following commands:
|
Optional |
String |
ai.additionalPluginsConfigMapName |
Defines the name of a configMap that lists additional Control-M plug-ins to dynamically deploy in the Agent pod, along with the Kubernetes plug-in. Supported plug-ins are plug-ins that were developed in Control-M Application Integrator, including Control-M Integrations. For more information, see Setting Up Dynamic Deployment of Additional Plug-ins. |
Optional |
String |
ai.additionalCertsConfigMapName |
Defines the name of a configMap that lists the certifications required by the additional Control-M plug-ins that you deploy in the Agent pod. |
Optional |
String |
ai.proxyConfigMapName |
Defines the name of a configMap that contains Application Integrator proxy settings for the additional Control-M plug-ins that you deploy in the Agent pod. |
Optional |
String |
agent.tag |
Defines a logical name that is used to label specific Agents into a group with specific authorizations. For more information about agent tags, see Agent General Parameters. |
Optional |
String |
agent.replicas |
Determines the number of Agent pods to run. Default: 2 Kubernetes resource: statefulset.spec.replicas |
Optional |
Integer |
agent.ssl |
Determines whether the Agent uses SSL for communication with the Control-M/Server. Use this setting only if the Control-M/Server is not set to SSL mode by default and you want to set SSL for a specific Agent. Values: true | false Default: false |
Optional |
String |
server.name |
Defines the logical name of the Control-M/Server that the Agent connects to. To obtain this value, your Control-M Administrator can run the ctm config servers::get API command and copy the returned "name" value. |
Required |
String |
server.host |
Defines the hostname of the computer where the Control-M/Server runs. To obtain this value, your Control-M Administrator can run the ctm config servers::get API command and copy the returned "host" value. |
Required |
String |
server.port |
Defines the listening port of the Control-M/Server. Obtain this value from your Control-M Administrator. |
Required |
String |
server.ip |
Defines the public IPv4 or IPv6 address of the Control-M/Server. This is required only if the hostname cannot be resolved by DNS lookup from the cluster, as is often the case in the cloud. |
Optional |
String |
server.hostgroup |
Defines the name of the host group that contains the deployed Agent. Default: k8s_group |
Optional |
String |
server.secondaryHost |
Defines the name of the secondary Control-M/Server host used in High Availability configurations. |
Optional |
String |
server.secondaryIp |
Defines the public IPv4 or IPv6 address of the secondary Control-M/Server host used in High Availability configurations. This is required only if the secondary hostname cannot be resolved by DNS lookup from the cluster. |
Optional |
String |
server.dr.host |
Defines the hostname of the Disaster Recovery (DR) Control-M/Server host. |
Optional |
String |
server.dr.ip |
Defines the public IPv4 or IPv6 address of the DR Control-M/Server. This is required only if the DR hostname cannot be resolved by DNS lookup from the cluster, as is often the case in the cloud. |
Optional |
String |
server.dr.secondaryHost |
Defines the name of the secondary DR Control-M/Server host used in High Availability configurations. |
Optional |
String |
server.dr.secondaryIp |
Defines the public IPv4 or IPv6 address of the secondary DR Control-M/Server host used in High Availability configurations. This is required only if the secondary DR hostname cannot be resolved by DNS lookup from the cluster. |
Optional |
String |
image.repo |
Defines the path to the container image repository, in the following format: <registry hostname>/<account name>/<repository name> If you do not define a registry hostname, Kubernetes assumes the Docker public registry (in the Docker Hub). Default: controlm/agent Change the default value only if you created your own non-default container image, as described in Docker Container Image. Kubernetes resource: statefulset.spec.template.spec.containers.image |
Optional |
String |
image.tag |
Defines the tag associated with the image. Tags enable you to identify different versions of the same series of images. By default, the Helm chart uses a BMC-provided image with the 9.21.315-k8s-openjdk tag. If you created your own non-default container image, use this parameter to specify its tag. For more information, see Docker Container Image. Kubernetes resource: statefulset.spec.template.spec.containers.image |
Optional |
String |
image.pullPolicy |
Determines whether to update the image (by pulling a new version of the image) when the kubelet launches a container. Values:
Default: IfNotPresent Kubernetes resource: statefulset.spec.template.spec.containers.imagePullPolicy |
Optional |
String |
image.pullSecrets |
Defines a secret (password) to access a private registry. --set image.pullSecrets"[0]".name=<secret_name> By default, no secret is used. Define a secret if you created your own non-default container image, as described in Docker Container Image. If so, you might need a secret in your cluster. To create the secret, see the Kubernetes documentation. Kubernetes resource: statefulset.spec.template.spec.imagePullSecrets |
Optional |
Array |
pod.annotations |
Defines annotations for pod metadata. In yaml format: Copy
Kubernetes resource: statefulset.spec.template.spec.annotations |
Optional |
Array |
pod.affinity |
Defines the pod scheduling constraints. In yaml format: Copy
Kubernetes resource: statefulset.spec.template.spec.affinity |
Optional |
Array |
pod.nodeSelector |
Defines node labels for the NodeSelector, so that the pod is scheduled on the nodes. Default labels:
Kubernetes resource: statefulset.spec.template.spec.nodeSelector |
Optional |
Array |
pod.resources |
Defines Kubernetes memory and CPU resource requests and resource limits for the pod. The default memory size is 2Gi. In yaml format: Copy
Kubernetes resource: statefulset.spec.template.spec.containers.resources |
Optional |
Array |
pod.serviceAccount.create |
Determines whether to create a Service Account. If this parameter is set to true, the Service Account has the default name ".Release.Name.-sa". You can use pod.serviceAccount.name to change the default name. Values: true | false Default: true If you decide to use your own Service Account (for example, if the user responsible for installing this Helm chart is not authorized to create a Service Account), set this parameter to false. If you set this parameter to false, ensure that you have granted the required privileges to your Service Account, as described in Service Account Privileges. |
Optional |
String |
Defines the name of the Service Account to use to run the pod. Optional if pod.serviceAccount.create is set to true. Required if pod.serviceAccount.create is set to false. Default: ".Release.Name.-sa" (where .Release.Name is the name that you assigned to this installation instance) Kubernetes resource: statefulset.spec.template.spec.serviceAccountName |
Optional |
String |
|
pod.securityContext |
Determines which security context constraints (SCCs) control pod permissions on a RedHat OpenShift Kubernetes-based platform. By default (when this parameter is not explicitly set), the Agent is deployed with permission to use the nonroot-v2 SCC. If your IT environment or corporate security policies do not allow you to deploy a privileged pod, set this parameter to a value of auto. This disables the use of the nonroot-v2 SCC and the Agent is instead deployed with permission to use the cluster default SCC (typically, the restricted-v2 SCC). Kubernetes resource: statefulset.spec.template.spec.securityContext |
Optional |
String |
pod.livenessProbe.timeoutSeconds |
Determines the number of seconds to wait for a response from the liveness probe before a timeout occurs. The liveness probe verifies that the Agent is running properly. Default: 2 Kubernetes resource: statefulset.spec.template.spec.containers.livenessProbe.timeoutSeconds |
Optional |
Integer |
pvc.accessMode |
Determines the required access mode of the volume used by the Persistent Volume Claim (PVC). Values:
Default: ReadWriteMany The default ReadWriteMany is necessary when you deploy 2 or more Agents (as set by agent.replicas) on separate nodes. Kubernetes resource: persistentvolumeclaim.spec.accessModes |
Optional |
String |
pvc.storageClass |
Defines the name of the Storage Class required by the Persistent Volume Claim (PVC).
Kubernetes resource: persistentvolumeclaim.spec.storageClassName |
Required |
String |
pvc.volumeSize |
Determines the minimum amount of persistent volume required. Default: 10Gi, appropriate for 2 Agents (the default value of agent.replicas) Kubernetes resource: persistentvolumeclaim.spec.resources.requests.storage |
Optional |
String |