rskit_git/auth/provider.rs
1//! Auth provider abstraction.
2
3use rskit_errors::AppResult;
4
5use super::{SigningConfig, TransportAuth};
6
7/// Supplies transport and signing configuration for git backends.
8pub trait AuthProvider: Send + Sync {
9 /// Resolves transport auth for an optional remote name.
10 fn transport_auth(&self, remote: Option<&str>) -> AppResult<Option<TransportAuth>>;
11
12 /// Resolves signing configuration for commit-producing operations.
13 fn signing_config(&self) -> AppResult<Option<SigningConfig>>;
14}