burncloud-database-core 0.1.0

Core database abstractions and traits for BurnCloud AI management system
Documentation

burncloud-database-core

Core database abstractions and traits for the BurnCloud AI management system.

Overview

burncloud-database-core provides the foundational traits, types, and data models for building database-agnostic AI model management systems. It defines the core abstractions that allow different database backends to be used interchangeably.

Features

  • Database-agnostic traits: Core traits for database connections, query execution, and transactions
  • AI Model data models: Complete data structures for AI model management, deployments, monitoring, and security
  • Error handling: Comprehensive error types for database operations
  • Serialization support: Full serde support for all data types
  • Async/await support: Built for modern async Rust applications

Core Traits

  • DatabaseConnection: Manages database connections and basic operations
  • QueryExecutor: Executes queries and handles parameters
  • TransactionManager: Manages database transactions
  • Repository: Generic repository pattern for data access
  • MigrationManager: Handles database schema migrations

Data Models

AI Model Management

  • AiModel: Represents AI models with metadata, requirements, and status
  • ModelDeployment: Manages model deployments with configuration and resource settings
  • ModelType: Enum for different types of AI models (ChatCompletion, TextGeneration, etc.)

Monitoring & Metrics

  • SystemMetrics: System-level performance metrics
  • ModelMetrics: Model-specific performance metrics
  • RequestLog: API request logging
  • SystemLog: System event logging

User & Security

  • UserSettings: User preferences and configuration
  • SecurityConfig: Security policies and access controls
  • ApiKey: API key management with permissions
  • FirewallRule: Network access control rules

Example Usage

use burncloud_database_core::*;

// Define a custom repository
struct MyModelRepository {
    // Implementation details
}

#[async_trait]
impl Repository<AiModel> for MyModelRepository {
    async fn find_by_id(&self, id: &str, context: &QueryContext) -> DatabaseResult<Option<AiModel>> {
        // Implementation
    }

    // Other repository methods...
}

Installation

Add this to your Cargo.toml:

[dependencies]
burncloud-database-core = "0.1"

License

Licensed under either of

at your option.

Contributing

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.