pub struct Config {Show 30 fields
pub database_path: PathBuf,
pub full_network: bool,
pub ephemeral: bool,
pub ephemeral_ttl: Duration,
pub relays: Vec<Url>,
pub plc_urls: Vec<Url>,
pub enable_firehose: bool,
pub firehose_workers: usize,
pub cursor_save_interval: Duration,
pub repo_fetch_timeout: Duration,
pub backfill_concurrency_limit: usize,
pub enable_crawler: Option<bool>,
pub crawler_max_pending_repos: usize,
pub crawler_resume_pending_repos: usize,
pub crawler_sources: Vec<CrawlerSource>,
pub verify_signatures: SignatureVerification,
pub identity_cache_size: u64,
pub filter_signals: Option<Vec<String>>,
pub filter_collections: Option<Vec<String>>,
pub filter_excludes: Option<Vec<String>>,
pub enable_backlinks: bool,
pub cache_size: u64,
pub data_compression: Compression,
pub journal_compression: Compression,
pub db_worker_threads: usize,
pub db_max_journaling_size_mb: u64,
pub db_blocks_memtable_size_mb: u64,
pub db_repos_memtable_size_mb: u64,
pub db_events_memtable_size_mb: u64,
pub db_records_memtable_size_mb: u64,
}Fields§
§database_path: PathBufpath to the database folder. set via HYDRANT_DATABASE_PATH.
full_network: boolif true, discovers and indexes all repositories in the network.
set via HYDRANT_FULL_NETWORK.
ephemeral: boolif true, no records are stored; events are deleted after ephemeral_ttl.
set via HYDRANT_EPHEMERAL.
ephemeral_ttl: Durationhow long events are retained in ephemeral mode before deletion.
set via HYDRANT_EPHEMERAL_TTL (humantime duration, e.g. 60min).
relays: Vec<Url>relay URLs used for firehose ingestion. set via HYDRANT_RELAY_HOST (single)
or HYDRANT_RELAY_HOSTS (comma-separated; takes precedence).
plc_urls: Vec<Url>base URL(s) of the PLC directory (comma-separated for multiple).
defaults to https://plc.wtf, or https://plc.directory in full-network mode.
set via HYDRANT_PLC_URL.
enable_firehose: boolwhether to ingest events from relay firehose subscriptions.
set via HYDRANT_ENABLE_FIREHOSE.
firehose_workers: usizenumber of concurrent workers processing firehose events.
set via HYDRANT_FIREHOSE_WORKERS.
cursor_save_interval: Durationhow often the firehose cursor is persisted to disk.
set via HYDRANT_CURSOR_SAVE_INTERVAL (humantime duration, e.g. 3sec).
repo_fetch_timeout: Durationtimeout for fetching a full repository CAR during backfill.
set via HYDRANT_REPO_FETCH_TIMEOUT (humantime duration, e.g. 5min).
backfill_concurrency_limit: usizemaximum number of concurrent backfill tasks.
set via HYDRANT_BACKFILL_CONCURRENCY_LIMIT.
enable_crawler: Option<bool>whether to run the network crawler. None defers to the default for the current mode.
set via HYDRANT_ENABLE_CRAWLER.
crawler_max_pending_repos: usizemaximum number of repos allowed in the backfill pending queue before the crawler pauses.
set via HYDRANT_CRAWLER_MAX_PENDING_REPOS.
crawler_resume_pending_repos: usizepending queue size at which the crawler resumes after being paused.
set via HYDRANT_CRAWLER_RESUME_PENDING_REPOS.
crawler_sources: Vec<CrawlerSource>crawler sources: each entry pairs a URL with a discovery mode.
set via HYDRANT_CRAWLER_URLS as a comma-separated list of [mode::]url entries,
e.g. relay::wss://bsky.network,by_collection::https://lightrail.microcosm.blue.
a bare URL without a mode:: prefix uses the default mode (relay for full-network,
by_collection otherwise). defaults to the relay hosts with the default mode.
set to an empty string to disable crawling entirely.
verify_signatures: SignatureVerificationsignature verification level for incoming commits.
set via HYDRANT_VERIFY_SIGNATURES (full, backfill-only, or none).
identity_cache_size: u64number of resolved identities to keep in the in-memory LRU cache.
set via HYDRANT_IDENTITY_CACHE_SIZE.
filter_signals: Option<Vec<String>>NSID patterns that trigger auto-discovery in filter mode (e.g. app.bsky.feed.post).
set via HYDRANT_FILTER_SIGNALS as a comma-separated list.
filter_collections: Option<Vec<String>>NSID patterns used to filter which record collections are stored.
if None, all collections are stored. set via HYDRANT_FILTER_COLLECTIONS.
filter_excludes: Option<Vec<String>>DIDs that are always skipped, regardless of mode.
set via HYDRANT_FILTER_EXCLUDES as a comma-separated list.
enable_backlinks: boolenable backlinks indexing (only meaningful in non-ephemeral mode).
set via HYDRANT_ENABLE_BACKLINKS=true.
cache_size: u64db internals, tune only if you know what you’re doing.
size of the fjall block cache in MB. set via HYDRANT_CACHE_SIZE.
data_compression: Compressiondb internals, tune only if you know what you’re doing.
compression algorithm for data keyspaces (blocks, records, repos, events).
set via HYDRANT_DATA_COMPRESSION (lz4, zstd, or none).
journal_compression: Compressiondb internals, tune only if you know what you’re doing.
compression algorithm for the fjall journal.
set via HYDRANT_JOURNAL_COMPRESSION (lz4, zstd, or none).
db_worker_threads: usizedb internals, tune only if you know what you’re doing.
number of background threads used by the fjall storage engine.
set via HYDRANT_DB_WORKER_THREADS.
db_max_journaling_size_mb: u64db internals, tune only if you know what you’re doing.
maximum total size of the fjall journal in MB before a flush is forced.
set via HYDRANT_DB_MAX_JOURNALING_SIZE_MB.
db_blocks_memtable_size_mb: u64db internals, tune only if you know what you’re doing.
in-memory write buffer (memtable) size for the blocks keyspace in MB.
set via HYDRANT_DB_BLOCKS_MEMTABLE_SIZE_MB.
db_repos_memtable_size_mb: u64db internals, tune only if you know what you’re doing.
in-memory write buffer (memtable) size for the repos keyspace in MB.
set via HYDRANT_DB_REPOS_MEMTABLE_SIZE_MB.
db_events_memtable_size_mb: u64db internals, tune only if you know what you’re doing.
in-memory write buffer (memtable) size for the events keyspace in MB.
set via HYDRANT_DB_EVENTS_MEMTABLE_SIZE_MB.
db_records_memtable_size_mb: u64db internals, tune only if you know what you’re doing.
in-memory write buffer (memtable) size for the records keyspace in MB.
set via HYDRANT_DB_RECORDS_MEMTABLE_SIZE_MB.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ToCowStr for T
impl<T> ToCowStr for T
§impl<T> ToSmolStr for T
impl<T> ToSmolStr for T
fn to_smolstr(&self) -> SmolStr
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.