8000
Skip to content

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xTax

CI CodeQL Dependabot crates.io docs.rs Codacy Badge

Rust infrastructure ecosystem — a Cargo workspace of independent, composable crates.

What is xTax?

xtax is not a monolithic framework. It's a workspace / semi-monorepo that hosts a growing collection of standalone Rust crates for building backend infrastructure.

The top-level xtax crate is a thin facade — it contains no logic of its own. It only re-exports selected subcrates behind Cargo feature flags, giving you a single dependency with composable, opt-in functionality.

Crates

Crate Description Status
xtax-blob-storage Application-level blob storage abstraction with filesystem/S3 backends, optional encryption, rekey, cleanup, and background maintenance. crates.io
xtax-encryption Trait-only encryption provider interface. crates.io

Future planned crates (not yet created):

  • xtax-state-store — generic state persistence layer
  • xtax-state-query — query layer on top of state store

Usage — via the facade

Add xtax with feature flags:

[dependencies]
xtax = { version = "0.1", features = ["blob-storage"] }
use xtax::blob_storage::BlobStoreBuilder;

Usage — direct dependency

You can also depend directly on any subcrate:

[dependencies]
xtax-blob-storage = "0.1"
use xtax_blob_storage::BlobStoreBuilder;

Both paths are valid and supported.

Architecture rules

  • The xtax facade crate contains no logic — only re-exports.
  • Each subcrate has standalone value and can be used independently.
  • Subcrates must not depend on the facade crate.
  • Dependency direction: xtax → subcrate, never the reverse.
  • Private/internal application glue (runtime bootstrap, telemetry, S3/OpenObserve setup, encryption config) must not be moved into public crates.
  • Runtime/bootstrap crates remain private unless intentionally generalized.
  • Application config crates remain private unless intentionally generalized.
  • Public crates must not know about concrete deployment infrastructure unless that is their explicit domain.

Feature flags (facade)

Feature Description
encryption Re-exports xtax-encryption
blob-storage Enables filesystem backend via xtax-blob-storage
blob-storage-s3 Enables S3 backend via xtax-blob-storage
blob-storage-full Enables all blob-storage backends exposed by the facade
full Enables all currently exposed facade features, including encryption

Default features: none. You opt in to exactly what you need.

Documentation

Crate docs.rs Guides
xtax (facade) docs.rs
xtax-blob-storage docs.rs Guide · Architecture · Backends · Encryption · All docs
xtax-encryption docs.rs README

Contributing

See CONTRIBUTING.md for release/publishing instructions and contribution guidelines.

License

Licensed under either of:

at your option.

About

Composable Rust infrastructure crates for building xTax services and applications.

Topics

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

0