A self-hostable Configuration Management Database (CMDB) system designed to provide comprehensive visibility into an organization's IT infrastructure.
- Overview
- Key Features
- Technology Stack
- Architecture
- Getting Started
- Project Structure
- Documentation
- Contributing
- Security
- License
Horizon is a self-hostable Configuration Management Database (CMDB) system that combines a powerful backend with a lightweight, cross-platform agent to automatically discover and inventory hardware assets, software installations, network configurations, and security-relevant information.
Horizon provides organizations with complete control over their IT asset data through a self-hostable solution with no licensing costs and complete data ownership.
- Comprehensiveness: Capture all information relevant to IT asset management
- Automation: Lightweight agent collection with minimal configuration
- Flexibility: Support both automated and manual data entry
- Integrity: Complete audit trails and data quality assessment
- Intelligence: AI-powered pattern recognition via inference providers
- Accessibility: Multiple interfaces including web and desktop applications
- Hardware Discovery: Automated collection of CPU, memory, storage, network interfaces, and peripherals
- Software Tracking: Inventory of installed packages, running services, and startup items
- Asset Relationships: Map dependencies and connections between assets
- Full-Text Search: Powerful search capabilities across all asset metadata
- Import/Export: Support for CSV, Excel, JSON, and XML formats
- Interface Discovery: Track all network interfaces and IP addresses
- Flow Collection: Aggregate and analyze network traffic patterns
- Topology Visualization: Visual representation of network architecture
- Anomaly Detection: AI-powered identification of unusual network behavior
- CIS Benchmark Support: Validate configurations against industry standards
- Configuration Drift Detection: Monitor changes over time
- Compliance Scoring: Automated assessment of security posture
- Remediation Guidance: AI-powered recommendations for fixing violations
- CVE Synchronization: Automatic sync with National Vulnerability Database
- Asset Correlation: Link vulnerabilities to affected assets
- Penetration Test Integration: Track findings from security assessments
- Red Team Tracking: MITRE ATT&CK technique mapping and IOC tracking
- Critical System Registry: Classify systems by business criticality
- Dependency Mapping: Visualize system dependencies and impact cascades
- Recovery Planning: Document recovery procedures and contact information
- Impact Scoring: Calculate financial and operational impact
- Vendor Profiles: Track vendor contacts and performance metrics
- Contract Management: Monitor contract lifecycle and renewals
- Asset-Vendor Association: Link assets to vendor contracts
- SLA Tracking: Monitor vendor service level agreements
- Event-Based Triggers: Configure alerts for specific events
- Multi-Channel Delivery: Email, webhooks, Slack, Microsoft Teams
- Escalation Workflows: Automated escalation procedures
- Notification Aggregation: Reduce alert fatigue with intelligent grouping
- Rust 1.94.0-nightly or later
- PostgreSQL (latest stable)
- Redis (latest stable)
- Docker and Docker Compose (for containerized deployment)
- Clone the repository
git clone https://github.com/cyberpath-HQ/horizon.git
cd horizon- Start development environment
docker-compose up -d- Build the project
cargo build --release- Start the server
cargo run --bin horizon-server- Access the web UI
Open your browser to http://localhost:8080
See DEVELOPMENT.md for detailed setup instructions.
horizon/
├── Cargo.toml # Workspace configuration
├── README.md # This file
├── docker-compose.yml # Docker Compose configuration
├── crates/ # Workspace members
│ ├── api-server/ # REST API server
│ ├── agent/ # Cross-platform agent
│ ├── common/ # Shared utilities
│ ├── crypto/ # Cryptographic operations
│ ├── database/ # Database layer
│ ├── models/ # Data models
│ └── cli/ # Command-line tools
├── migrations/ # Database migrations
├── docs/ # Documentation
└── scripts/ # Build and deployment scripts
| Document | Description |
|---|---|
| IMPLEMENTATION_PLAN.md | Detailed implementation roadmap |
| ARCHITECTURE.md | System architecture documentation |
| API.md | API reference documentation |
| DEVELOPMENT.md | Development environment setup |
| DEPLOYMENT.md | Production deployment guide |
| SECURITY.md | Security guidelines and best practices |
| AGENT.md | Agent installation and configuration |
- Check the documentation
- Search existing issues
- Open a new issue for bugs or feature requests
- Join our Discord community
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Horizon implements defense-in-depth security measures:
- Encryption at Rest: XChaCha20-Poly1305 for sensitive data
- Encryption in Transit: mTLS for all communications
- Authentication: JWT tokens with MFA support
- Password Security: Argon2id password hashing
- Audit Logging: Complete audit trail of all actions
- Secure Memory: Zeroize for sensitive data clearing
If you discover a security vulnerability, please report it responsibly:
- Do NOT open a public issue
- Email: [email protected]
- Include detailed reproduction steps
- Allow time for remediation before disclosure
See SECURITY.md for full security guidelines.
- Rust Version: Minimum 1.94.0-nightly, always use latest stable or nightly
- Dependencies: Always use latest available versions
- Breaking Changes: Major version bumps for breaking changes
- Support: Latest version always supported
See IMPLEMENTATION_PLAN.md for the complete implementation roadmap.
| Phase | Description | Status |
|---|---|---|
| A | Foundation (Infrastructure, Docker, Logging, Migrations) | In Progress |
| B | Authentication (Users, Teams, RBAC, JWT, MFA) | Planned |
| C | Web Frontend (React, Auth Pages, Layout) | Planned |
| D | Asset Inventory Core (Schema, CRUD, Search, Import) | Planned |
| E | Agent Foundation (Hardware/Software Discovery, Communication) | Planned |
| F-Z | Additional features (Software, Security, Network, BIA, etc.) | Planned |
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Built with ❤️ by the Cyberpath Team