[package] name = "kei-store" version = "0.1.0" edition.workspace = true rust-version.workspace = true description = "Memory-repo backend abstraction — GitHub/Forgejo/Gitea/Filesystem/S3 (v0.21.0)" authors = ["Denis Parfionovich "] [[bin]] name = "kei-store" path = "src/main.rs" [lib] path = "src/lib.rs" [features] # Default: no cloud deps. S3 backend behaves as the v0.14 local-manifest stub # (gated by KEI_STORE_ALLOW_S3_STUB=1). Users who actually need real S3 / R2 / # MinIO push opt into the heavier AWS SDK stack by enabling this feature. default = [] s3 = ["dep:aws-config", "dep:aws-sdk-s3", "dep:aws-credential-types", "dep:tokio", "dep:async-trait"] [dependencies] clap = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } anyhow = { workspace = true } toml = { workspace = true } git2 = { version = "0.19", default-features = false } # v0.21 — optional cloud stack behind `s3` feature. aws-config = { version = "1", default-features = false, features = ["behavior-version-latest", "rustls", "rt-tokio"], optional = true } aws-sdk-s3 = { version = "1", default-features = false, features = ["behavior-version-latest", "rustls", "rt-tokio"], optional = true } aws-credential-types = { version = "1", optional = true } tokio = { workspace = true, optional = true } async-trait = { workspace = true, optional = true } [dev-dependencies] tempfile = { workspace = true }