Skip to content

Commit 71877b3

Browse files
committed
feat(cogs): create inventory-tracker crate for storage oplog
1 parent 186c046 commit 71877b3

10 files changed

Lines changed: 1418 additions & 11 deletions

File tree

.github/workflows/ci.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ jobs:
2222
runs-on: ubuntu-latest
2323

2424
steps:
25+
# librdkafka is built from source and links against libcurl, whose headers are not
26+
# on the runner by default. Needed by anything that builds the `kafka` feature.
27+
- name: Install libcurl-dev
28+
run: |
29+
sudo apt-get update
30+
sudo apt-get install -y libcurl4-openssl-dev
31+
2532
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2633

2734
- name: Install Rust Toolchain
@@ -75,6 +82,13 @@ jobs:
7582
runs-on: ubuntu-latest
7683

7784
steps:
85+
# librdkafka is built from source and links against libcurl, whose headers are not
86+
# on the runner by default. Needed by anything that builds the `kafka` feature.
87+
- name: Install libcurl-dev
88+
run: |
89+
sudo apt-get update
90+
sudo apt-get install -y libcurl4-openssl-dev
91+
7892
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
7993

8094
- name: Start Bigtable Emulator
@@ -181,6 +195,13 @@ jobs:
181195
id-token: write
182196

183197
steps:
198+
# librdkafka is built from source and links against libcurl, whose headers are not
199+
# on the runner by default. Needed by anything that builds the `kafka` feature.
200+
- name: Install libcurl-dev
201+
run: |
202+
sudo apt-get update
203+
sudo apt-get install -y libcurl4-openssl-dev
204+
184205
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
185206

186207
- name: Install Rust Toolchain

Cargo.lock

Lines changed: 170 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ debug = true
2121
lto = "thin"
2222

2323
[workspace.dependencies]
24+
objectstore-inventory-tracker = { path = "objectstore-inventory-tracker" }
2425
objectstore-client = { path = "clients/rust" }
2526
objectstore-log = { path = "objectstore-log" }
2627
objectstore-metrics = { path = "objectstore-metrics" }
@@ -42,6 +43,7 @@ async-trait = "0.1.89"
4243
axum = "0.8.9"
4344
base64 = "0.22.1"
4445
bigtable_rs = { git = "https://github.com/getsentry/bigtable_rs.git", rev = "4cb75bc5e5f87204363973f6302107768e64972e" }
46+
blake3 = "1.8.5"
4547
bytes = "1.12.0"
4648
bytesize = "2.4.0"
4749
chrono = "0.4.45"
@@ -81,6 +83,10 @@ rustls = { version = "0.23.40", default-features = false }
8183
secrecy = "0.10.3"
8284
sentry = "0.48.3"
8385
sentry-options = "1.2.4"
86+
# - `ssl` is required for SASL/SCRAM
87+
# - `librdkafka` must be built from source either way, and `cmake-build` is the
88+
# recommended way to do it
89+
rdkafka = { version = "0.39.0", features = ["cmake-build", "ssl", "tracing"] }
8490
serde = { version = "1.0.228", features = ["derive"] }
8591
serde_json = "1.0.150"
8692
serde_yaml = "0.9.34-deprecated"

0 commit comments

Comments
 (0)