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
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.
Example:
Related to: lundybernard/batconf/issues/11