Struct mz_secrets::SecretsReader
source · [−]pub struct SecretsReader {
pub(crate) config: Arc<SecretsReaderConfig>,
}Expand description
Securely reads secrets that are managed by a SecretsController.
Does not provide access to create, update, or delete the secrets within.
Fields
config: Arc<SecretsReaderConfig>Implementations
sourceimpl SecretsReader
impl SecretsReader
pub fn new(config: SecretsReaderConfig) -> Self
sourcepub async fn read(&self, id: GlobalId) -> Result<Vec<u8>, Error>
pub async fn read(&self, id: GlobalId) -> Result<Vec<u8>, Error>
Returns the contents of a secret identified by GlobalId
This read will return a complete version of the secret. It will not
return, e.g., one block from v1 and another from v2.
- On Linux / OSX filesystems,
File::openwill hold a handle open so that even if the file is deleted, we still continue to read from it. This means a SecretOp::Delete followed by a SecretOp::Ensure can never “swap out” data mid-read_to_end. - We do not allow editing secrets which would expose us to this issue.
(N.B. Were we ever to run with Windows / NTFS, this would also work properly and mid-read edits would be disallowed)
pub async fn read_string(&self, id: GlobalId) -> Result<String>
Trait Implementations
sourceimpl Clone for SecretsReader
impl Clone for SecretsReader
sourcefn clone(&self) -> SecretsReader
fn clone(&self) -> SecretsReader
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read more
Auto Trait Implementations
impl RefUnwindSafe for SecretsReader
impl Send for SecretsReader
impl Sync for SecretsReader
impl Unpin for SecretsReader
impl UnwindSafe for SecretsReader
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T in a tonic::Request
sourceimpl<P, R> ProtoType<R> for P where
R: RustType<P>,
impl<P, R> ProtoType<R> for P where
R: RustType<P>,
sourcefn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See RustType::from_proto.
sourcefn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See RustType::into_proto.
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more