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.limitOfConcurrencyToProcessJobsparameter. | 
| runner.limitOfConcurrencyToProcessJobs | No | Defaults to 3 if concurrency is enabled | This parameter is used when runner.runnerConcurrencyMode=CUSTOMto specify the maximum number of concurrently executed tasks. | 
| runner.enableExecScriptsInSession | No | true | When true, the agent executes tasks in a single context; whenfalse, 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 theprometheus-metrics.portparameter. | 
| 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 Authorizationheader (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 -vflag 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 kubeconfigfor 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 emptyDirif not specified otherwise). | 
| kubernetes.volumes.size | Memory allocated for storage (defaults to 1Giif not specified otherwise). | 
| kubernetes.volumes.pollTimeout | Time in seconds allocated for attempts to successfully run the pod with helper & job containers (defaults to 180if not specified otherwise). | 
| kubernetes.volumes.pollInterval | How often, in seconds, the runner will request the pod's readiness status (defaults to 3if 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/dockerconfigjsonfor authentication in private repositories (see https://docs.gitflic.ru/setup/runner/kuber_run/). | 
Currently implemented storage types:
- local- persistent
- hostPath- persistent
- emptyDir- ephemeral
- nfs- persistent
- csi- 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.