GitSync configuration parameters

To configure the service, use the following configuration parameters in ADCM.

NOTE
  • Some of the parameters become visible in the ADCM UI after the Advanced flag has been set.

  • The parameters that are set in the Custom group will overwrite the existing parameters even if they are read-only.

config.json

A JSON configuration with repository parameters for GitSync.

Parameter Description Default value

url

Git repository URL

git@ssh.gitlab.example.io:org/repo.git

files

File filter pattern

*.py

branch

Git branch

main

directory

Path inside repository

./src

sync_interval

Interval between sync cycles (seconds)

60

sync_timeout

Timeout for a sync operation

120

target_folder

Destination directory. Each repository must use a unique target_folder to prevent DAG overwrites, conflicts between repositories, and accidental file deletion

/path/to/target/folder

delete_old_files

Whether to remove outdated files

true

ssh_key

Name of the private key. When using SSH repositories, private keys are managed by the GitSync service and do not need to be manually placed on the host. Required for SSH repositories

 — 

tag

Git tag to use instead of a branch for repository synchronization

v1.0.0

sync_requirements

Enables synchronization and installation of Python dependencies from a requirements.txt file

true

requirements_path

Path to the requirements file

./requirements.txt

access_token

Access token for authentication when using HTTPS repositories

 — 

https_username

Username for HTTPS authentication when using access tokens

oauth2

gitsync-env.sh
Parameter Description Default value

TARGET_PYTHON

Python binary used for synchronizing dependencies. Defined at the service level and shared across all repositories. Separate Python environments per repository are not supported

/usr/lib/ado-python310/bin/python3

WORK_DIR

Internal directories used by the git-sync application for storing temporary data and repository copies

/usr/lib/ad-gitsync

LOG_DIR

Directory for storing application logs

/var/log/ad-gitsync

CREDENTIALS_DIRECTORY

Directory containing SSH keys and credentials for accessing Git repositories

/etc/ad-gitsync/ssh_key

CONFIG_FILE

Path to the JSON configuration file that defines repository settings and synchronization parameters

/etc/ad-gitsync/conf/config.json

WORKER_COUNT

Number of parallel workers that can process multiple repositories simultaneously

1

Custom gitsync_env.sh

You can use the Custom gitsync_env.sh field to set configuration parameters for GitSync. The settings specified in this field have higher priority than the settings specified in gitsync_env.sh.

Enable custom ulimits

Switch on the corresponding toggle button to specify resource limits (ulimits) for the current process. If you do not set these values, the default system settings are used. Ulimit settings are described in the Ulimit settings table.

[Service]
LimitCPU=
LimitFSIZE=
LimitDATA=
LimitSTACK=
LimitCORE=
LimitRSS=
LimitNOFILE=
LimitAS=
LimitNPROC=
LimitMEMLOCK=
LimitLOCKS=
LimitSIGPENDING=
LimitMSGQUEUE=
LimitNICE=
LimitRTPRIO=
LimitRTTIME=
Ulimit settings
Parameter Description Corresponding option of the ulimit command in CentOS

LimitCPU

A limit in seconds on the amount of CPU time that a process can consume

cpu time ( -t)

DefaultLimitFSIZE

The maximum size of files that a process can create, in 512-byte blocks

file size ( -f)

DefaultLimitDATA

The maximum size of a process’s data segment, in kilobytes

data seg size ( -d)

DefaultLimitSTACK

The maximum stack size allocated to a process, in kilobytes

stack size ( -s)

DefaultLimitCORE

The maximum size of a core dump file allowed for a process, in 512-byte blocks

core file size ( -c)

DefaultLimitRSS

The maximum amount of RAM memory (resident set size) that can be allocated to a process, in kilobytes

max memory size ( -m)

DefaultLimitNOFILE

The maximum number of open file descriptors allowed for the process

open files ( -n)

DefaultLimitAS

The maximum size of the process virtual memory (address space), in kilobytes

virtual memory ( -v)

DefaultLimitNPROC

The maximum number of processes

max user processes ( -u)

DefaultLimitMEMLOCK

The maximum memory size that can be locked for the process, in kilobytes. Memory locking ensures the memory is always in RAM and a swap file is not used

max locked memory ( -l)

DefaultLimitLOCKS

The maximum number of files locked by a process

file locks ( -x)

DefaultLimitSIGPENDING

The maximum number of signals that are pending for delivery to the calling thread

pending signals ( -i)

DefaultLimitMSGQUEUE

The maximum number of bytes in POSIX message queues. POSIX message queues allow processes to exchange data in the form of messages

POSIX message queues ( -q)

DefaultLimitNICE

The maximum NICE priority level that can be assigned to a process

scheduling priority ( -e)

DefaultLimitRTPRIO

The maximum real-time scheduling priority level

real-time priority ( -r)

DefaultLimitRTTIME

The maximum pipe buffer size, in 512-byte blocks

pipe size ( -p)

Found a mistake? Seleсt text and press Ctrl+Enter to report it