ZeroTierOne/diagnostic
Aaron Johnson 45e3223591 feat: Add comprehensive JSON diagnostic output with schema validation
Implements structured JSON diagnostic output for node state export with full
schema documentation. This feature provides machine-readable diagnostics for
automated analysis, monitoring, and AI/MCP integration.

Key changes:
- Add `zerotier-cli diagnostic` command for JSON node state export
- Add `zerotier-cli dump -j` as alias for JSON output
- Add `zerotier-cli diagnostic --schema` to print JSON schema
- Implement platform-specific interface collection (Linux, BSD, macOS, Windows)
- Create modular diagnostic/ directory with isolated try/catch error handling
- Add comprehensive JSON schema (diagnostic_schema.json) for validation
- Include build-time schema embedding for offline access
- Add Python and Rust scripts for schema embedding during build
- Update build systems to compile new diagnostic modules

The diagnostic output includes:
- Node configuration and identity
- Network memberships and settings
- Interface states and IP addresses
- Peer connections and statistics
- Moon orbits
- Controller networks (if applicable)

All diagnostic collection is wrapped in try/catch blocks to ensure partial
failures don't prevent overall output generation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-08 12:40:06 -07:00
..
diagnostic_schema_embed.c feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
diagnostic_schema_embed.h feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
dump_interfaces.hpp Refactor dump logic into diagnostic/ with try/catch isolation, prepping for -j feature 2025-06-23 12:48:02 -07:00
dump_interfaces_apple.cpp Refactor dump logic into diagnostic/ with try/catch isolation, prepping for -j feature 2025-06-23 12:48:02 -07:00
dump_interfaces_bsd.cpp Refactor dump logic into diagnostic/ with try/catch isolation, prepping for -j feature 2025-06-23 12:48:02 -07:00
dump_interfaces_linux.cpp Refactor dump logic into diagnostic/ with try/catch isolation, prepping for -j feature 2025-06-23 12:48:02 -07:00
dump_interfaces_netbsd.cpp Refactor dump logic into diagnostic/ with try/catch isolation, prepping for -j feature 2025-06-23 12:48:02 -07:00
dump_interfaces_win32.cpp Refactor dump logic into diagnostic/ with try/catch isolation, prepping for -j feature 2025-06-23 12:48:02 -07:00
dump_sections.cpp Refactor dump logic into diagnostic/ with try/catch isolation, prepping for -j feature 2025-06-23 12:48:02 -07:00
dump_sections.hpp Refactor dump logic into diagnostic/ with try/catch isolation, prepping for -j feature 2025-06-23 12:48:02 -07:00
node_state_interfaces_apple.cpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_apple.hpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_bsd.cpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_bsd.hpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_linux.cpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_linux.hpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_netbsd.cpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_netbsd.hpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_win32.cpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_interfaces_win32.hpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_json.cpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_json.hpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_sections.cpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00
node_state_sections.hpp feat: Add comprehensive JSON diagnostic output with schema validation 2025-07-08 12:40:06 -07:00