application.properties Configuration
This section contains information about the parameters of the application.properties file.
General Settings
| Parameter | Required | Default Value | Description |
|---|---|---|---|
runner.executor |
Yes | Sets the type of agent to be launched. | |
runner.id |
Yes | Automatically set during agent registration | Agent ID. |
runner.gitflic-host |
Yes | Automatically set during agent registration | The address where GitFlic is located. |
runner.registrationToken |
Yes | Automatically set during agent registration | Token obtained from the GitFlic application. |
runner.workingDir |
No | $HOME/gitflic-runner - Unix %USERPROFILE%/gitflic-runner - Windows |
Sets the absolute path to the agent's working directory. Available in agent version 2.0.x and above. |
runner.helperDir |
No | $HOME/gitflic-runner - Unix %USERPROFILE%/gitflic-runner - Windows |
Sets the absolute path to the directory containing the helper.jar, helper.sh/helper.bat files. Available in agent version 2.0.x and above. |
runner.job-variables-size-limit-characters |
No | 262144 | Limit on the maximum number of characters for all agent variables (key + value), including predefined ones. |
runner.runnerConcurrencyMode |
No | DEFAULT | Agent concurrency setting. Works for agents of type docker and kuber. Accepts values: AUTO, DEFAULT, CUSTOM. In AUTO mode, the number of concurrently executed tasks is calculated as (number of logical cores of the device where the Agent is running / 2 + 1). In DEFAULT mode, tasks are executed sequentially. In CUSTOM mode, the number of concurrently executed tasks is determined by the runner.limitOfConcurrencyToProcessJobs parameter. |
runner.limitOfConcurrencyToProcessJobs |
No | Defaults to 3 if concurrency is enabled | This parameter is used when runner.runnerConcurrencyMode=CUSTOM to specify the maximum number of concurrently executed tasks. |
runner.enableExecScriptsInSession |
No | true | When true, the agent executes tasks in a single context; when false, in different contexts. |
prometheus-metrics.enabled |
No | false | When true, an HTTP server for collecting agent metrics will be created. The server will be created on the port specified in the prometheus-metrics.port parameter. |
prometheus-metrics.port |
No | The port on which the HTTP server for collecting agent metrics will be created. | |
prometheus-metrics.token |
No | Token for authorization. If specified, this token must be passed in the Authorization header (e.g., Authorization: Bearer 123asd). |
Logging Settings
| Parameter | Required | Default Value | Description |
|---|---|---|---|
logging.level.root |
No | INFO | Logging level (similar to gitflic settings). |
logging.file.name |
Yes | $HOME/gitflic-runner/data/log/server.log | Path to the log file (similar to gitflic settings). |
runner.log-limit-kilobytes |
No | 100 | Maximum agent log size in kilobytes. Possible values from 10 to 25600 KB. |
Parameters for Agent of Type Docker
* If an agent type other than Docker is specified, these parameters will be ignored.
| Parameter | Required | Default Value | Description |
|---|---|---|---|
runner.helperImage |
No | gitflic/gitflic-runner-helper | Docker Image for the helper container. Available in agent version 2.0.0 and above. |
docker.host |
Yes | unix:///var/run/docker.sock | Path to the Docker Engine socket. |
docker.tls-verify |
Yes | false | Specifies whether to perform TLS certificate validation. |
docker.cert-path |
Yes | ~/docker/certs | Path to Docker Engine certificates. |
docker.registry-username |
Yes | Login for Docker Registry. | |
docker.registry-password |
Yes | Password for Docker Registry. | |
docker.registry-url |
Yes | URL where the Docker Registry is located. | |
docker.registry-email |
No | Email for Docker Registry. | |
docker.docker-config |
No | Path to Docker Engine configuration files. | |
docker.didEnable |
No | false | Parameter to enable Docker-in-Docker mode. |
docker.default-image |
No | docker:latest | The image that will be used for work if no other is specified in the task or pipeline. |
docker.volumes[0] |
No | Additional volumes to be mounted to the container. Uses the same syntax as the -v flag in Docker. Example: docker.volumes[0]=/Users/admin/docs:/builds/adminuser/test/docs. The number in square brackets is used for volume numbering. |
|
docker.volume-driver |
No | local | The driver to be used when creating volumes. |
docker.volume_driver_ops |
No | Specifies additional options for the volume driver used when creating volumes. | |
docker.cache_dir |
No | Defines the absolute path to the directory where anonymous volumes will be placed. | |
docker.disable_cache |
No | false | When true, disables the local cache for anonymous volumes, i.e., disables the ability to use anonymous volumes. |
docker.privileged |
No | false | Parameter to define the container launch mode. When true, the agent launches all containers in privileged mode. |
* You can learn about the volume mounting functionality on this page.
To work with multiple Docker Registries, you must specify an array of authorization data:
docker.registries[0].url={URL_1}
docker.registries[0].username={username_1}
docker.registries[0].password={password_1}
docker.registries[1].url={URL_2}
docker.registries[1].username={username_2}
docker.registries[1].password={password_2}
Parameters for Agent of Type Kuber
Please note
If an agent type other than kuber is specified, these parameters will be ignored.
Cluster Authentication
| Parameter | Description |
|---|---|
kubernetes.client.config.host |
Kubernetes URL. |
kubernetes.client.config.file |
Path to kubeconfig for cluster authentication. |
kubernetes.client.config.cert_file |
Path to the user's authorization certificate. |
kubernetes.client.config.key_file |
Path to the user's private key. |
kubernetes.client.config.ca_file |
Path to the root certificate. |
Cluster authentication follows this algorithm:
- If the
kubernetes.client.config.fileparameter is specified, the provided kubeconfig is used for authentication. - Otherwise, the parameters
kubernetes.client.config.host,kubernetes.client.config.cert_file,kubernetes.client.config.key_file, andkubernetes.client.config.ca_fileare checked -- if all four parameters are filled, they will be used for cluster authentication. - Otherwise, the presence of the
KUBECONFIGenvironment variable is checked -- used if present. - Otherwise, the presence of configuration in the home directory
~/.kube/configis checked -- used if present. - Otherwise, the presence of the root certificate
/var/run/secrets/kubernetes.io/serviceaccount/ca.crtis checked -- if present, an attempt will be made to authenticate to the cluster using the service account token that was specified when deploying the agent (spec.serviceAccountName).
Main Parameters
| Parameter | Description |
|---|---|
kubernetes.volumes.type |
Storage type (defaults to emptyDir if not specified otherwise). |
kubernetes.volumes.size |
Memory allocated for storage (defaults to 1Gi if not specified otherwise). |
kubernetes.volumes.pollTimeout |
Time in seconds allocated for attempts to successfully run the pod with helper & job containers (defaults to 180 if not specified otherwise). |
kubernetes.volumes.pollInterval |
How often, in seconds, the runner will request the pod's readiness status (defaults to 3 if not specified otherwise). |
kubernetes.volumes.hostBaseCachePath |
Path on the host machine for storing cache (defaults to /var/tmp/kuber/runner/cache/ if not specified otherwise). |
kubernetes.volumes.hostBaseBuildPath |
Path on the host machine for storing project source code (defaults to /var/tmp/kuber/runner/build/ if not specified otherwise). |
kubernetes.namespace |
The namespace name in which the pipeline will be executed (defaults to gitflic-runner). |
kubernetes.imagePullSecret |
The name of the secret of type kubernetes.io/dockerconfigjson for authentication in private repositories (see https://docs.gitflic.ru/setup/runner/kuber_run/). |
Currently implemented storage types:
local- persistenthostPath- persistentemptyDir- ephemeralnfs- persistentcsi- depends on the driver
When using storage of type local, the following parameters must be specified:
| Parameter | Description |
|---|---|
kubernetes.volumes.localNodeHost |
The name of the node on which the storage will be created and the pod will be launched. |
When using storage of type nfs, the following parameters must be specified:
| Parameter | Description |
|---|---|
kubernetes.volumes.nfsHost |
NFS server address. |
When using storage of type csi, the following parameters can be used (depends on the csi driver that will be used):
| Parameter | Description |
|---|---|
kubernetes.volumes.driver |
Name of the CSI driver. |
kubernetes.volumes.storageClass |
Name of the StorageClass (if the specified StorageClass exists in the cluster, it will be used; otherwise, a new one will be created). |
kubernetes.volumes.storageClassAttributes |
Attributes for creating the StorageClass. |
kubernetes.volumes.volumeAttributes |
Storage attributes. |
Automatic Translation!
This page has been translated by automatic means. The text may contain inaccuracies.