pub struct SecretsConfig {
pub secrets: HashMap<String, String>,
}Expand description
Parsed ~/.yah/qed/secrets.toml. Missing file is not an error.
Fields§
§secrets: HashMap<String, String>Implementations§
Source§impl SecretsConfig
impl SecretsConfig
Sourcepub fn load_default() -> Self
pub fn load_default() -> Self
Path: <home>/.yah/qed/secrets.toml. Returns Default::default()
when the file or HOME is unavailable.
pub fn load_from(path: &Path) -> Self
Sourcepub fn resolve_all(&self) -> Value
pub fn resolve_all(&self) -> Value
Build the secrets.* Value::Object the qed-gha executor expects.
Each declared GHA secret name is resolved through its source URI
using the canonical yah vault; unresolved sources surface as ""
(matches GHA’s unset behavior).
Sourcepub fn resolve_one(&self, name: &str) -> Option<String>
pub fn resolve_one(&self, name: &str) -> Option<String>
Resolve a single declared secret by its bridged name, running the same
vault: / env: / pipe-fallback chain as [resolve_all]. Returns
None when the name isn’t declared in the bridge, or when its source
chain yields nothing. Opens the vault once per call — fine for the
handful of credential slots a release-provider adapter reads at publish
time (R509). For resolving the whole bridge at once, prefer
[resolve_all], which amortizes the vault open across all entries.
Sourcepub fn names(&self) -> Vec<String>
pub fn names(&self) -> Vec<String>
Names of declared GHA secrets (sorted). Used by the desktop vault-explorer to show which workflow names are bridged + which vault slots they map to.
Sourcepub fn resolve_status(&self) -> Vec<EntryStatus>
pub fn resolve_status(&self) -> Vec<EntryStatus>
Per-entry presence report — runs the same fallback chain as
[resolve_all] but reports only whether each entry resolves to a
non-empty value, never the value itself. Sorted by GHA name so
the editor UI gets a stable row order. (R500-F1)
Trait Implementations§
Source§impl Clone for SecretsConfig
impl Clone for SecretsConfig
Source§fn clone(&self) -> SecretsConfig
fn clone(&self) -> SecretsConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SecretsConfig
impl Debug for SecretsConfig
Source§impl Default for SecretsConfig
impl Default for SecretsConfig
Source§fn default() -> SecretsConfig
fn default() -> SecretsConfig
Source§impl<'de> Deserialize<'de> for SecretsConfig
impl<'de> Deserialize<'de> for SecretsConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl SecretSource for SecretsConfig
impl SecretSource for SecretsConfig
Auto Trait Implementations§
impl Freeze for SecretsConfig
impl RefUnwindSafe for SecretsConfig
impl Send for SecretsConfig
impl Sync for SecretsConfig
impl Unpin for SecretsConfig
impl UnsafeUnpin for SecretsConfig
impl UnwindSafe for SecretsConfig
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more