feat: adopt dunite PSA-37 secret_env + PSA-42 acquire_concurrency_only; bump dunite dep #56
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/bunyip-47-adopt-dunite-psa37-42"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Bump the dunite git dependency from
a35e84a(PSA-36) to current main (476aacd, through PSA-43), and adopt the two new dunite APIs that have a live site in bunyip.secret_env (PSA-37)
dunite-core now owns the file-or-env secret reader (ported verbatim from this crate's original BUNYIP-38 implementation). Delete bunyip's local
secret_envand its five unit tests fromconfig.rs; re-exportdunite_core::services::secret_envso the existingsecret_env(...)/crate::config::secret_env(...)call sites resolve against the shared implementation. Semantics unchanged.acquire_concurrency_only (PSA-42)
The manifest handler meters only tag-addressed requests, but because the coupled
acquirewas gated entirely behindshould_meter, digest-addressed requests took no concurrency slot at all - so a multi-archdocker pull's by-digest platform-manifest follow-ups were unbounded. The non-metered (digest) path now takes a concurrency-only slot vialimiter.acquire_concurrency_only, denying withTooManyRequests+ audit"concurrency"onLimitDenial::Concurrency(DailyCapisunreachable!for that call). Tag-addressed requests keep the coupledacquire. This restoresconcurrent_manifests_per_userbounding on the request type a multi-arch pull emits most of, without metering it daily.PSA-38 (DownloadCacheError::class) - deferred
No adoption site: bunyip has no member-download HTTP handler yet (only OCI/OIDC handlers), only a re-export of
DownloadCacheError, so there is no hand-rolled match to replace. Deferred until that handler lands.Verification
just check-containergreen:cargo fmt --all --check+cargo clippy --workspace --all-targets -- -D warnings+cargo test --workspace --lib(205 lib tests). The dunite changes pulled by the bump are additive or internal (PSA-35 was already adopted in bunyip PR #38), so no break.#BUNYIP-47