-
Notifications
You must be signed in to change notification settings - Fork 2
/
litefs.yml
70 lines (60 loc) · 2.73 KB
/
litefs.yml
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
# The FUSE section handles settings on the FUSE file system. FUSE
# provides a layer for intercepting SQLite transactions on the
# primary node so they can be shipped to replica nodes transparently.
fuse:
# Required. This is the mount directory that applications will
# use to access their SQLite databases.
dir: "/persistent"
# The debug flag enables debug logging of all FUSE API calls.
# This will produce a lot of logging. Not for general use.
debug: false
# The data section specifies where internal LiteFS data is stored
# and how long to retain the transaction files.
#
# Transaction files are used to ship changes to replica nodes so
# they should persist long enough for replicas to retrieve them,
# even in the face of a short network interruption or a redeploy.
# Under high load, these files can grow large so it's not advised
# to extend retention too long.
data:
# Path to internal data storage.
dir: "/etc/lib/litefs"
# Duration to keep LTX files. Latest LTX file is always kept.
retention: "10m"
# Frequency with which to check for LTX files to delete.
retention-monitor-interval: "1m"
# The exec field specifies a command to run as a subprocess of
# LiteFS. This command will be executed after LiteFS either
# becomes primary or is connected to the primary node. LiteFS
# will forward signals to the subprocess and LiteFS will
# automatically shut itself down when the subprocess stops.
#
# This can also be specified after a double-dash (--) on the
# command line invocation of the 'litefs mount' command.
exec: "headscale serve"
# If true, then LiteFS will not wait until the node becomes the
# primary or connects to the primary before starting the subprocess.
skip-sync: false
# If true, then LiteFS will not exit if there is a validation
# issue on startup. This can be useful for debugging issues as
# it avoids constantly restarting the node on ephemeral hosting.
exit-on-error: false
# This section defines settings for the LiteFS HTTP API server.
# This API server is how nodes communicate with each other.
http:
# Specifies the bind address of the HTTP API server.
addr: ":20202"
# The lease section defines how LiteFS creates a cluster and
# implements leader election. For dynamic clusters, use the
# "consul". This allows the primary to change automatically when
# the current primary goes down. For a simpler setup, use
# "static" which assigns a single node to be the primary and does
# not failover.
lease:
# Required. Must be either "consul" or "static".
type: "static"
candidate: ${FLY_REGION == PRIMARY_REGION}
hostname: ${FLY_REGION}.${FLY_APP_NAME}.internal
# Required. The URL for this node's LiteFS API.
# Should match HTTP port.
advertise-url: "http://${PRIMARY_REGION}.${FLY_APP_NAME}.internal:20202"