Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions packages/rust/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/rust/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ async-stream = "0.3"
base64 = "0.22"
bytes = "1"
eyre = "0.6"
figment = "0.10"
futures = "0.3"
http-body-util = "0.1"
humantime = "2.3.0"
Expand Down
14 changes: 11 additions & 3 deletions packages/rust/armonik-transport/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,19 @@ include = ["**/*.rs", "Cargo.toml", "README.md"]

[features]
serde = ["dep:serde"]
# Environment reading deserialises `HttpConfigArgs`, whose field names are fixed at compile time
# (`#[serde(rename_all = "PascalCase")]`), so it needs the derive `serde` turns on, plus `figment`'s
# own `env` feature for its `Env` provider.
env = ["serde", "dep:figment"]

[dependencies]
# `channel` for `tonic::transport::Endpoint`, which is what `connect` builds; `codegen` for the
# `http`/`tokio_stream` re-exports a dependent reaches through this crate.
tonic = { workspace = true, features = ["channel", "codegen"] }
# `HttpConfigArgs::from_env`'s reader: its `Env` provider supports `#[serde(flatten)]`, and reads a
# `PascalCase` variable correctly (unlike `config`'s `Environment`, which lower-cases a key before any
# case conversion runs, empirically confirmed unusable here).
figment = { workspace = true, optional = true, features = ["env"] }
snafu.workspace = true
tracing.workspace = true
hyper = { workspace = true, features = ["client", "http1", "http2"] }
Expand Down Expand Up @@ -55,10 +63,10 @@ tower-service.workspace = true
secrecy.workspace = true

[dev-dependencies]
# The boolean options are read straight from the environment, so testing which spellings they accept
# means setting variables: process-global state, hence one test at a time.
# `HttpConfigArgs::from_env`'s own tests set real environment variables to exercise it: process-global
# state, hence one test at a time.
serial_test.workspace = true
# Only to round-trip `ClientConfigArgs` in the test that pins the `serde` feature.
# Only to round-trip `HttpConfigArgs` in the test that pins the `serde` feature.
serde_json.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "time"] }
# The integration tests serve a gRPC service to call, which the regular build never does; these features
Expand Down
Loading
Loading