Packages
ex_esdb
0.1.1
0.11.0
0.10.0
0.9.0
0.8.0
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.1
0.5.0
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14-alpha
0.0.13-alpha
0.0.12-alpha
0.0.11-alpha
0.0.10-alpha
0.0.9-alpha
0.0.8-alpha
0.0.6-alpha
0.0.5-alpha
0.0.4-alpha
0.0.3-alpha
0.0.2-alfa
0.0.1-alfa
ExESDB is a reincarnation of rabbitmq/khepri, specialized for use as a BEAM-native event store.
Current section
Files
Jump to
Current section
Files
config/runtime.exs
import Config
alias ExESDB.EnVars, as: EnVars
import ExESDB.Options
config :logger, :console,
format: "$time [$level] $message\n",
metadata: [:mfa],
level: :info,
# Multiple filters to reduce noise from various components
filters: [
ra_noise: {ExESDB.LoggerFilters, :filter_ra},
khepri_noise: {ExESDB.LoggerFilters, :filter_khepri},
swarm_noise: {ExESDB.LoggerFilters, :filter_swarm},
libcluster_noise: {ExESDB.LoggerFilters, :filter_libcluster}
]
config :ex_esdb, :khepri,
data_dir: data_dir(),
store_id: store_id(),
timeout: timeout(),
db_type: db_type(),
pub_sub: pub_sub()
config :libcluster,
topologies: [
ex_esdb_cluster: [
# The selected clustering strategy. Required.
strategy: Cluster.Strategy.Gossip,
# Configuration for the selected strategy. Optional.
config: [
port: 45_892,
# The IP address or hostname on which to listen for cluster connections.
if_addr: "0.0.0.0",
# Use broadcast for cluster discovery
multicast_addr: System.get_env(EnVars.gossip_multicast_addr()) || "239.255.0.1",
broadcast_only: true,
# Shared secret for cluster security - read from environment at runtime
secret: System.get_env(EnVars.cluster_secret()) || "dev_cluster_secret"
]
]
]