Skip to content

key-ring or multi-config #4

Description

@lundybernard

We need to work out a configuration API for a key-ring, or a type of configuration object that can contain multiple variants of the same config type.

Motivating Example:

we have a class that manages credentials and/or authentication, but we need to use it to sign in as multiple users to the same systems.

  • we don't want each module for accessing some system to duplicate the credential config structure and specific credentials.
  • we need to be able to over-ride the config through ENV variables and CLI args
  • we may want to use an external credential storage file or service

Example:

cfg = get_config()

a_token_creds = cfg.credentials.user_a.auth_token
a_user = AuthToken(a_token_creds)
a_remote = RemoteService(auth_token=a_user.string)

b_token_creds = cfg.credentials.user_b.auth_token
b_user = AuthToken(b_token_creds)
b_remote = RemoteService(auth_token=b_user.string)

Related to: lundybernard/batconf/issues/11

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions