read_with_startup_retry retries the first read of a client secret through a store that is restarting. Nothing in swarm-queue-client calls it; its only callers are the four binaries that read the secret (swarm-builder, swarm-claude-login, swarm-controller, swarm-review-classifier), and they already depend on swarm-secret-client. It sits beside stored_secret, which moved there in #5538. swarm-queue-client drops its backon dependency and the tokio test-util dev-dependency that only these tests used.
47 lines
1.7 KiB
TOML
47 lines
1.7 KiB
TOML
[package]
|
|
name = "swarm-secret-client"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
# `read_with_startup_retry`'s backoff schedule.
|
|
backon.workspace = true
|
|
# `Shared`, so every caller refused while a secret re-read runs waits on that
|
|
# one read (`stored_secret`).
|
|
futures-util.workspace = true
|
|
# `Identity` is re-exported by vaultrs, but the identity is built here (from
|
|
# the `BAO_*` files) rather than by its env defaults, so the dependency is
|
|
# direct rather than incidental.
|
|
reqwest.workspace = true
|
|
# vaultrs's own endpoint machinery, for the one endpoint it does not
|
|
# implement — see `client::WriteAclPolicy`.
|
|
rustify.workspace = true
|
|
rustify_derive.workspace = true
|
|
# `install_crypto_provider`, which the store client (reqwest, via vaultrs)
|
|
# needs before its first TLS handshake.
|
|
rustls.workspace = true
|
|
serde.workspace = true
|
|
# `read_versioned` decodes the data half of the response vaultrs hands back as
|
|
# a `serde_json::Value`.
|
|
serde_json.workspace = true
|
|
strum.workspace = true
|
|
thiserror.workspace = true
|
|
# `stored_secret` spawns its re-reads and times them out.
|
|
tokio.workspace = true
|
|
tracing.workspace = true
|
|
vaultrs.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
# `ring` as well, as every binary that links async-nats builds it: with one
|
|
# provider compiled in rustls picks it without an install, so the provider
|
|
# test would pass with `install_crypto_provider` doing nothing.
|
|
[dev-dependencies]
|
|
rustls = { workspace = true, features = ["ring"] }
|
|
# `test-util` for `#[tokio::test(start_paused = true)]`: the re-read backoff
|
|
# tests run on paused time.
|
|
tokio = { workspace = true, features = ["test-util"] }
|
|
# Capturing what a re-read logs, to check it names the client and never the
|
|
# secret.
|
|
tracing-subscriber.workspace = true
|