Skip to content

v0.3.1: Enterprise Readiness

Choose a tag to compare

@mivertowski mivertowski released this 19 Jan 20:16
· 149 commits to main since this release

RingKernel v0.3.1: Enterprise Readiness

This release adds comprehensive enterprise-grade features for production deployments.

πŸ” Enterprise Security

  • Real Cryptography: AES-256-GCM, ChaCha20-Poly1305, Argon2 key derivation
  • Secrets Management: SecretStore trait with key rotation, caching, and chained stores
  • K2K Message Encryption: Kernel-to-kernel encryption with forward secrecy
  • TLS/mTLS Support: Full TLS with rustls, certificate rotation, SNI resolution

πŸ”‘ Authentication & Authorization

  • Authentication Providers: ApiKeyAuth, JwtAuth (RS256/HS256), ChainedAuthProvider
  • RBAC: Role-based access control with deny-by-default PolicyEvaluator
  • Multi-tenancy: TenantContext, ResourceQuota, usage tracking

πŸ“Š Observability

  • OpenTelemetry: OTLP export to Jaeger, Honeycomb, Datadog, Grafana Cloud
  • Structured Logging: Multi-sink logger with trace correlation (JSON/Text)
  • Alert Routing: Severity-based routing with deduplication (Slack, Teams, PagerDuty)
  • Remote Audit Sinks: Syslog, CloudWatch Logs, Elasticsearch

⚑ Rate Limiting

  • Algorithms: TokenBucket, SlidingWindow, LeakyBucket
  • Builder API: Fluent configuration with RateLimiterBuilder
  • Distributed: SharedRateLimiter for multi-instance deployments

πŸ”§ Operational Excellence

  • Automatic Recovery: Configurable policies per failure type (Restart, Migrate, Checkpoint, Notify, Escalate, Circuit)
  • Operation Timeouts: Deadline propagation with Timeout and Deadline types
  • Recovery Manager: Retry tracking, cooldown periods, automatic escalation

πŸ“¦ Feature Flags

[dependencies]
ringkernel-core = { version = "0.3.1", features = ["enterprise"] }

# Or select specific features:
ringkernel-core = { version = "0.3.1", features = ["crypto", "auth", "tls", "rate-limiting", "alerting"] }

πŸ“ˆ Metrics

  • Test Coverage: 900+ tests (up from 825+)
  • Crates Published: 21 crates to crates.io

πŸš€ Quick Start

use ringkernel_core::prelude::*;

// Enterprise runtime with production preset
let runtime = RuntimeBuilder::new()
    .production()
    .build()?;

// API key authentication
let auth = ApiKeyAuth::new()
    .add_key("sk-prod-abc123", Identity::new("service-a"));

// Rate limiting
let limiter = RateLimiterBuilder::new()
    .algorithm(RateLimitAlgorithm::TokenBucket)
    .rate(1000)
    .burst(100)
    .build();

Full Changelog

See CHANGELOG.md for complete details.