From aa11939a8ba0b6451d08b28d7905aa0dda1c8df7 Mon Sep 17 00:00:00 2001 From: Janmejay Singh Date: Wed, 5 Aug 2026 19:00:51 +0530 Subject: [PATCH 1/4] Feat[OBE-11630] - Checkpoint list, delete, compare-and-set support --- lib/observo/private | 2 +- lib/vector-common/src/chkpts.rs | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/observo/private b/lib/observo/private index 32d8e256a..22e0525ec 160000 --- a/lib/observo/private +++ b/lib/observo/private @@ -1 +1 @@ -Subproject commit 32d8e256a87bb7622bbf8b6b63f177fe13e05664 +Subproject commit 22e0525ec04ff3bc391190e2297a2151eefbc9fa diff --git a/lib/vector-common/src/chkpts.rs b/lib/vector-common/src/chkpts.rs index 8493a84d3..3ea31897a 100644 --- a/lib/vector-common/src/chkpts.rs +++ b/lib/vector-common/src/chkpts.rs @@ -24,6 +24,13 @@ pub struct Value { pub updated_at: DateTime, } +#[derive(Debug, PartialEq, Eq)] +pub struct ListEntry { + pub id: String, + pub updated_at: DateTime, + pub value: Option, +} + #[derive(Debug)] pub enum ChkptErr { NotFound(ChkptId), @@ -51,6 +58,11 @@ impl Error for ChkptErr { pub trait Accessor: Send + dyn_clone::DynClone + Sync { async fn get(&self, id: String) -> Result; async fn set(&self, id: String, value: String, ctx: String) -> Result<(), ChkptErr>; + async fn compare_and_set(&self, id: String, value: String, if_old: String, ctx: String) -> Result<(), ChkptErr>; + async fn del(&self, id: String) -> Result<(), ChkptErr>; + async fn compare_and_del(&self, id: String, if_old: String) -> Result<(), ChkptErr>; + async fn del_range(&self, from: String, to: String) -> Result; + async fn list_range(&self, from: String, to: String, limit: u32, with_values: bool) -> Result, ChkptErr>; } dyn_clone::clone_trait_object!(Accessor); From c9a1ba30517e89a2492b337d3fd5ad5061145f68 Mon Sep 17 00:00:00 2001 From: Janmejay Singh Date: Wed, 5 Aug 2026 20:22:07 +0530 Subject: [PATCH 2/4] Feat[OBE-11630] - Make checkpoint APIs flexible --- lib/observo/private | 2 +- lib/vector-common/src/chkpts.rs | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/observo/private b/lib/observo/private index 22e0525ec..70b1483c7 160000 --- a/lib/observo/private +++ b/lib/observo/private @@ -1 +1 @@ -Subproject commit 22e0525ec04ff3bc391190e2297a2151eefbc9fa +Subproject commit 70b1483c706ba29ed7faf01f5c60d8fe6a426af0 diff --git a/lib/vector-common/src/chkpts.rs b/lib/vector-common/src/chkpts.rs index 3ea31897a..ab507fdc6 100644 --- a/lib/vector-common/src/chkpts.rs +++ b/lib/vector-common/src/chkpts.rs @@ -1,4 +1,4 @@ -use std::{error::Error, fmt::Display}; +use std::{borrow::Cow, error::Error, fmt::Display}; use async_trait::async_trait; use crate::id::ComponentKey; @@ -56,13 +56,13 @@ impl Error for ChkptErr { #[async_trait] pub trait Accessor: Send + dyn_clone::DynClone + Sync { - async fn get(&self, id: String) -> Result; - async fn set(&self, id: String, value: String, ctx: String) -> Result<(), ChkptErr>; - async fn compare_and_set(&self, id: String, value: String, if_old: String, ctx: String) -> Result<(), ChkptErr>; - async fn del(&self, id: String) -> Result<(), ChkptErr>; - async fn compare_and_del(&self, id: String, if_old: String) -> Result<(), ChkptErr>; - async fn del_range(&self, from: String, to: String) -> Result; - async fn list_range(&self, from: String, to: String, limit: u32, with_values: bool) -> Result, ChkptErr>; + async fn get(&self, id: Cow<'_, str>) -> Result; + async fn set(&self, id: Cow<'_, str>, value: Cow<'_, str>, ctx: Cow<'_, str>) -> Result<(), ChkptErr>; + async fn compare_and_set(&self, id: Cow<'_, str>, value: Cow<'_, str>, if_old: Cow<'_, str>, ctx: Cow<'_, str>) -> Result<(), ChkptErr>; + async fn del(&self, id: Cow<'_, str>) -> Result<(), ChkptErr>; + async fn compare_and_del(&self, id: Cow<'_, str>, if_old: Cow<'_, str>) -> Result<(), ChkptErr>; + async fn del_range(&self, from: Cow<'_, str>, to: Cow<'_, str>) -> Result; + async fn list_range(&self, from: Cow<'_, str>, to: Cow<'_, str>, limit: u32, with_values: bool) -> Result, ChkptErr>; } dyn_clone::clone_trait_object!(Accessor); From c710a67aba0c334f75c27c33beac91e884485483 Mon Sep 17 00:00:00 2001 From: Janmejay Singh Date: Wed, 5 Aug 2026 22:35:51 +0530 Subject: [PATCH 3/4] Feat[OBE-11630] - Add integration tests to chkpt store --- Cargo.lock | 467 +++++++++++++++++++++++++++++++--- flake.nix | 3 + lib/observo/chkpts/Cargo.toml | 2 + lib/observo/private | 2 +- 4 files changed, 433 insertions(+), 41 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fb653b03b..5038b72b3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -73,7 +73,7 @@ checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.11", ] [[package]] @@ -2350,7 +2350,18 @@ checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.11", +] + +[[package]] +name = "chacha20" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.0", + "rand_core 0.10.1", ] [[package]] @@ -2360,7 +2371,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" dependencies = [ "aead", - "chacha20", + "chacha20 0.9.1", "cipher", "poly1305", "zeroize", @@ -2391,6 +2402,7 @@ dependencies = [ "serde", "serde_with", "tempfile", + "testcontainers-modules", "tokio", "tokio-postgres", "toml", @@ -2894,6 +2906,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +dependencies = [ + "libc", +] + [[package]] name = "crc" version = "3.3.0" @@ -3167,7 +3188,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.11", "curve25519-dalek-derive", "digest", "fiat-crypto", @@ -3278,7 +3299,7 @@ dependencies = [ "once_cell", "parking_lot 0.12.3", "percent-encoding", - "reqwest 0.12.4", + "reqwest 0.12.9", "serde", "serde_json", "tokio", @@ -3485,6 +3506,15 @@ dependencies = [ "dirs-sys", ] +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + [[package]] name = "dirs-next" version = "2.0.0" @@ -3577,6 +3607,17 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +[[package]] +name = "docker_credential" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29547a1dc60885a552306986316bc9701ba120c1a8db6769fa68691529ad373d" +dependencies = [ + "base64 0.22.1", + "serde", + "serde_json", +] + [[package]] name = "docs-renderer" version = "0.1.0" @@ -3673,9 +3714,9 @@ dependencies = [ [[package]] name = "either" -version = "1.9.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +checksum = "9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d" [[package]] name = "elliptic-curve" @@ -4393,11 +4434,25 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", + "r-efi 5.3.0", "wasip2", "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi 6.0.0", + "rand_core 0.10.1", + "wasm-bindgen", +] + [[package]] name = "gimli" version = "0.28.0" @@ -4912,10 +4967,32 @@ dependencies = [ "rand 0.8.6", "thiserror 1.0.68", "tinyvec", + "tokio", "tracing 0.1.41", "url", ] +[[package]] +name = "hickory-resolver" +version = "0.24.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbb117a1ca520e111743ab2f6688eddee69db4e0ea242545a604dce8a66fd22e" +dependencies = [ + "cfg-if", + "futures-util", + "hickory-proto", + "ipconfig", + "lru-cache", + "once_cell", + "parking_lot 0.12.3", + "rand 0.8.6", + "resolv-conf", + "smallvec", + "thiserror 1.0.68", + "tokio", + "tracing 0.1.41", +] + [[package]] name = "hkdf" version = "0.12.3" @@ -5224,6 +5301,23 @@ dependencies = [ "tower-service", ] +[[package]] +name = "hyper-rustls" +version = "0.27.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" +dependencies = [ + "http 1.1.0", + "hyper 1.4.1", + "hyper-util", + "rustls 0.23.31", + "rustls-native-certs 0.8.0", + "tokio", + "tokio-rustls 0.26.2", + "tower-service", + "webpki-roots 1.0.9", +] + [[package]] name = "hyper-timeout" version = "0.4.1" @@ -5633,6 +5727,19 @@ dependencies = [ "libc", ] +[[package]] +name = "ipconfig" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d40460c0ce33d6ce4b0630ad68ff63d6661961c48b6dba35e5a4d81cfb48222" +dependencies = [ + "socket2 0.6.0", + "widestring 1.0.2", + "windows-registry 0.6.1", + "windows-result 0.4.1", + "windows-sys 0.61.2", +] + [[package]] name = "ipnet" version = "2.10.1" @@ -5873,7 +5980,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.11", ] [[package]] @@ -6334,6 +6441,21 @@ dependencies = [ "hashbrown 0.15.2", ] +[[package]] +name = "lru-cache" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +dependencies = [ + "linked-hash-map", +] + +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "lua-src" version = "547.0.0" @@ -7380,7 +7502,7 @@ dependencies = [ "getrandom 0.2.15", "http 1.1.0", "rand 0.8.6", - "reqwest 0.12.4", + "reqwest 0.12.9", "serde", "serde_json", "serde_path_to_error", @@ -7425,7 +7547,7 @@ dependencies = [ "percent-encoding", "quick-xml 0.36.2", "rand 0.8.6", - "reqwest 0.12.4", + "reqwest 0.12.9", "ring", "rustls-pemfile 2.1.0", "serde", @@ -7725,7 +7847,7 @@ version = "0.3.1" dependencies = [ "oxide-auth", "poem", - "reqwest 0.12.4", + "reqwest 0.12.9", "serde", "serde_json", "serde_urlencoded", @@ -7853,6 +7975,31 @@ dependencies = [ "zstd 0.13.2", ] +[[package]] +name = "parse-display" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "914a1c2265c98e2446911282c6ac86d8524f495792c38c5bd884f80499c7538a" +dependencies = [ + "parse-display-derive", + "regex", + "regex-syntax 0.8.5", +] + +[[package]] +name = "parse-display-derive" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ae7800a4c974efd12df917266338e79a7a74415173caf7e70aa0a0707345281" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "regex", + "regex-syntax 0.8.5", + "structmeta", + "syn 2.0.117", +] + [[package]] name = "parse-size" version = "1.1.0" @@ -8231,7 +8378,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" dependencies = [ - "cpufeatures", + "cpufeatures 0.2.11", "opaque-debug", "universal-hash", ] @@ -8875,6 +9022,62 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "quinn" +version = "0.11.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c1a41e437b6bbd489372cd4971de128e85c855f56c57f283d20ff016cf7c0a8" +dependencies = [ + "bytes 1.9.0", + "cfg_aliases 0.2.1", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls 0.23.31", + "socket2 0.6.0", + "thiserror 2.0.17", + "tokio", + "tracing 0.1.41", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f4bfc015262b9df63c8845072ce59068853ff5872180c2ce2f13038b970e560" +dependencies = [ + "bytes 1.9.0", + "getrandom 0.4.3", + "lru-slab", + "rand 0.10.2", + "rand_pcg 0.10.2", + "ring", + "rustc-hash", + "rustls 0.23.31", + "rustls-pki-types", + "slab", + "thiserror 2.0.17", + "tinyvec", + "tracing 0.1.41", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35a133f956daabe89a61a685c2649f13d82d5aa4bd5d12d1277e1072a21c0694" +dependencies = [ + "cfg_aliases 0.2.1", + "libc", + "once_cell", + "socket2 0.6.0", + "tracing 0.1.41", + "windows-sys 0.59.0", +] + [[package]] name = "quote" version = "0.6.13" @@ -8905,6 +9108,12 @@ version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" +[[package]] +name = "r-efi" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" + [[package]] name = "radium" version = "0.7.0" @@ -8932,7 +9141,7 @@ dependencies = [ "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc", - "rand_pcg", + "rand_pcg 0.2.1", ] [[package]] @@ -8956,6 +9165,17 @@ dependencies = [ "rand_core 0.9.3", ] +[[package]] +name = "rand" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80" +dependencies = [ + "chacha20 0.10.1", + "getrandom 0.4.3", + "rand_core 0.10.1", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -9013,6 +9233,12 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "rand_distr" version = "0.4.3" @@ -9041,6 +9267,15 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_pcg" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caa0f4137e1c0a72f4c651489402276c8e8e1cf081f3b0ba156d2cbeef09e86a" +dependencies = [ + "rand_core 0.10.1", +] + [[package]] name = "rand_xorshift" version = "0.3.0" @@ -9390,7 +9625,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tokio-rustls 0.24.1", @@ -9402,14 +9637,14 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots 0.25.2", - "winreg 0.50.0", + "winreg", ] [[package]] name = "reqwest" -version = "0.12.4" +version = "0.12.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +checksum = "a77c62af46e79de0a562e1a9849205ffcb7fc1238876e9bd743357570e04046f" dependencies = [ "base64 0.22.1", "bytes 1.9.0", @@ -9418,11 +9653,12 @@ dependencies = [ "futures-core", "futures-util", "h2 0.4.7", + "hickory-resolver", "http 1.1.0", "http-body 1.0.0", "http-body-util", "hyper 1.4.1", - "hyper-rustls 0.26.0", + "hyper-rustls 0.27.9", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -9434,18 +9670,19 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.22.4", - "rustls-native-certs 0.7.0", + "quinn", + "rustls 0.23.31", + "rustls-native-certs 0.8.0", "rustls-pemfile 2.1.0", "rustls-pki-types", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper 0.1.2", - "system-configuration", + "sync_wrapper 1.0.1", + "system-configuration 0.6.1", "tokio", "tokio-native-tls", - "tokio-rustls 0.25.0", + "tokio-rustls 0.26.2", "tokio-util", "tower-service", "url", @@ -9454,9 +9691,15 @@ dependencies = [ "wasm-streams", "web-sys", "webpki-roots 0.26.1", - "winreg 0.52.0", + "windows-registry 0.2.0", ] +[[package]] +name = "resolv-conf" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" + [[package]] name = "rfc6979" version = "0.4.0" @@ -9783,6 +10026,7 @@ dependencies = [ "aws-lc-rs", "log", "once_cell", + "ring", "rustls-pki-types", "rustls-webpki 0.103.4", "subtle", @@ -9814,6 +10058,19 @@ dependencies = [ "security-framework", ] +[[package]] +name = "rustls-native-certs" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcaf18a4f2be7326cd874a5fa579fae794320a0f388d365dca7e480e55f83f8a" +dependencies = [ + "openssl-probe", + "rustls-pemfile 2.1.0", + "rustls-pki-types", + "schannel", + "security-framework", +] + [[package]] name = "rustls-pemfile" version = "1.0.4" @@ -9839,6 +10096,7 @@ version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" dependencies = [ + "web-time", "zeroize", ] @@ -10388,7 +10646,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.11", "digest", ] @@ -10399,7 +10657,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.11", "digest", ] @@ -10410,7 +10668,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", + "cpufeatures 0.2.11", "digest", ] @@ -10876,6 +11134,29 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "structmeta" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e1575d8d40908d70f6fd05537266b90ae71b15dbbe7a8b7dffa2b759306d329" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "structmeta-derive", + "syn 2.0.117", +] + +[[package]] +name = "structmeta-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.37", + "syn 2.0.117", +] + [[package]] name = "strum" version = "0.25.0" @@ -11058,7 +11339,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" +dependencies = [ + "bitflags 2.11.1", + "core-foundation", + "system-configuration-sys 0.6.0", ] [[package]] @@ -11071,6 +11363,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "tagptr" version = "0.2.0" @@ -11210,6 +11512,43 @@ dependencies = [ "syn 0.15.44", ] +[[package]] +name = "testcontainers" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81abdf87437235a275fd0fecaa6ca2c6af28240506e695e9abe84597b3431b35" +dependencies = [ + "async-trait", + "bollard", + "bollard-stubs", + "bytes 1.9.0", + "dirs", + "docker_credential", + "either", + "futures 0.3.31", + "log", + "memchr", + "parse-display", + "reqwest 0.12.9", + "serde", + "serde_json", + "serde_with", + "thiserror 1.0.68", + "tokio", + "tokio-stream", + "tokio-util", + "url", +] + +[[package]] +name = "testcontainers-modules" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62fd1d073aa411d7a902969516261bebd71c5218098713fbd5aea7f4f72a45f1" +dependencies = [ + "testcontainers", +] + [[package]] name = "textwrap" version = "0.16.2" @@ -13331,6 +13670,15 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "webpki-roots" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "wef" version = "0.1.0" @@ -13530,7 +13878,7 @@ dependencies = [ "windows-implement 0.58.0", "windows-interface 0.58.0", "windows-result 0.2.0", - "windows-strings", + "windows-strings 0.1.0", "windows-targets 0.52.6", ] @@ -13584,6 +13932,28 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-registry" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0" +dependencies = [ + "windows-result 0.2.0", + "windows-strings 0.1.0", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + [[package]] name = "windows-result" version = "0.1.2" @@ -13602,6 +13972,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-service" version = "0.7.0" @@ -13623,6 +14002,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-sys" version = "0.45.0" @@ -13659,6 +14047,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-targets" version = "0.42.2" @@ -13865,16 +14262,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "wiremock" version = "0.6.2" diff --git a/flake.nix b/flake.nix index 4f1f01c66..2ac8e4038 100644 --- a/flake.nix +++ b/flake.nix @@ -38,6 +38,9 @@ python3 flex gh + colima + docker + docker-compose ] ++ lib.optionals stdenv.isLinux [ mold ]; hardeningDisable = [ "fortify" ]; diff --git a/lib/observo/chkpts/Cargo.toml b/lib/observo/chkpts/Cargo.toml index 434efc771..c6e186c69 100644 --- a/lib/observo/chkpts/Cargo.toml +++ b/lib/observo/chkpts/Cargo.toml @@ -27,9 +27,11 @@ rusqlite.workspace = true toml.workspace = true tokio.workspace = true tracing.workspace = true +testcontainers-modules = { version = "0.7", features = ["postgres"], optional = true } [features] default = [] +pg-integration-tests = ["dep:testcontainers-modules"] [dev-dependencies] assert_matches = { version = "1.5" } diff --git a/lib/observo/private b/lib/observo/private index 70b1483c7..ed44e58c6 160000 --- a/lib/observo/private +++ b/lib/observo/private @@ -1 +1 @@ -Subproject commit 70b1483c706ba29ed7faf01f5c60d8fe6a426af0 +Subproject commit ed44e58c6f301e4970dce386dc968852be359844 From c4a60091b8a7a969aa8c3a09c4d7261fbf6a10be Mon Sep 17 00:00:00 2001 From: Janmejay Singh Date: Wed, 5 Aug 2026 23:00:52 +0530 Subject: [PATCH 4/4] Feat[OBE-11630] - Bump private --- lib/observo/private | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/observo/private b/lib/observo/private index ed44e58c6..fb34e01c5 160000 --- a/lib/observo/private +++ b/lib/observo/private @@ -1 +1 @@ -Subproject commit ed44e58c6f301e4970dce386dc968852be359844 +Subproject commit fb34e01c5a8ce429d69135a0508331348cdb449a