baqup-schema

Crates.iobaqup-schema
lib.rsbaqup-schema
version0.0.1
created_at2025-12-07 14:35:19.049126+00
updated_at2025-12-07 14:35:19.049126+00
descriptionJSON Schema validation and environment variable loading for baqup agent configuration
homepagehttps://github.com/baqupio/baqup
repositoryhttps://github.com/baqupio/baqup-schema-rs
max_upload_size
id1971697
size46,489
Stephen Cox (andronics)

documentation

https://docs.rs/baqup-schema

README

baqup-schema

JSON Schema validation and environment variable loading for baqup agent configuration.

⚠️ This is a placeholder crate. Full implementation coming soon.

What is baqup?

baqup is a container-native backup orchestration system. It uses a controller-agent architecture where:

  • The controller discovers workloads via Docker labels
  • Agents perform backup/restore operations
  • Configuration is defined via JSON Schema

This crate provides schema validation for agent configuration, used by both:

  • Agents (to validate their own configuration at startup)
  • Controller (to pre-flight validate before spawning agents)

Planned Features

  • JSON Schema validation (draft-2020-12)
  • Environment variable loading with type coercion
  • Custom format validators (path, hostname, etc.)
  • Conditional validation support

Installation

[dependencies]
baqup-schema = "0.0.1"

Usage (Preview API)

use baqup_schema::{validate, load_from_env};

// Load and validate from environment variables
let config = load_from_env("agent-schema.json")?;

// Or validate an existing value
let result = validate(&schema, &config)?;
if !result.valid {
    for error in result.errors.unwrap() {
        println!("{}: {}", error.path, error.message);
    }
}

Related Crates

Crate Description
baqup-schema Schema validation (this crate)
baqup-agent Agent SDK for Rust

Links

License

Fair Source License - see LICENSE for details.

Commit count: 0

cargo fmt