1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# Example Praefect configuration file
# # TCP address to listen on
listen_addr = "127.0.0.1:2305"
# # Secured TCP address to listen on.
# tls_listen_addr = "127.0.0.1:2306"
# # Path to the certificate and its key used for TLS listening address.
# [tls]
# certificate_path = '/home/git/cert.cert'
# key_path = '/home/git/key.pem'
# # Praefect can listen on a socket when placed on the same machine as all clients
# socket_path = "/home/git/gitlab/tmp/sockets/private/praefect.socket"
# # Optional: grace period before a praefect process is forcibly terminated (duration)
# # Defaults to "1m"
# graceful_stop_timeout = "30s"
# # Optional: export metrics via Prometheus
# prometheus_listen_addr = "127.0.01:10101"
# # You can optionally configure Praefect to output JSON-formatted log messages to stdout
# [logging]
# format = "json"
# # Optional: Set log level to only log entries with that severity or above
# # One of, in order: debug, info, warn, errror, fatal, panic
# # Defaults to "info"
# level = "warn"
# [sentry]
# sentry_environment = ""
# sentry_dsn = ""
#
# Optional: authenticate Gitaly requests using a shared secret. This token works the same way as a gitaly token
# [auth]
# token = 'abc123secret'
#
# # One or more Gitaly servers need to be configured to be managed. The names
# of each server are used to link multiple nodes, or `gitaly_server`s together
# as shard. listen_addr should be unique for all nodes.
# Requires the protocol to be defined, e.g. tcp://host.tld:1234
[replication]
batch_size = 10 # configures the number of replication jobs to dequeue and lock in a batch
[reconciliation]
# Duration value specifying an interval at which to run the automatic repository reconciler.
# Automatic reconciliation is disabled if set to 0. Example: "1m" for reconciliation every minute.
scheduling_interval = 0
# Scheduling duration histogram buckets.
histogram_buckets = [0.005, 0.01, 0.025, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10]
[failover]
enabled = true
[[virtual_storage]]
name = 'praefect'
[[virtual_storage.node]]
storage = "praefect-git-0"
address = "tcp://praefect-git-0.internal"
token = 'token1'
[[virtual_storage.node]]
storage = "praefect-git-1"
address = "tcp://praefect-git-1.internal"
token = 'token2'
[[virtual_storage.node]]
storage = "praefect-git-2"
address = "tcp://praefect-git-2.internal"
token = 'token3'
[yamux]
# MaximumStreamWindowSizeBytes sets the maximum window size in bytes used for yamux streams.
# Higher value can increase throughput at the cost of more memory usage.
maximum_stream_window_size_bytes = 262144
# AcceptBacklog sets the maximum number of stream openings in-flight
# before further openings block.
accept_backlog = 256
|