0
0
mirror of https://github.com/tursodatabase/libsql.git synced 2024-12-15 16:49:47 +00:00
libsql/Cargo.toml
ad hoc 06bb81bbb1
libsql wal s3 backend (#1554)
* introduce checkpointer

* fmt

* impl IoBuf(Mut) for BytesMut

* add tokio_util dep

* implement FileStreamBody

wrapper stream arounf File, to send as payload to s3

* introduce SegmentKey

* add copy stream to FileExt compat method

* add warning comment

* fix imports

* add read_at and read_at_async methods

* update Backend trait to return segmetn index

* introduce S3Backend

* add s3 keys formatters

* implement Backend for S3Backend

* fix imports

* remove old implementation

* add basic s3 test

* remove unused implementation of FileExt for Vec<u8>

* add net abstraction

* feature gate s3 backend

* s3 backend with custom connector

* fmt

* expose WalRegistry::get_async

* expose seal_current method

* implement get_durable_frame_no

* expose convenient constructor for AsyncStorage

* implement Clone for LibsqlWalManager

* pass config to Storage methods

* add unhandled storage variant

* cargo bucket already exist error

* return optional segment

* remove net abstraction

the connector can be passed to the SdkConfig

* add basic shell to interact with libsql-wal

* fmt

* do not publish libsql wal
2024-07-17 08:17:21 +00:00

83 lines
2.1 KiB
TOML

[workspace]
resolver = "2"
members = [
"libsql",
"bindings/c",
"bindings/wasm",
"libsql-sys",
"libsql-server",
"bottomless",
"bottomless-cli",
"libsql-replication",
"libsql-ffi",
"libsql-hrana",
"vendored/rusqlite",
"vendored/sqlite3-parser",
"xtask", "libsql-hrana",
"libsql-wal",
"libsql-storage",
"libsql-storage-server",
]
exclude = [
"./libsql-sqlite3/ext/crr",
"./libsql-sqlite3/ext/libsql-wasi",
"libsql-shell",
"tools/rebuild-log",
"tools/fuzz",
]
[profile.release]
codegen-units = 1
panic = "unwind"
[workspace.dependencies]
rusqlite = { package = "libsql-rusqlite", path = "vendored/rusqlite", version = "0.31", default-features = false, features = [
"libsql-experimental",
"column_decltype",
"load_extension",
"modern_sqlite",
"functions",
"limits",
"hooks",
] }
hyper = { version = "0.14" }
tower = { version = "0.4.13" }
# Config for 'cargo dist'
[workspace.metadata.dist]
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.14.1"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell", "homebrew"]
# A GitHub repo to push Homebrew formulas to
tap = "libsql/homebrew-sqld"
# Customize the Homebrew formula name
formula = "sqld"
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"]
# Publish jobs to run in CI
publish-jobs = ["homebrew"]
# Whether cargo-dist should create a Github Release or use an existing draft
create-release = true
# Publish jobs to run in CI
pr-run-mode = "plan"
# A prefix git tags must include for cargo-dist to care about them
tag-namespace = "libsql-server"
# Whether to install an updater program
install-updater = false
[workspace.metadata.dist.github-custom-runners]
aarch64-apple-darwin = "macos-14"
aarch64-unknown-linux-gnu = "buildjet-8vcpu-ubuntu-2204-arm"
# The profile that 'cargo dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"