-
-
Notifications
You must be signed in to change notification settings - Fork 119
/
olricd.yaml
233 lines (202 loc) · 7.54 KB
/
olricd.yaml
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
olricd:
# BindAddr denotes the address that Olric will bind to for communication
# with other Olric nodes.
bindAddr: 0.0.0.0
# BindPort denotes the address that Olric will bind to for communication
# with other Olric nodes.
bindPort: 3320
# Default Serializer implementation uses gob for encoding/decoding.
serializer: msgpack
# KeepAlivePeriod denotes whether the operating system should send
# keep-alive messages on the connection.
keepAlivePeriod: 300s
# Timeout for bootstrap control
#
# An Olric node checks operation status before taking any action for the
# cluster events, responding incoming requests and running API functions.
# Bootstrapping status is one of the most important checkpoints for an
# "operable" Olric node. BootstrapTimeout sets a deadline to check
# bootstrapping status without blocking indefinitely.
bootstrapTimeout: 5s
# PartitionCount is 271, by default.
partitionCount: 271
# ReplicaCount is 1, by default.
replicaCount: 1
# Minimum number of successful writes to return a response for a write request.
writeQuorum: 1
# Minimum number of successful reads to return a response for a read request.
readQuorum: 1
# Switch to control read-repair algorithm which helps to reduce entropy.
readRepair: false
# Default value is SyncReplicationMode.
replicationMode: 0 # sync mode. for async, set 1
# Minimum number of members to form a cluster and run any query on the cluster.
memberCountQuorum: 1
routingTablePushInterval: 1m
storageEngines:
config:
kvstore:
tableSize: 1048576
client:
# Timeout for TCP dial.
#
# The timeout includes name resolution, if required. When using TCP, and the host in the address parameter
# resolves to multiple IP addresses, the timeout is spread over each consecutive dial, such that each is
# given an appropriate fraction of the time to connect.
dialTimeout: -1s
# Timeout for socket reads. If reached, commands will fail
# with a timeout instead of blocking. Use value -1 for no timeout and 0 for default.
# Default is DefaultReadTimeout
readTimeout: 3s
# Timeout for socket writes. If reached, commands will fail
# with a timeout instead of blocking.
# Default is DefaultWriteTimeout
writeTimeout: 3s
# KeepAlive specifies the interval between keep-alive
# probes for an active network connection.
# If zero, keep-alive probes are sent with a default value
# (currently 15 seconds), if supported by the protocol and operating
# system. Network protocols or operating systems that do
# not support keep-alives ignore this field.
# If negative, keep-alive probes are disabled.
keepAlive: 15s
# Minimum TCP connection count in the pool for a host:port
minConn: 1
# Maximum TCP connection count in the pool for a host:port
maxConn: 100
# Timeout for getting a new connection from the pool. If reached, commands will fail
# with a timeout instead of blocking. Use value -1 for no timeout and 0 for default.
# Default is DefaultPoolTimeout
poolTimeout: 3s
logging:
# DefaultLogVerbosity denotes default log verbosity level.
#
# * 1 - Generally useful for this to ALWAYS be visible to an operator
# * Programmer errors
# * Logging extra info about a panic
# * CLI argument handling
# * 2 - A reasonable default log level if you don't want verbosity.
# * Information about config (listening on X, watching Y)
# * Errors that repeat frequently that relate to conditions that can be
# corrected
# * 3 - Useful steady state information about the service and
# important log messages that may correlate to
# significant changes in the system. This is the recommended default log
# level for most systems.
# * Logging HTTP requests and their exit code
# * System state changing
# * Controller state change events
# * Scheduler log messages
# * 4 - Extended information about changes
# * More info about system state changes
# * 5 - Debug level verbosity
# * Logging in particularly thorny parts of code where you may want to come
# back later and check it
# * 6 - Trace level verbosity
# * Context to understand the steps leading up to neterrors and warnings
# * More information for troubleshooting reported issues
verbosity: 6
# Default LogLevel is DEBUG. Available levels: "DEBUG", "WARN", "ERROR", "INFO"
level: DEBUG
output: stderr
memberlist:
environment: local
# Configuration related to what address to bind to and ports to
# listen on. The port is used for both UDP and TCP gossip. It is
# assumed other nodes are running on this port, but they do not need
# to.
bindAddr: 0.0.0.0
bindPort: 3322
# EnableCompression is used to control message compression. This can
# be used to reduce bandwidth usage at the cost of slightly more CPU
# utilization. This is only available starting at protocol version 1.
enableCompression: false
# JoinRetryInterval is the time gap between attempts to join an existing
# cluster.
joinRetryInterval: 1ms
# MaxJoinAttempts denotes the maximum number of attemps to join an existing
# cluster before forming a new one.
maxJoinAttempts: 1
# See service discovery plugins
#peers:
# - "localhost:3325"
#advertiseAddr: ""
#advertisePort: 3322
#suspicionMaxTimeoutMult: 6
#disableTCPPings: false
#awarenessMaxMultiplier: 8
#gossipNodes: 3
#gossipVerifyIncoming: true
#gossipVerifyOutgoing: true
#dnsConfigPath: "/etc/resolv.conf"
#handoffQueueDepth: 1024
#udpBufferSize: 1400
#dmaps:
# checkEmptyFragmentsInterval: 1m
# numEvictionWorkers: 1
# maxIdleDuration: ""
# ttlDuration: "100s"
# maxKeys: 100000
# maxInuse: 1000000
# lRUSamples: 10
# evictionPolicy: "LRU"
# custom:
# foobar:
# maxIdleDuration: "60s"
# ttlDuration: "300s"
# maxKeys: 500000
# lRUSamples: 20
# evictionPolicy: "NONE"
#serviceDiscovery:
# # path is a required property and used by Olric. It has to be a full path.
# path: "/home/burak/go/src/github.com/buraksezer/olric-consul-plugin/consul.so"
#
# # provider is just informal,
# provider: "consul"
#
# # Plugin specific configuration
# # Consul server, used by the plugin. It's required
# address: "http://127.0.0.1:8500"
#
# # Specifies that the server should return only nodes with all checks in the passing state.
# passingOnly: true
#
# # Missing health checks from the request will be deleted from the agent. Using this parameter
# # allows to idempotently register a service and its checks without having to manually deregister
# # checks.
# replaceExistingChecks: true
#
# # InsecureSkipVerify controls whether a client verifies the
# # server's certificate chain and host name.
# # If InsecureSkipVerify is true, TLS accepts any certificate
# # presented by the server and any host name in that certificate.
# # In this mode, TLS is susceptible to man-in-the-middle attacks.
# # This should be used only for testing.
# insecureSkipVerify: true
#
# # service record
# payload: '
# {
# "Name": "olric-cluster",
# "ID": "olric-node-1",
# "Tags": [
# "primary",
# "v1"
# ],
# "Address": "localhost",
# "Port": 3322,
# "EnableTagOverride": false,
# "check": {
# "name": "Olric node on 3322",
# "tcp": "0.0.0.0:3322",
# "interval": "10s",
# "timeout": "1s"
# }
# }
#'
#
#
#serviceDiscovery:
# provider: "k8s"
# path: "/Users/buraksezer/go/src/github.com/buraksezer/olric-cloud-plugin/olric-cloud-plugin.so"
# args: 'label_selector="app = olricd-server"'