Introduction to Horizon
Relevant source files
The following files were used as context for generating this wiki page:
Horizon is a self-hostable Configuration Management Database (CMDB) system designed to provide comprehensive visibility into an organization's IT infrastructure. It combines a high-performance Rust backend with lightweight cross-platform agents to automatically discover, inventory, and manage hardware assets, software installations, network configurations, and security posture.
The system is built with a focus on data ownership, automation, and intelligence, utilizing AI-powered pattern recognition for anomaly detection and security remediation guidance. Horizon serves as a centralized source of truth for IT asset management, vulnerability correlation, and business impact analysis.
Sources: README.md:21-36, IMPLEMENTATION_PLAN.md:27-35
System Architecture
Horizon employs a three-tier architecture consisting of a presentation layer (web and desktop applications), a business logic layer (REST API server), and a data persistence layer.
High-Level Components
- API Server: Built with the Axum framework and Tokio runtime, it handles core business logic, authentication, and AI inference.
- Database Layer: Utilizes PostgreSQL for structured data persistence and Redis for caching and session management.
- Agents: Lightweight, cross-platform binaries (<50MB memory) that collect system telemetry and report back via mTLS.
- CLI Tools: A command-line interface for managing server operations, migrations, and configurations.
Sources: IMPLEMENTATION_PLAN.md:46-52, IMPLEMENTATION_PLAN.md:104-106, README.md:126-136
Architecture Overview Diagram
The following diagram illustrates the relationship between the core components and the external AI providers.
Technology Stack
The project is implemented in Rust, requiring at least version 1.94.0-nightly. It leverages a modern stack designed for safety, performance, and security.
Core Frameworks
| Category | Technology | Purpose |
|---|---|---|
| Language | Rust | Core system development |
| Web Framework | Axum | REST API implementation |
| Async Runtime | Tokio | Asynchronous task management |
| ORM | Sea-ORM | Database entity mapping |
| Persistence | PostgreSQL | Primary relational data store |
| Caching | Redis | Sessions and performance optimization |
| Desktop | Tauri / React | Cross-platform desktop application |
Sources: Cargo.toml:23-45, IMPLEMENTATION_PLAN.md:55-70, IMPLEMENTATION_PLAN.md:586-590
Security Framework
Horizon implements a defense-in-depth security model using the RustCrypto ecosystem.
- Authentication: JWT tokens with MFA (TOTP) support.
- Encryption at Rest: XChaCha20-Poly1305 for sensitive data.
- Encryption in Transit: mTLS for all agent-to-server communication.
- Password Security: Argon2id hashing.
- Integrity: BLAKE3 for hashing and Ed25519 for digital signatures.
Sources: README.md:162-167, IMPLEMENTATION_PLAN.md:72-87, Cargo.toml:53-83
Key Features
The system is organized into several functional modules that provide specialized IT management capabilities.
Asset and Network Management
Horizon automatically discovers hardware (CPU, RAM, storage) and maps network flows. It supports topology visualization and anomaly detection to identify unusual network behavior.
Sources: README.md:41-55, IMPLEMENTATION_PLAN.md:377-430
Security and Vulnerability Tracking
The platform synchronizes with the National Vulnerability Database (NVD) to correlate CVEs with discovered assets. It also supports CIS Benchmarks for configuration validation and provides AI-powered remediation guidance.
Sources: README.md:62-73, IMPLEMENTATION_PLAN.md:310-375
Business Impact Analysis (BIA)
Horizon allows organizations to classify systems by business criticality and map system dependencies. This helps visualize impact cascades and document recovery plans.
Sources: README.md:75-80, IMPLEMENTATION_PLAN.md:432-466
Deployment and Infrastructure
Development Environment
The project provides a docker-compose.yml for local development, spinning up the necessary database and caching infrastructure.
CLI Operations
The horizon CLI utility serves as the primary entry point for administrative tasks.
horizon serve: Starts the API server and runs database migrations automatically.horizon migrate: Manages database schema changes (up, down, status).horizon validate: Checks the environment for required configuration variables.
Sources: crates/cli/src/main.rs:10-18, crates/cli/src/main.rs:152-178
Project Structure
Horizon is managed as a Rust workspace with several specialized crates:
| Crate | Path | Description |
|---|---|---|
| cli | crates/cli | Command-line tool for server management |
| api-server | crates/api-server | Core REST API implementation |
| agent | crates/agent | Data collection agent |
| error | crates/error | Standardized error types and codes |
| logging | crates/logging | Structured JSON logging infrastructure |
| ui | crates/ui | Tauri/React based frontend |
Sources: README.md:126-136, AGENTS.md:122-127, Cargo.toml:3-9
Conclusion
Horizon represents a modern approach to IT asset management, prioritizing security through the use of Rust and high-standard cryptographic primitives. By integrating AI inference directly into the CMDB workflow, it provides not just visibility, but actionable intelligence regarding infrastructure health, security compliance, and business continuity.
Sources: README.md:27-36, IMPLEMENTATION_PLAN.md:27-44