pub struct Config {
pub version: Option<String>,
pub host: HostConfig,
pub admin_email: Option<String>,
pub smtp: Option<SmtpCredentials>,
pub auth: Option<AuthCredentials>,
pub tailscale: Option<TailscaleConfig>,
pub registries: Vec<RegistryEntry>,
pub backup: Option<BackupSettings>,
}Expand description
Top-level preferences.toml configuration.
Fields§
§version: Option<String>Ryra version that last wrote this config. Written on every save, checked on load to reject configs from newer versions.
host: HostConfigLegacy — reads old configs with [host], never written back.
admin_email: Option<String>Admin email used as the default for services that need an admin account.
smtp: Option<SmtpCredentials>§auth: Option<AuthCredentials>§tailscale: Option<TailscaleConfig>Tailscale auth credential + cached tailnet metadata. Set on first
--tailscale install; reused for every subsequent service so the
user only ever pastes their key once.
registries: Vec<RegistryEntry>§backup: Option<BackupSettings>Backup repository + encryption password. Set by
ryra backup configure; consumed by every ryra backup run,
ryra backup restore, and ryra backup list invocation.
None means the user hasn’t configured backups yet — every
backup command refuses with [Error::BackupRepoNotConfigured].
Implementations§
Source§impl Config
impl Config
Sourcepub fn has_secrets(&self) -> bool
pub fn has_secrets(&self) -> bool
True iff this config carries credentials/tokens that must be protected from casual disclosure: SMTP user/password, Tailscale admin API token, and anything similar added in the future. Callers use this to fire a one-time warning the first time preferences.toml acquires sensitive content.