Skip to content

Token caching with custom profiles #105

@sbalian

Description

@sbalian

Token caching is implemented in faculty.session.get_session. But this calls faculty.config.resolve_profile which has a pre-defined order of places it pulls credentials from. It would be better if faculty.session.get_session takes in a faculty.config.Profile instance (or caching is implemented without having to always force resolving profiles). For example, on a platform server that has environmental variables defined, passing credentials_path to faculty.session.get_session has no effect.

Note that for my example there is a somewhat ugly workaround:

import faculty
import faculty.session
import faculty.clients

profile = faculty.config.load_profile('/path/to/config', 'default')
session = faculty.session.get_session(
    domain=profile.domain, client_id=profile.client_id,
    client_secret=profile.client_secret
)
client_class = faculty.clients.for_resource('cluster')
cluster = client_class(session)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions