Configuration for
memberlist
client. Only applies if the selected kvstore is memberlist.When a memberlist config with atleast 1 join_members is defined, kvstore of type memberlist is automatically selected for all the components that require a ring unless otherwise specified in the component’s configuration section.
# Name of the node in memberlist cluster. Defaults to hostname. # CLI flag: -memberlist.nodename [node_name:
| default = ""] # Add random suffix to the node name. # CLI flag: -memberlist.randomize-node-name [randomize_node_name: | default = true] # The timeout for establishing a connection with a remote node, and for # read/write operations. # CLI flag: -memberlist.stream-timeout [stream_timeout: | default = 10s] # Multiplication factor used when sending out messages (factor * log(N+1)). # CLI flag: -memberlist.retransmit-factor [retransmit_factor: | default = 4] # How often to use pull/push sync. # CLI flag: -memberlist.pullpush-interval [pull_push_interval: | default = 30s] # How often to gossip. # CLI flag: -memberlist.gossip-interval [gossip_interval: | default = 200ms] # How many nodes to gossip to. # CLI flag: -memberlist.gossip-nodes [gossip_nodes: | default = 3] # How long to keep gossiping to dead nodes, to give them chance to refute their # death. # CLI flag: -memberlist.gossip-to-dead-nodes-time [gossip_to_dead_nodes_time: | default = 30s] # How soon can dead node's name be reclaimed with new address. 0 to disable. # CLI flag: -memberlist.dead-node-reclaim-time [dead_node_reclaim_time: | default = 0s] # Enable message compression. This can be used to reduce bandwidth usage at the # cost of slightly more CPU utilization. # CLI flag: -memberlist.compression-enabled [compression_enabled: | default = true] # Gossip address to advertise to other members in the cluster. Used for NAT # traversal. # CLI flag: -memberlist.advertise-addr [advertise_addr: | default = ""] # Gossip port to advertise to other members in the cluster. Used for NAT # traversal. # CLI flag: -memberlist.advertise-port [advertise_port: | default = 7946] # The cluster label is an optional string to include in outbound packets and # gossip streams. Other members in the memberlist cluster will discard any # message whose label doesn't match the configured one, unless the # 'cluster-label-verification-disabled' configuration option is set to true. # CLI flag: -memberlist.cluster-label [cluster_label: | default = ""] # When true, memberlist doesn't verify that inbound packets and gossip streams # have the cluster label matching the configured one. This verification should # be disabled while rolling out the change to the configured cluster label in a # live memberlist cluster. # CLI flag: -memberlist.cluster-label-verification-disabled [cluster_label_verification_disabled: | default = false] # Other cluster members to join. Can be specified multiple times. It can be an # IP, hostname or an entry specified in the DNS Service Discovery format. # CLI flag: -memberlist.join [join_members: | default = []] # Min backoff duration to join other cluster members. # CLI flag: -memberlist.min-join-backoff [min_join_backoff:
| default = 1s] # Max backoff duration to join other cluster members. # CLI flag: -memberlist.max-join-backoff [max_join_backoff: | default = 1m] # Max number of retries to join other cluster members. # CLI flag: -memberlist.max-join-retries [max_join_retries: | default = 10] # If this node fails to join memberlist cluster, abort. # CLI flag: -memberlist.abort-if-join-fails [abort_if_cluster_join_fails: | default = false] # If not 0, how often to rejoin the cluster. Occasional rejoin can help to fix # the cluster split issue, and is harmless otherwise. For example when using # only few components as a seed nodes (via -memberlist.join), then it's # recommended to use rejoin. If -memberlist.join points to dynamic service that # resolves to all gossiping nodes (eg. Kubernetes headless service), then rejoin # is not needed. # CLI flag: -memberlist.rejoin-interval [rejoin_interval: | default = 0s] # How long to keep LEFT ingesters in the ring. # CLI flag: -memberlist.left-ingesters-timeout [left_ingesters_timeout: | default = 5m] # Timeout for leaving memberlist cluster. # CLI flag: -memberlist.leave-timeout [leave_timeout: | default = 20s] # How much space to use for keeping received and sent messages in memory for # troubleshooting (two buffers). 0 to disable. # CLI flag: -memberlist.message-history-buffer-bytes [message_history_buffer_bytes: | default = 0] # IP address to listen on for gossip messages. Multiple addresses may be # specified. Defaults to 0.0.0.0 # CLI flag: -memberlist.bind-addr [bind_addr: | default = []] # Port to listen on for gossip messages. # CLI flag: -memberlist.bind-port [bind_port:
| default = 7946] # Timeout used when connecting to other nodes to send packet. # CLI flag: -memberlist.packet-dial-timeout [packet_dial_timeout: | default = 2s] # Timeout for writing 'packet' data. # CLI flag: -memberlist.packet-write-timeout [packet_write_timeout: | default = 5s] # Enable TLS on the memberlist transport layer. # CLI flag: -memberlist.tls-enabled [tls_enabled: | default = false] # Path to the client certificate, which will be used for authenticating with the # server. Also requires the key path to be configured. # CLI flag: -memberlist.tls-cert-path [tls_cert_path: | default = ""] # Path to the key for the client certificate. Also requires the client # certificate to be configured. # CLI flag: -memberlist.tls-key-path [tls_key_path: | default = ""] # Path to the CA certificates to validate server certificate against. If not # set, the host's root CA certificates are used. # CLI flag: -memberlist.tls-ca-path [tls_ca_path: | default = ""] # Override the expected name on the server certificate. # CLI flag: -memberlist.tls-server-name [tls_server_name: | default = ""] # Skip validating server certificate. # CLI flag: -memberlist.tls-insecure-skip-verify [tls_insecure_skip_verify: | default = false] # Override the default cipher suite list (separated by commas). Allowed values: # # Secure Ciphers: # - TLS_RSA_WITH_AES_128_CBC_SHA # - TLS_RSA_WITH_AES_256_CBC_SHA # - TLS_RSA_WITH_AES_128_GCM_SHA256 # - TLS_RSA_WITH_AES_256_GCM_SHA384 # - TLS_AES_128_GCM_SHA256 # - TLS_AES_256_GCM_SHA384 # - TLS_CHACHA20_POLY1305_SHA256 # - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA # - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA # - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA # - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA # - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 # - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 # - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 # - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 # - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 # - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 # # Insecure Ciphers: # - TLS_RSA_WITH_RC4_128_SHA # - TLS_RSA_WITH_3DES_EDE_CBC_SHA # - TLS_RSA_WITH_AES_128_CBC_SHA256 # - TLS_ECDHE_ECDSA_WITH_RC4_128_SHA # - TLS_ECDHE_RSA_WITH_RC4_128_SHA # - TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA # - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 # - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 # CLI flag: -memberlist.tls-cipher-suites [tls_cipher_suites: | default = ""] # Override the default minimum TLS version. Allowed values: VersionTLS10, # VersionTLS11, VersionTLS12, VersionTLS13 # CLI flag: -memberlist.tls-min-version [tls_min_version: | default = ""]