Replies: 1 comment
|
Implemented in #720. This adds a read-only Thanks for the request and the offer to test—feedback on the PR with a real Keeper application would be useful. AI-assisted — Tool: Codex; model: openai/gpt-5; version: unavailable. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
Add a provider for Keeper Secrets Manager (KSM) — Keeper's zero-knowledge secrets platform. It's a common choice in enterprises that already standardize on Keeper for password management, and it currently has no path into fnox short of a
commandlease.Why it fits fnox well
Keeper ships an official Rust SDK:
keeper-secrets-manager-core(docs), so this wouldn't need a CLI shell-out like the Doppler/1Password providers.More importantly, Keeper Notation maps 1:1 onto fnox's "value is a provider-specific reference" model:
Proposed config
Auth would follow the existing provider conventions:
config_filefield pointing at aksm-config.json(FileKeyValueStorage::new_config_storage)FNOX_KEEPER_CONFIG/KSM_CONFIGenv var (base64 config blob), matching howdopplerfalls back toFNOX_DOPPLER_TOKEN/DOPPLER_TOKENSuggested scope for a first version
ProviderCapability::RemoteRead), like the 1Password and Bitwarden providers — noput_secretinitiallyget_secretviaget_notationtest_connectionvia a trivial app-info callget_secrets_batchcould later useget_secrets(vec![uid, ...])to collapse records sharing a UID into one API callImplementation note
The Rust SDK's API appears to be synchronous (
get_notation(...)?with no.awaitin the docs), so the calls would likely needtokio::task::spawn_blockinginside the asyncProvidermethods. Worth confirming against the crate before settling on a shape.Offer
Happy to submit the PR (
crates/fnox-core/providers/keeper.toml+crates/fnox-core/src/providers/keeper.rs+docs/providers/keeper.md) if this is something you'd want in mainline — just wanted to check on the naming (keepervskeeper-sm, to distinguish from a possible future Keeper vault/password-manager provider) and on whether pulling in the SDK as a dependency is acceptable before writing it.All reactions