-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.yaml.example
More file actions
69 lines (58 loc) · 2.76 KB
/
config.yaml.example
File metadata and controls
69 lines (58 loc) · 2.76 KB
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
# Broker Configuration Example
# Copy this file to config.yaml and modify as needed
# Node Configuration
node:
id: "broker-1" # Unique node identifier (required)
data_dir: "./data" # Data directory for storage
# Network Configuration
network:
grpc_port: 8080 # Port for client gRPC connections
raft_port: 9080 # Port for Raft controller communication
data_port: 9180 # Port for inter-broker replication
metrics_port: 9090 # Port for Prometheus metrics endpoint
bind_addr: "0.0.0.0" # Address to bind to (use 0.0.0.0 for all interfaces)
advertise_addr: "" # Address to advertise to other nodes (empty = localhost)
# Cluster Configuration
cluster:
bootstrap: false # Set to true for the first node in the cluster
join_addr: "" # Address of existing node to join (e.g., "broker-1:8080")
controller: true # Run as a controller node
# Storage Configuration
storage:
max_segment_bytes: 16777216 # Maximum segment size (16 MB default)
sync_writes: true # Fsync after each write for durability
# Retention Configuration
retention:
default_max_age: "168h" # Default retention time (7 days)
default_max_bytes: 1073741824 # Default max bytes per topic (1 GB)
cleanup_interval: "5m" # How often to run retention cleanup
# Replication Configuration
replication:
default_replication_factor: 3 # Default number of replicas per partition
fetch_batch_size: 100 # Number of records to fetch per replication batch
fetch_interval: "100ms" # How often followers fetch from leaders
# Consumer Group Configuration
consumer_groups:
session_timeout: "30s" # Consumer session timeout
heartbeat_interval: "3s" # Consumer heartbeat interval
rebalance_timeout: "60s" # Timeout for rebalance operations
# Logging Configuration
logging:
level: "info" # Log level: debug, info, warn, error
format: "json" # Log format: json, text
# Compression Configuration
compression:
default: "none" # Default compression: none, gzip, snappy, lz4
producer_compression: true # Allow producers to specify compression
# TLS Configuration (for future security implementation)
# tls:
# enabled: false
# cert_file: ""
# key_file: ""
# ca_file: ""
# client_auth: false # Require client certificates (mTLS)
# Authentication Configuration (for future security implementation)
# auth:
# enabled: false
# type: "api_key" # api_key, sasl
# api_keys_file: "" # Path to API keys file