pub enum ServerConfigError {
Show 67 variants
BindAddress(AddrParseError),
RootDir(Error),
InvalidServerRole,
InvalidServerFrontend,
MissingServerFrontends,
InvalidObjectStorageAdapter,
InvalidAuthProvider,
MissingS3Bucket,
InvalidS3AllowHttp,
InvalidS3VirtualHostedStyleRequest,
S3CredentialSourceConflict {
env: &'static str,
file_env: &'static str,
},
S3CredentialFile {
name: &'static str,
source: Error,
},
S3CredentialTooLarge {
name: &'static str,
observed_bytes: u64,
maximum_bytes: u64,
},
S3CredentialLengthMismatch {
name: &'static str,
expected_bytes: u64,
observed_bytes: u64,
},
S3CredentialUtf8 {
name: &'static str,
},
ChunkSize(ParseIntError),
MaxRequestBodyBytes(ParseIntError),
ZeroMaxRequestBodyBytes,
MaxShardFiles(ParseIntError),
ZeroMaxShardFiles,
MaxShardXorbs(ParseIntError),
ZeroMaxShardXorbs,
MaxShardReconstructionTerms(ParseIntError),
ZeroMaxShardReconstructionTerms,
MaxShardXorbChunks(ParseIntError),
ZeroMaxShardXorbChunks,
ZeroChunkSize,
ZeroUploadMaxInFlightChunks,
ZeroTransferMaxInFlightChunks,
InvalidReconstructionCacheAdapter,
ZeroReconstructionCacheTtlSeconds,
ZeroReconstructionCacheMemoryMaxEntries,
OciUploadSessionTtl(ParseIntError),
ZeroOciUploadSessionTtlSeconds,
OciUploadMaxActiveSessions(ParseIntError),
ZeroOciUploadMaxActiveSessions,
OciRegistryTokenTtl(ParseIntError),
ZeroOciRegistryTokenTtlSeconds,
OciRegistryTokenMaxInFlightRequests(ParseIntError),
ZeroOciRegistryTokenMaxInFlightRequests,
EmptyReconstructionCacheRedisUrl,
MissingReconstructionCacheRedisUrl,
EmptyIndexPostgresUrl,
TokenSigningKey(Error),
TokenSigningKeySourceConflict {
env: &'static str,
file_env: &'static str,
},
TokenSigningKeyTooLarge {
observed_bytes: u64,
maximum_bytes: u64,
},
TokenSigningKeyLengthMismatch {
expected_bytes: u64,
observed_bytes: u64,
},
ProviderTokenTtl,
EmptyTokenSigningKey,
MetricsToken(Error),
EmptyMetricsToken,
MetricsTokenTooLarge {
observed_bytes: u64,
maximum_bytes: u64,
},
MetricsTokenLengthMismatch {
expected_bytes: u64,
observed_bytes: u64,
},
MissingTokenSigningKeyForServedRoutes,
EmptyProviderApiKey,
ProviderApiKey(Error),
ProviderApiKeyTooLarge {
observed_bytes: u64,
maximum_bytes: u64,
},
ProviderApiKeyLengthMismatch {
expected_bytes: u64,
observed_bytes: u64,
},
EmptyProviderTokenIssuer,
ZeroProviderTokenTtl,
IncompleteProviderTokenConfig,
ProviderTokensRequireSigningKey,
ChunkSizeTooLarge,
InvalidPublicBaseUrl(String),
MissingOidcIssuer,
MissingJwksUrl,
HubRequiresAuth,
}Expand description
Server configuration loading failure.
Variants§
BindAddress(AddrParseError)
The bind address could not be parsed.
RootDir(Error)
The local deployment root contained an invalid filesystem component.
InvalidServerRole
The server role token was invalid.
InvalidServerFrontend
The server frontend token was invalid.
MissingServerFrontends
The configured server frontend set was empty.
InvalidObjectStorageAdapter
The object-storage adapter token was invalid.
InvalidAuthProvider
The auth provider token was invalid.
MissingS3Bucket
S3 object storage was selected without a bucket.
InvalidS3AllowHttp
S3 object storage was selected with an invalid allow-http flag.
InvalidS3VirtualHostedStyleRequest
S3 object storage was selected with an invalid virtual-hosted-style flag.
S3CredentialSourceConflict
An S3 credential was provided through both direct env and file indirection.
Fields
S3CredentialFile
An S3 credential file could not be read.
Fields
S3CredentialTooLarge
An S3 credential file exceeded the bounded parser ceiling.
Fields
S3CredentialLengthMismatch
An S3 credential file changed after validation and was rejected.
Fields
S3CredentialUtf8
An S3 credential file was not valid UTF-8.
ChunkSize(ParseIntError)
The chunk size could not be parsed.
MaxRequestBodyBytes(ParseIntError)
The maximum request body size could not be parsed.
ZeroMaxRequestBodyBytes
The maximum request body size was zero.
MaxShardFiles(ParseIntError)
The maximum shard file section count could not be parsed.
ZeroMaxShardFiles
The maximum shard file section count was zero.
MaxShardXorbs(ParseIntError)
The maximum shard xorb section count could not be parsed.
ZeroMaxShardXorbs
The maximum shard xorb section count was zero.
MaxShardReconstructionTerms(ParseIntError)
The maximum shard reconstruction term count could not be parsed.
ZeroMaxShardReconstructionTerms
The maximum shard reconstruction term count was zero.
MaxShardXorbChunks(ParseIntError)
The maximum shard xorb chunk record count could not be parsed.
ZeroMaxShardXorbChunks
The maximum shard xorb chunk record count was zero.
ZeroChunkSize
The chunk size was zero.
ZeroUploadMaxInFlightChunks
The per-upload chunk processing window was zero.
ZeroTransferMaxInFlightChunks
The transfer concurrency budget was zero.
InvalidReconstructionCacheAdapter
The reconstruction-cache adapter token was invalid.
ZeroReconstructionCacheTtlSeconds
The reconstruction-cache TTL was zero.
ZeroReconstructionCacheMemoryMaxEntries
The in-memory reconstruction-cache capacity was zero.
OciUploadSessionTtl(ParseIntError)
The OCI upload-session TTL could not be parsed.
ZeroOciUploadSessionTtlSeconds
The OCI upload-session TTL was zero.
OciUploadMaxActiveSessions(ParseIntError)
The OCI upload live-session ceiling could not be parsed.
ZeroOciUploadMaxActiveSessions
The OCI upload live-session ceiling was zero.
OciRegistryTokenTtl(ParseIntError)
The OCI registry token TTL could not be parsed.
ZeroOciRegistryTokenTtlSeconds
The OCI registry token TTL was zero.
OciRegistryTokenMaxInFlightRequests(ParseIntError)
The OCI registry token in-flight request ceiling could not be parsed.
ZeroOciRegistryTokenMaxInFlightRequests
The OCI registry token in-flight request ceiling was zero.
EmptyReconstructionCacheRedisUrl
The Redis reconstruction-cache URL was empty.
MissingReconstructionCacheRedisUrl
Redis reconstruction-cache configuration was incomplete.
EmptyIndexPostgresUrl
The Postgres metadata URL was empty.
TokenSigningKey(Error)
The token signing key file could not be read.
TokenSigningKeySourceConflict
The token signing key was provided through both direct env and file indirection.
Fields
TokenSigningKeyTooLarge
The token signing key exceeded the bounded parser ceiling.
Fields
TokenSigningKeyLengthMismatch
The token signing key changed after validation and was rejected.
Fields
ProviderTokenTtl
The provider token TTL could not be parsed.
EmptyTokenSigningKey
The token signing key was empty.
MetricsToken(Error)
The metrics token file could not be read.
EmptyMetricsToken
The metrics bearer token was empty.
MetricsTokenTooLarge
The metrics bearer token exceeded the bounded parser ceiling.
Fields
MetricsTokenLengthMismatch
The metrics bearer token changed after validation and was rejected.
Fields
MissingTokenSigningKeyForServedRoutes
The selected role would expose CAS routes without bearer-token verification.
EmptyProviderApiKey
The provider bootstrap key was empty.
ProviderApiKey(Error)
The provider bootstrap key file could not be read.
ProviderApiKeyTooLarge
The provider bootstrap key exceeded the bounded parser ceiling.
Fields
ProviderApiKeyLengthMismatch
The provider bootstrap key changed after validation and was rejected.
Fields
EmptyProviderTokenIssuer
The provider token issuer was empty.
ZeroProviderTokenTtl
The provider token TTL was zero.
IncompleteProviderTokenConfig
Provider token issuance was only partially configured.
ProviderTokensRequireSigningKey
Provider token issuance needs the CAS signing key.
ChunkSizeTooLarge
The chunk size exceeds the maximum allowed value.
InvalidPublicBaseUrl(String)
The public base URL is not a valid URL.
MissingOidcIssuer
OIDC auth provider requires an issuer URL.
MissingJwksUrl
JWKS auth provider requires a JWKS URL.
HubRequiresAuth
Hub frontend requires an auth provider to be configured.
Trait Implementations§
Source§impl Debug for ServerConfigError
impl Debug for ServerConfigError
Source§impl Display for ServerConfigError
impl Display for ServerConfigError
Source§impl Error for ServerConfigError
impl Error for ServerConfigError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<AddrParseError> for ServerConfigError
impl From<AddrParseError> for ServerConfigError
Source§fn from(source: AddrParseError) -> Self
fn from(source: AddrParseError) -> Self
Source§impl From<ParseIntError> for ServerConfigError
impl From<ParseIntError> for ServerConfigError
Source§fn from(source: ParseIntError) -> Self
fn from(source: ParseIntError) -> Self
Source§impl From<ServerConfigError> for ServerError
impl From<ServerConfigError> for ServerError
Source§fn from(source: ServerConfigError) -> Self
fn from(source: ServerConfigError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for ServerConfigError
impl !UnwindSafe for ServerConfigError
impl Freeze for ServerConfigError
impl Send for ServerConfigError
impl Sync for ServerConfigError
impl Unpin for ServerConfigError
impl UnsafeUnpin for ServerConfigError
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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