Skip to main content

oxirs_vec/multi_tenancy/
mod.rs

1//! Multi-tenancy support for OxiRS vector search
2//!
3//! This module provides comprehensive multi-tenancy capabilities including:
4//! - Tenant isolation and namespace management
5//! - Resource quotas and rate limiting
6//! - Usage metering and billing
7//! - Access control and authentication
8//! - Performance isolation
9//! - SLA-based resource allocation with token-bucket admission control
10
11pub mod access_control;
12pub mod admission_controller;
13pub mod billing;
14pub mod isolation;
15pub mod manager;
16pub mod priority_queue;
17pub mod quota;
18pub mod sla;
19pub mod tenant;
20pub mod types;
21
22pub use access_control::{AccessControl, AccessPolicy, Permission, Role};
23pub use admission_controller::{AdmissionController, AdmissionError};
24pub use billing::{BillingEngine, BillingMetrics, BillingPeriod, PricingModel, UsageRecord};
25pub use isolation::{IsolationLevel, IsolationStrategy, NamespaceManager};
26pub use manager::{MultiTenantManager, TenantConfig, TenantManagerConfig};
27pub use priority_queue::{PrioritizedQuery, PriorityDispatcher, SlaQueryDispatcher};
28pub use quota::{QuotaEnforcer, QuotaLimits, QuotaUsage, RateLimiter, ResourceQuota, ResourceType};
29pub use sla::{SlaClass, SlaThresholds};
30pub use tenant::{Tenant, TenantId, TenantMetadata, TenantStatus};
31pub use types::{
32    MultiTenancyError, MultiTenancyResult, TenantContext, TenantOperation, TenantStatistics,
33};