Crate mikcar

Crate mikcar 

Source
Expand description

§mikcar - Sidecar Infrastructure for mikrozen

mikcar provides HTTP-based infrastructure services (storage, key-value, SQL, queues) for WASM handlers running in mik. Same API works locally and in production.

§Features

Enable only what you need via Cargo features:

  • storage - Object storage (S3, GCS, MinIO, local filesystem)
  • kv - Key-value store (defaults to embedded redb)
  • kv-redb - Embedded key-value store (pure Rust, musl compatible)
  • kv-redis - Redis backend (requires external Redis server)
  • sql - SQL database proxy (Postgres, MySQL, SQLite)
  • queue - Message queues (SQS, RabbitMQ, Redis Streams)
  • email - Email sending (SMTP, Resend, SendGrid, AWS SES)
  • all - Enable all services (supercar mode)

§Example

use mikcar::{SidecarBuilder, StorageService};

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let storage = StorageService::from_env()?;

    SidecarBuilder::new()
        .port(3001)
        .auth_token_from_env()
        .serve(storage)
        .await
}

Re-exports§

pub use auth::TokenAuth;
pub use builder::CorsConfig;
pub use builder::SidecarBuilder;
pub use builder::TraceId;
pub use error::Error;
pub use error::Result;
pub use health::HealthCheck;
pub use health::HealthResult;
pub use storage::StorageService;
pub use kv::KvService;
pub use sql::SqlService;
pub use secrets::SecretsService;
pub use email::EmailService;
pub use axum;
pub use tower;
pub use tower_http;

Modules§

auth
Token-based authentication middleware.
builder
Sidecar service builder.
email
Email service.
error
Error types for mikcar services.
health
Health check endpoint.
kv
Key-Value store service.
secrets
Secrets Manager service.
sql
SQL database proxy service.
storage
Object storage service.

Traits§

Sidecar
Trait for implementing sidecar services.