-
Notifications
You must be signed in to change notification settings - Fork 461
DOCUMENTATION PLAN
Create comprehensive user documentation covering all tiers (beginner to advanced), organize 98 configuration examples within the wiki, and integrate everything with clear navigation.
Scope: All documentation lives in the wiki/ directory. The main README.md will be updated to link to the wiki. No separate etc/exabgp/README.md will be created - examples will be indexed in wiki/Reference/Examples-Index.md.
wiki/
βββ Home.md # Wiki homepage with navigation
βββ Getting-Started/
β βββ Quick-Start.md # 5-minute getting started
β βββ Installation-Guide.md # Detailed installation
β βββ First-BGP-Session.md # Step-by-step first session
β βββ Architecture-Overview.md # ExaBGP architecture explained
β βββ Common-Pitfalls.md # Troubleshooting for beginners
βββ Configuration/
β βββ Configuration-Syntax.md # File format & syntax
β βββ Neighbor-Configuration.md # Neighbor settings reference
β βββ Static-Routes.md # Route announcement
β βββ Templates-and-Inheritance.md # Template system
β βββ Environment-Variables.md # Complete env var reference
β βββ Signal-Handling.md # Signal reference
β βββ Directives-Reference.md # A-Z directive listing
βββ API/
β βββ API-Overview.md # API concepts
β βββ Text-API-Reference.md # Text format complete reference
β βββ JSON-API-Reference.md # JSON format complete reference
β βββ Writing-API-Programs.md # Best practices
β βββ API-Commands.md # All commands documented
β βββ Error-Handling.md # API error handling
β βββ Production-Best-Practices.md # Production deployment
βββ Address-Families/
β βββ IPv4-IPv6-Unicast.md # Basic unicast
β βββ FlowSpec/
β β βββ FlowSpec-Overview.md # Introduction
β β βββ Match-Conditions.md # All match types
β β βββ Actions-Reference.md # All actions
β β βββ DDoS-Mitigation.md # DDoS use case
β βββ L3VPN/
β β βββ VPN-Overview.md # L3VPN introduction
β β βββ Route-Distinguishers.md # RD types explained
β β βββ Route-Targets.md # RT usage
β βββ EVPN/
β β βββ EVPN-Overview.md # EVPN introduction
β β βββ Route-Types.md # EVPN route types 1-5
β β βββ MAC-IP-Advertisement.md # Practical guide
β βββ BGP-LS/
β β βββ BGP-LS-Overview.md # Link-State introduction
β β βββ Topology-Collection.md # Receive-only mode
β β βββ Attributes-Reference.md # BGP-LS attributes
β βββ VPLS.md # VPLS/L2VPN guide
β βββ MVPN.md # Multicast VPN guide
β βββ SRv6-and-MUP.md # Segment Routing
βββ Use-Cases/
β βββ DDoS-Mitigation.md # Complete DDoS walkthrough
β βββ Anycast-Management.md # Anycast patterns
β βββ Service-High-Availability.md # HA with healthcheck
β βββ Cross-DC-Failover.md # Multi-DC patterns
β βββ BGP-LS-Visualization.md # Topology collection
β βββ CDN-Route-Injection.md # CDN use case
β βββ Traffic-Engineering.md # TE patterns
βββ Features/
β βββ Capabilities/
β β βββ ADD-PATH.md # Multi-path advertisement
β β βββ Graceful-Restart.md # GR implementation
β β βββ Route-Refresh.md # Route refresh
β β βββ Extended-Message.md # Large messages
β β βββ Four-Byte-ASN.md # 4-byte ASN support
β βββ Communities/
β β βββ Standard-Communities.md # RFC 1997
β β βββ Extended-Communities.md # RFC 4360
β β βββ Large-Communities.md # RFC 8092
β βββ Attributes/
β β βββ Well-Known-Attributes.md # Mandatory attributes
β β βββ Optional-Attributes.md # Optional attributes
β β βββ Generic-Attributes.md # Generic attribute support
β βββ Route-Reflection.md # IBGP route reflection
βββ Tools/
β βββ Healthcheck-Module.md # Built-in healthcheck
β βββ ExaBGP-CLI.md # CLI tool
β βββ Message-Decoder.md # Decode tool
β βββ Configuration-Validator.md # Validation
βββ Operations/
β βββ Deployment-Patterns.md # Production deployment
β βββ Monitoring-and-Metrics.md # Monitoring guide
β βββ Performance-Tuning.md # Optimization
β βββ Debugging-Guide.md # Debug methodology
β βββ Log-Analysis.md # Log interpretation
β βββ Security-Best-Practices.md # Security hardening
β βββ Capacity-Planning.md # Scaling guide
βββ Integration/
β βββ Docker-Deployment.md # Docker best practices
β βββ Kubernetes.md # K8s deployment
β βββ FRRouting-Integration.md # FRR integration
β βββ BIRD-Integration.md # BIRD integration
β βββ Prometheus-Grafana.md # Monitoring setup
β βββ Ansible-Automation.md # Automation examples
βββ Development/
β βββ Architecture.md # From CLAUDE.md
β βββ Contributing.md # Contribution guide
β βββ Testing.md # Test framework
β βββ Code-Structure.md # Codebase layout
β βββ Extending-ExaBGP.md # Plugin development
βββ Reference/
β βββ Configuration-A-Z.md # All directives
β βββ API-Commands-A-Z.md # All API commands
β βββ Environment-Variables-A-Z.md # All env vars
β βββ Error-Codes.md # Error reference
β βββ RFC-Compliance.md # Link to RFC-SUPPORT.md
β βββ Examples-Index.md # Link to examples
βββ Migration/
βββ From-3.4-to-4.x.md # 3.4 migration
βββ From-4.2-to-5.0.md # 5.0 migration (new)
βββ Breaking-Changes.md # All breaking changes
βββ Version-Comparison.md # Feature comparison
README.md # Update with doc links to wiki
- Create
wiki/Home.md- Main wiki homepage with complete navigation tree - Update main
README.md- Add "Documentation" section linking to wiki
-
wiki/Getting-Started/Quick-Start.md- 5-minute tutorial -
wiki/Getting-Started/Installation-Guide.md- Detailed installation -
wiki/Getting-Started/First-BGP-Session.md- First session walkthrough -
wiki/API/API-Overview.md- API architecture -
wiki/API/Text-API-Reference.md- Complete text API -
wiki/API/JSON-API-Reference.md- Complete JSON API -
wiki/API/API-Commands.md- All commands reference wiki/Address-Families/FlowSpec/FlowSpec-Overview.mdwiki/Address-Families/FlowSpec/Match-Conditions.mdwiki/Address-Families/FlowSpec/Actions-Reference.mdwiki/Configuration/Configuration-Syntax.mdwiki/Configuration/Directives-Reference.md
wiki/Use-Cases/DDoS-Mitigation.mdwiki/Use-Cases/Anycast-Management.mdwiki/Use-Cases/Service-High-Availability.mdwiki/Use-Cases/Cross-DC-Failover.mdwiki/Operations/Debugging-Guide.mdwiki/Operations/Log-Analysis.mdwiki/Getting-Started/Common-Pitfalls.mdwiki/Address-Families/EVPN/EVPN-Overview.mdwiki/Address-Families/EVPN/Route-Types.mdwiki/Address-Families/BGP-LS/BGP-LS-Overview.mdwiki/Address-Families/BGP-LS/Topology-Collection.mdwiki/Address-Families/SRv6-and-MUP.mdwiki/Address-Families/L3VPN/VPN-Overview.mdwiki/Tools/Healthcheck-Module.mdwiki/API/Writing-API-Programs.mdwiki/API/Error-Handling.mdwiki/API/Production-Best-Practices.mdwiki/Configuration/Neighbor-Configuration.mdwiki/Configuration/Templates-and-Inheritance.mdwiki/Configuration/Environment-Variables.md
35-44. Complete all remaining Address-Families documentation 45-51. Complete all Use-Cases documentation 52-59. Complete all Features documentation 60-64. Complete all Integration documentation 65-67. Complete all Migration documentation 68-69. Complete all Operations documentation
wiki/Reference/Configuration-A-Z.mdwiki/Reference/API-Commands-A-Z.mdwiki/Reference/Environment-Variables-A-Z.mdwiki/Reference/Error-Codes.md-
wiki/Reference/Examples-Index.md- Comprehensive index of 98 config examples -
wiki/Development/Architecture.md(adapted from CLAUDE.md)
- Clear table of contents
- Practical examples from etc/exabgp/
- Cross-references to related docs
- "See Also" section
- Code examples with explanations
- Common errors and solutions
- Home.md: Complete documentation tree
- Each section index links to subsections
- Breadcrumb references
- Related documents cross-linked
- README.md gateway to all docs
wiki/Reference/Examples-Index.md will categorize 98 config files by:
- User experience level (Beginner/Intermediate/Advanced)
- Use case (DDoS/Anycast/VPN/etc)
- Feature (FlowSpec/EVPN/BGP-LS/etc)
- Protocol family (IPv4/IPv6/VPN/etc)
- All examples link directly to the etc/exabgp/ directory in the repository
Add new "Documentation" section:
## Documentation
Complete documentation is available in the [ExaBGP Wiki](https://github.com/Exa-Networks/exabgp/wiki):
- **[Quick Start Guide](https://github.com/Exa-Networks/exabgp/wiki/Getting-Started/Quick-Start)** - Get running in 5 minutes
- **[API Reference](https://github.com/Exa-Networks/exabgp/wiki/API/API-Overview)** - Complete API documentation
- **[Configuration Guide](https://github.com/Exa-Networks/exabgp/wiki/Configuration/Configuration-Syntax)** - Configuration reference
- **[Use Cases](https://github.com/Exa-Networks/exabgp/wiki/Use-Cases)** - DDoS mitigation, anycast, HA, and more
- **[Address Families](https://github.com/Exa-Networks/exabgp/wiki/Address-Families)** - FlowSpec, EVPN, BGP-LS, L3VPN, SRv6
- **[Examples Index](https://github.com/Exa-Networks/exabgp/wiki/Reference/Examples-Index)** - Browse 98 configuration examples
- **[RFC Compliance](https://github.com/Exa-Networks/exabgp/wiki/Reference/RFC-Compliance)** - 55+ RFCs implemented- Total files: ~75 markdown files (all in wiki/)
- Total content: ~600-800 pages equivalent
- Examples covered: All 98 configuration files indexed and explained in wiki
- Cross-references: ~300+ internal links
β Complete documentation coverage (beginner to advanced) β All 98 examples categorized and explained in wiki/Reference/Examples-Index.md β API fully documented (text + JSON) β Every address family has guide β Every major use case has tutorial β Clear navigation from README.md to wiki β Cross-referenced throughout β Practical examples in every doc β Emphasis on "No RIB/FIB manipulation" throughout
This plan creates a comprehensive documentation system that:
- Guides new users from installation to first BGP session in minutes
- Provides complete API reference for the 90% of users who need it
- Covers all address families with practical examples
- Documents all major use cases with step-by-step tutorials
- Includes advanced topics for production deployments
- Makes all 98 configuration examples discoverable through wiki/Reference/Examples-Index.md
- Cross-references everything for easy navigation
- Links from main README.md for discoverability
- Clearly communicates that ExaBGP does NOT manipulate RIB/FIB
π Home
π Getting Started
π§ API
π‘οΈ Use Cases
π Address Families
βοΈ Configuration
π Operations
π Reference
- Architecture
- BGP State Machine
- Communities (RFC)
- Extended Communities
- BGP Ecosystem
- Capabilities (AFI/SAFI)
- RFC Support
π Migration
π Community
π External
- GitHub Repo β
- Slack β
- Issues β
π» Ghost written by Claude (Anthropic AI)