Expand description
Configuration for the objectstore server.
This module provides the configuration system for the objectstore HTTP server. Configuration can be loaded from multiple sources with the following precedence (highest to lowest):
- Environment variables (prefixed with
OS__) - YAML configuration file (specified via
-cor--configflag) - Defaults
See Config for a description of all configuration fields and their defaults.
§Environment Variables
Environment variables use OS__ as a prefix and double underscores (__) to denote nested
configuration structures. For example:
OS__HTTP_ADDR=0.0.0.0:8888sets the HTTP server addressOS__STORAGE__TYPE=filesystemsets the storage typeOS__STORAGE__PATH=/datasets the directory path
§YAML Configuration File
Configuration can also be provided via a YAML file. The above configuration in YAML format would look like this:
http_addr: 0.0.0.0:8888
storage:
type: filesystem
path: /dataStructs§
- AuthZ
- Configuration for content-based authorization.
- AuthZ
Verification Key - A key that may be used to verify a request’s
Authorizationheader and its associated permissions. May contain multiple key versions to facilitate rotation. - Config
- Main configuration struct for the objectstore server.
- Config
Secret - Newtype around
Stringthat may protect against accidental logging of secrets in our configuration struct. Use with [secrecy::SecretBox]. - Http
- Configuration for the HTTP layer.
- Level
Filter - A filter comparable to a verbosity [
Level]. - Logging
Config - Logging configuration.
- Runtime
- Runtime configuration for the Tokio async runtime.
- Sentry
- Sentry error tracking and performance monitoring configuration.
- Service
- Configuration for the
StorageService.
Enums§
- LogFormat
- Log output format.
- Storage
Config - Storage backend configuration.
Constants§
- DEFAULT_
MAX_ HTTP_ REQUESTS - Default maximum number of concurrent in-flight HTTP requests.