Configuration Parameters for Release Runners
The configuration parameters for Release Runners are set or overridden using the configuration files, environment variables, or command line switches.
The configuration is performed in the following order:
- Default configuration file
- Configuration files defined by the
--profiles
switch on the command line - Environment variables
- Configuration switches on the command line
The default values are set from the default configuration file that is available inside the Release Runner image. This image also contains predefined environment related configuration files.
Note: Start the runner using the
--profiles
switch to pick up these configurations.
Additionally, if you want to change single settings, you can either use the environment variables or command line switches. For example, you must export the RELEASE_RUNNER_PROFILE=docker
environment value.
Configuration parameters
Property Name | Environment Variable | Description |
---|---|---|
release.runner.profile | RELEASE_RUNNER_PROFILE | An active runner profile such as Kubernetes or Docker. |
release.runner.release-url | RELEASE_RUNNER_RELEASE_URL | Release server URL. |
release.runner.token | RELEASE_RUNNER_TOKEN | Personal Access Token (PAT) for the Release server (defined in Release configuration). |
release.runner.capabilities | RELEASE_RUNNER_CAPABILITIES | A default set of Runner capabilities. |
release.runner.name | RELEASE_RUNNER_NAME | Name of the Runner. |
release.runner.version | RELEASE_RUNNER_VERSION | Version of the Runner that should be inline with the published version. |
release.runner.store-name | RELEASE_RUNNER_STORE_NAME | Name of the Runner data store file. |
release.runner.store-in-k8s | RELEASE_RUNNER_STORE_IN_K8S | When set to true, it indicates the preference for using Secrets instead of an instance of Bolt database. It is recommended to set this variable to true when running in a Kubernetes cluster. However, when you set it to true outside of a kKubernetes cluster, it will result in initialization errors. This switch should be used when you want to avoid the need for creating volumes |
release.runner.cached-store | RELEASE_RUNNER_CACHED_STORE | Use cache wrapper to the store, to optimize performance of store. It is recommended when you set release.runner.store-in-k8s to true . |
release.runner.key-password | RELEASE_RUNNER_KEY_PASSWORD | Private key password. |
release.runner.log-level | RELEASE_RUNNER_LOG_LEVEL | The log level options of the release runner are as follows:
|
release.runner.json-logging | RELEASE_RUNNER_JSON_LOGGING | Output logs in json format. |
release.runner.health.address | RELEASE_RUNNER_HEALTH_ADDRESS | An address at which the health service runs. You can change the port on which the service is running. The defaults value is 0.0.0.0:8686 . |
release.runner.logging.script-log | RELEASE_RUNNER_LOGGING_SCRIPT_LOG | Set to SILENT , LOG , or SEND .
|
release.runner.rest-client.proxy-enabled | RELEASE_RUNNER_REST_CLIENT_PROXY_ENABLED | Set to true, if the Release server is reached through a proxy server. |
release.runner.rest-client.proxy-url | RELEASE_RUNNER_REST_CLIENT_PROXY_URL | Proxy Server URL used for REST connections. |
release.runner.rest-client.max-connections | RELEASE_RUNNER_REST_CLIENT_MAX_CONNECTIONS | Maximal number of connections used towards Release. |
release.runner.rest-client.hostname-verification-enabled | RELEASE_RUNNER_REST_CLIENT_HOSTNAME_VERIFICATION_ENABLED | Checks if the hostname matches the key. |
release.runner.rest-client.self-signed-certificate-enabled | RELEASE_RUNNER_REST_CLIENT_SELF_SIGNED_CERTIFICATE_ENABLED | Allows self-signed certificates. |
release.runner.rest-client.truststore | RELEASE_RUNNER_REST_CLIENT_TRUSTSTORE | A P12 truststore that contains CA for Release server. |
release.runner.rest-client.truststore-password | RELEASE_RUNNER_REST_CLIENT_TRUSTSTORE_PASSWORD | Password for the Truststore. |
release.runner.control-channel.ping-timeout | RELEASE_RUNNER_CONTROL_CHANNEL_PING_TIMEOUT | The time interval, in seconds, at which the ping timeout checks are scheduled to occur. For example, when you set 3 as the value, it will check for every three seconds. |
release.runner.control-channel.connection-idle-retry-delay | RELEASE_RUNNER_CONTROL_CHANNEL_CONNECTION_IDLE_RETRY_DELAY | Number of seconds after which the connection is considered as dead. |
release.runner.control-channel.connection-failure-retry-delay | RELEASE_RUNNER_CONTROL_CHANNEL_CONNECTION_FAILURE_RETRY_DELAY | Number of seconds, before attempting to reconnect after a connection failure. |
release.runner.kubernetes.in-cluster-config | RELEASE_RUNNER_KUBERNETES_IN_CLUSTER_CONFIG | Used in cluster configuration for managing the cluster. The default value is true . You can set to false only for development purposes. |
release.runner.kubernetes.kubeconfig-path | RELEASE_RUNNER_KUBERNETES_KUBECONFIG_PATH | If the release.runner.kubernetes.in-cluster-config is set to false , use the kubeconfig file as the configuration for the cluster. YOu can use this only for development purposes. |
release.runner.kubernetes.pod-hostname | RELEASE_RUNNER_KUBERNETES_POD_HOSTNAME | Hostname under which the pod is available from the outside. |
release.runner.kubernetes.service-name | RELEASE_RUNNER_KUBERNETES_SERVICE_NAME | This value is used when creating dynamic headless-service URL for the StatefulSet. |
release.runner.kubernetes.namespace | RELEASE_RUNNER_KUBERNETES_NAMESPACE | Namespace used for running everything inside the runner. |
release.runner.kubernetes.image-pull-policy | RELEASE_RUNNER_KUBERNETES_IMAGE_PULL_POLICY | ImagePullPolicy for the plugin image. |
release.runner.kubernetes.job-cpu-request | RELEASE_RUNNER_KUBERNETES_JOB_CPU_REQUEST | Setting for minimum CPU, in cores (500m = .5 cores). |
release.runner.kubernetes.job-memory-request | RELEASE_RUNNER_KUBERNETES_JOB_MEMORY_REQUEST | Setting for minimum memory, in bytes (500Gi = 500GiB = 500 * 1024 * 1024 * 1024). |
release.runner.kubernetes.job-cpu-limit | RELEASE_RUNNER_KUBERNETES_JOB_CPU_LIMIT | Setting for maximum CPU, in cores. |
release.runner.kubernetes.job-memory-limit | RELEASE_RUNNER_KUBERNETES_JOB_MEMORY_LIMIT | Setting for maximum memory, in bytes (500Gi = 500GiB = 500 * 1024 * 1024 * 1024). |
release.runner.kubernetes.request-retry-backoff-limit | RELEASE_RUNNER_KUBERNETES_REQUEST_RETRY_BACKOFF_LIMIT | Kubernetes client retry backoff limit. |
release.runner.kubernetes.request-retry-backoff-interval | RELEASE_RUNNER_KUBERNETES_REQUEST_RETRY_BACKOFF_INTERVAL | Kubernetes client retry backoff interval. |
release.runner.kubernetes.encrypt-job-data | RELEASE_RUNNER_KUBERNETES_ENCRYPT_JOB_DATA | Setting for encrypting job data (use encrypted data when sending it to the pod). |
release.runner.docker.docker-host | RELEASE_RUNNER_DOCKER_DOCKER_HOST | Hostname under which the Docker host is available from the container. Generally, it's localhost because docker containers run with the Host network. |
release.runner.docker.job-cpu-limit | RELEASE_RUNNER_DOCKER_JOB_CPU_LIMIT | Setting for maximum CPU in cores. |
release.runner.docker.job-memory-limit | RELEASE_RUNNER_DOCKER_JOB_MEMORY_LIMIT | Setting for maximum memory, in bytes. |
release.runner.docker.trust-certs | RELEASE_RUNNER_DOCKER_TRUST_CERTS | Allows unsigned certificates. |