Text · 1945 bytes Raw Blame History
1 # ZephyrFS Coordinator Configuration
2
3 # Database configuration
4 database:
5 type: "bbolt" # "bbolt" or "postgres"
6 path: "./coordinator.db" # Path for bbolt database
7 # url: "postgresql://user:pass@localhost:5432/coordinator" # URL for PostgreSQL
8
9 # gRPC server configuration
10 grpc:
11 port: 8080 # gRPC server port
12 max_message_size: 4194304 # 4MB max message size
13 enable_reflection: false # Enable gRPC reflection (development only)
14
15 # HTTP API server configuration
16 http:
17 enabled: true # Enable HTTP API server
18 port: 8090 # HTTP API server port
19
20 # Coordinator-specific configuration
21 coordinator:
22 node_timeout: "30s" # Node operation timeout
23 heartbeat_interval: "10s" # Expected heartbeat interval
24 replication_factor: 3 # Default replication factor
25 max_nodes_per_chunk: 10 # Maximum nodes to store a single chunk
26 cleanup_interval: "5m" # Cleanup inactive nodes interval
27 node_inactive_after: "60s" # Mark node inactive after this timeout
28 geographic_spread: true # Enable geographic distribution
29
30 # Health monitoring configuration
31 health:
32 check_interval: "30s" # Health check interval
33 metrics_enabled: true # Enable metrics collection
34 metrics_port: 8091 # Metrics HTTP server port
35
36 # Development/Production configurations
37
38 # Development configuration
39 dev:
40 database:
41 type: "bbolt"
42 path: "./dev-coordinator.db"
43 grpc:
44 enable_reflection: true
45 coordinator:
46 cleanup_interval: "1m"
47 node_inactive_after: "30s"
48
49 # Production configuration
50 prod:
51 database:
52 type: "postgres"
53 url: "${DATABASE_URL}"
54 grpc:
55 port: 8080
56 max_message_size: 16777216 # 16MB for production
57 coordinator:
58 replication_factor: 5 # Higher replication for production
59 cleanup_interval: "10m"
60 node_inactive_after: "120s"
61 health:
62 check_interval: "60s"