CBDDC Documentation
This folder contains the official documentation for CBDDC, published as GitHub Pages.
Documentation Structure (v0.9.0)
Getting Started
- Getting Started - Installation, setup, and first steps with CBDDC
Core Documentation
- Architecture - Hybrid Logical Clocks, Gossip Protocol, mesh networking
- API Reference - Complete API documentation with examples
- Querying - Data querying patterns and LINQ support
Persistence & Storage
- Persistence Providers - SQLite, EF Core, PostgreSQL comparison
- Deployment Modes - Single-cluster deployment strategy
Networking & Security
- Security - Encryption, authentication, secure networking
- Conflict Resolution - LWW and Recursive Merge strategies
- Network Telemetry - Monitoring and diagnostics
- Dynamic Reconfiguration - Runtime configuration changes
- Remote Peer Configuration - Managing remote peers and tracking lifecycle
- Upgrade: Peer-Confirmed Pruning - Rollout notes and adoption checklist
Deployment & Operations
- Deployment (LAN) - Platform-specific deployment guide
- Production Hardening - Configuration, monitoring, best practices
- Peer Deprecation & Removal Runbook - Operational workflow for de-tracking and removal
Building the Documentation
This documentation uses Jekyll with the Cayman theme and is automatically published via GitHub Pages.
Local Development
# Install Jekyll (requires Ruby)
gem install bundler jekyll
# Serve documentation locally
cd docs
jekyll serve
# Open http://localhost:4000
Site Configuration
- _config.yml - Jekyll configuration and site metadata
- _layouts/default.html - Main page layout with navigation and styling
- _includes/nav.html - Top navigation bar
- _data/navigation.yml - Sidebar navigation structure per version
Version History
The documentation supports multiple versions:
- v0.9 (current) - Latest stable release
- v0.8 - ASP.NET Core hosting, EF Core, PostgreSQL support
- v0.7 - Brotli compression, Protocol v4
- v0.6 - Secure networking, conflict resolution strategies
Contributing to Documentation
- Fix typos or improve clarity - Submit PRs directly
- Add new guides - Create a new .md file and update navigation.yml
- Test locally - Run Jekyll locally to preview changes before submitting