forked from buraksezer/olric
-
Notifications
You must be signed in to change notification settings - Fork 0
/
olricd-docker.yaml
274 lines (235 loc) · 8.92 KB
/
olricd-docker.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
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
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
# KeepAlivePeriod denotes whether the operating system should send
# keep-alive messages on the connection.
keepAlivePeriod: 300s
# IdleClose will automatically close idle connections after the specified duration.
# Use zero to disable this feature.
# idleClose: 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
# Coordinator member pushes the routing table to cluster members in the case of
# node join or left events. It also pushes the table periodically. routingTablePushInterval
# is the interval between subsequent calls. Default is 1 minute.
routingTablePushInterval: 1m
# Olric can send push cluster events to cluster.events channel. Available cluster events:
#
# * node-join-event
# * node-left-event
# * fragment-migration-event
# * fragment-received-event
#
# If you want to receive these events, set true to EnableClusterEventsChannel and subscribe to
# cluster.events channel. Default is false.
enableClusterEventsChannel: true
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: 5s
# 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
# Maximum number of retries before giving up.
# Default is 3 retries; -1 (not 0) disables retries.
#maxRetries: 3
# Minimum backoff between each retry.
# Default is 8 milliseconds; -1 disables backoff.
#minRetryBackoff: 8ms
# Maximum backoff between each retry.
# Default is 512 milliseconds; -1 disables backoff.
#maxRetryBackoff: 512ms
# Type of connection pool.
# true for FIFO pool, false for LIFO pool.
# Note that fifo has higher overhead compared to lifo.
#poolFIFO: false
# Maximum number of socket connections.
# Default is 10 connections per every available CPU as reported by runtime.GOMAXPROCS.
#poolSize: 0
# Minimum number of idle connections which is useful when establishing
# new connection is slow.
#minIdleConns:
# Connection age at which client retires (closes) the connection.
# Default is to not close aged connections.
#maxConnAge:
# Amount of time client waits for connection if all connections are busy before
# returning an error. Default is ReadTimeout + 1 second.
#poolTimeout: 3s
# Amount of time after which client closes idle connections.
# Should be less than server's timeout.
# Default is 5 minutes. -1 disables idle timeout check.
idleTimeout: 5m
# Frequency of idle checks made by idle connections reaper.
# Default is 1 minute. -1 disables idle connections reaper,
# but idle connections are still discarded by the client
# if IdleTimeout is set.
idleCheckFrequency: 1m
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: 3
# Default LogLevel is DEBUG. Available levels: "DEBUG", "WARN", "ERROR", "INFO"
level: INFO
output: stderr
memberlist:
environment: lan
# 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:
engine:
name: kvstore
config:
tableSize: 524288 # bytes
# checkEmptyFragmentsInterval: 1m
# triggerCompactionInterval: 10m
# 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"'