Skip to content

key-ring or multi-config #4

@lundybernard

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

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