pub struct FlagdOptions {Show 18 fields
pub host: String,
pub port: u16,
pub target_uri: Option<String>,
pub resolver_type: ResolverType,
pub tls: bool,
pub cert_path: Option<String>,
pub deadline_ms: u32,
pub cache_settings: Option<CacheSettings>,
pub retry_backoff_ms: u32,
pub retry_backoff_max_ms: u32,
pub retry_grace_period: u32,
pub selector: Option<String>,
pub socket_path: Option<String>,
pub source_configuration: Option<String>,
pub stream_deadline_ms: u32,
pub keep_alive_time_ms: u64,
pub offline_poll_interval_ms: Option<u32>,
pub provider_id: Option<String>,
}Expand description
Configuration options for the flagd provider
Fields§
§host: StringHost address for the service
port: u16Port number for the service
target_uri: Option<String>Target URI for custom name resolution (e.g. “envoy://service/flagd”)
resolver_type: ResolverTypeType of resolver to use
tls: boolWhether to use TLS for connections (uses HTTPS/gRPCS)
When enabled, connections will use TLS with system/webpki root certificates by default.
For self-signed or custom CA certificates, also set cert_path.
cert_path: Option<String>Path to a PEM-encoded CA certificate file for TLS connections.
Use this to connect to flagd servers using self-signed or custom CA certificates.
When provided, this certificate is used as the trusted CA instead of system roots.
Can also be set via the FLAGD_SERVER_CERT_PATH environment variable.
Example: “/path/to/ca-cert.pem”
deadline_ms: u32Request timeout in milliseconds
cache_settings: Option<CacheSettings>Cache configuration settings
retry_backoff_ms: u32Initial backoff duration in milliseconds for retry attempts (default: 1000ms) Not supported in OFREP (REST) evaluation
retry_backoff_max_ms: u32Maximum backoff duration in milliseconds for retry attempts, prevents exponential backoff from growing indefinitely (default: 120000ms) Not supported in OFREP (REST) evaluation
retry_grace_period: u32Maximum number of retry attempts before giving up (default: 5) Not supported in OFREP (REST) evaluation
selector: Option<String>Source selector for filtering flag configurations Used to scope flag sync requests in in-process evaluation
socket_path: Option<String>Unix domain socket path for connecting to flagd When provided, this takes precedence over host:port configuration Example: “/var/run/flagd.sock” Only works with GRPC resolver
source_configuration: Option<String>Source configuration for file-based resolver
stream_deadline_ms: u32The deadline in milliseconds for event streaming operations. Set to 0 to disable. Recommended to prevent infrastructure from killing idle connections.
keep_alive_time_ms: u64HTTP/2 keepalive time in milliseconds. Sends pings to keep connections alive during idle periods, allowing RPCs to start quickly without delay. Set to 0 to disable.
offline_poll_interval_ms: Option<u32>Offline polling interval in milliseconds
provider_id: Option<String>Provider ID for identifying this provider instance to flagd Used in in-process resolver for sync requests
Trait Implementations§
Source§impl Clone for FlagdOptions
impl Clone for FlagdOptions
Source§fn clone(&self) -> FlagdOptions
fn clone(&self) -> FlagdOptions
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 FlagdOptions
impl Debug for FlagdOptions
Auto Trait Implementations§
impl Freeze for FlagdOptions
impl RefUnwindSafe for FlagdOptions
impl Send for FlagdOptions
impl Sync for FlagdOptions
impl Unpin for FlagdOptions
impl UnsafeUnpin for FlagdOptions
impl UnwindSafe for FlagdOptions
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,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request