Skip to content

Add async provider #503

Closed
Closed

Description

@ion-elgreco

Was looking at some crates that support many secret stores and secretspec is a great choice but since its provider only supports sync, it cannot be integrated well with an async library

Activity

  1. domenkozar commented on Oct 26, 2026

    @domenkozar
    Member

    We have a couple of providers that use async underneath. It's not ideal, I'm open to changing this but for now both async and sync providers work. Which one would you like to add?

  2. ion-elgreco commented on Oct 26, 2026

    @ion-elgreco
    Author

    My point is to have a Provider trait that is async, example:

    #[async_trait]
    pub trait AsyncProvider: Send + Sync {
        async fn get(&self, addr: Address<'_>) -> Result<Option<SecretBytes>>;
        async fn set(&self, addr: Address<'_>, value: &SecretBytes) -> Result<()>;
        async fn delete(&self, addr: Address<'_>) -> Result<bool>;
        async fn exists(&self, addr: Address<'_>) -> Result<bool>;
        fn name(&self) -> &str;
        fn uri(&self) -> String;
    }

    Similar to Provider which is just sync, then all the underlying stores that are async can be called through that

  3. self-assigned this
    on Oct 26, 2026
  4. added
    enhancementNew feature or request
    and removed
    questionFurther information is requested
    on Oct 26, 2026
  5. domenkozar commented on Oct 26, 2026

    @domenkozar
    Member

    see #508

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions