Skip to content

Re-thinking: Config sources #323

Description

@matthiasbeyer

We want to support different sources of configuration.

These sources might be "sync" or "async" and should be abstracted via a trait mechanism.

What sources do we want to have?

Some "default" sources might be shipped with the crate:

  • Filesystem (sync)
  • Filesystem (async with tokio)
  • Environment

These sources can be compiletime feature-gated.

What a source should support

A "conifguration value source" should support several things:

  • Deserializing into an (internal, common) format
  • Updating the already-fetched configuration values
  • A human-readable description where the configuration values came from
    • To be able to construct nice error messages if necessary

More?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions