pub struct IndexEntry {Show 13 fields
pub description: Option<String>,
pub retrieval_url: Option<String>,
pub format_regex: Option<String>,
pub default_gate: Option<Gate>,
pub expires_at: Option<String>,
pub last_rotated_at: Option<String>,
pub rotate_every_days: Option<u32>,
pub rotation_method: Option<RotationMethod>,
pub required_scopes: Vec<String>,
pub pattern_id: Option<String>,
pub env_var: Option<String>,
pub cache_ttl_seconds_max: Option<u64>,
pub approve_on_use: Option<ApproveOnUse>,
}Expand description
Metadata for a single secret stored in the global index.
Every field is optional: missing fields fall back to defaults from
the linked pattern_id (when set; that
inheritance is wired up in epic phase P2.4) or to the framework’s
own defaults.
Fields§
§description: Option<String>Free-text description shown in secrets describe, the UI’s
inventory view, and the agent’s secrets.describe reply.
retrieval_url: Option<String>URL the user opens to obtain a fresh value (browser link).
Used by the rotation flow’s [Open URL] button.
format_regex: Option<String>Regular expression the value must match. Validation is lazy —
the regex is only compiled when secrets validate --format or
the format-validation hook runs (epic phase P9.1).
default_gate: Option<Gate>Confirmation gate applied at value-read time.
expires_at: Option<String>ISO 8601 (YYYY-MM-DD) expiry date. Populated by the liveness
validator (P9.2) when the upstream API exposes a valid_until
field; can also be set by hand.
Stored as String rather than a typed date so the round-trip
through TOML is lossless without pulling in a date crate. The
validation framework parses on demand.
last_rotated_at: Option<String>ISO 8601 date of the last successful rotation. Drives advisory
warnings via rotate_every_days.
rotate_every_days: Option<u32>Recommended rotation cadence in days. doctor warns when
now > last_rotated_at + rotate_every_days - 7d.
rotation_method: Option<RotationMethod>How the secret is rotated. Defaults to RotationMethod::Manual
at consumption time when absent.
required_scopes: Vec<String>Advisory list of API scopes required for this token to function.
pattern_id: Option<String>Reference into the devboy-secret-patterns catalogue. When
set, the catalogue supplies sensible defaults for format_regex,
retrieval_url, rotation_method, and default_expiry_days
— see ADR-020 §3 and epic phase P2.4 for the wiring.
env_var: Option<String>CI/headless override for the env-store source: when present,
the env-store reads <env_var> verbatim instead of the
convention-based name. See ADR-021 §8.
cache_ttl_seconds_max: Option<u64>Per-secret upper bound on the source router’s adaptive cache TTL. Cannot raise it above the source default — see ADR-021 §7.
approve_on_use: Option<ApproveOnUse>Approve-on-use policy (P25). Defaults to Never at the
consumer side when absent — see ApproveOnUse.
Trait Implementations§
Source§impl Clone for IndexEntry
impl Clone for IndexEntry
Source§fn clone(&self) -> IndexEntry
fn clone(&self) -> IndexEntry
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 IndexEntry
impl Debug for IndexEntry
Source§impl Default for IndexEntry
impl Default for IndexEntry
Source§fn default() -> IndexEntry
fn default() -> IndexEntry
Source§impl<'de> Deserialize<'de> for IndexEntry
impl<'de> Deserialize<'de> for IndexEntry
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>,
impl Eq for IndexEntry
Source§impl PartialEq for IndexEntry
impl PartialEq for IndexEntry
Source§fn eq(&self, other: &IndexEntry) -> bool
fn eq(&self, other: &IndexEntry) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for IndexEntry
impl Serialize for IndexEntry
impl StructuralPartialEq for IndexEntry
Auto Trait Implementations§
impl Freeze for IndexEntry
impl RefUnwindSafe for IndexEntry
impl Send for IndexEntry
impl Sync for IndexEntry
impl Unpin for IndexEntry
impl UnsafeUnpin for IndexEntry
impl UnwindSafe for IndexEntry
Blanket Implementations§
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.