-
Notifications
You must be signed in to change notification settings - Fork 7
Set up credentials provider #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hey @afshin, do you mind taking a look over the PR? Thanks! |
afshin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! This looks good.
I think longer term we should have a discussion about the interaction between settings and secrets and how to minimize the risks involved in storing secrets, but that's outside the scope of this PR.
|
Thank you for the review! And I agree about a follow-up discussion on the secrets stored from the settings. |
Set up the settings credentials provider for the extension and connect the secret inputs to the
SecretsManagerfromjupyter-secrets-manager.The credentials can be set by accessing
Settings->Settings Editor->Credentials Providerand include the bucketname,regionandendpoint, as well as an optional path to a directory within the bucket to act asroot. TheaccessKeyIDandsecretAccessKeyare considered secret fields and their inputs are connected to theSecretsManagerfromjupyter-secrets-manager.Any changes made to the credentials are automatically saved and the drive file browser is updated, the update can take a few seconds to be visible. Every time a field is changed, a new
Driveis instated with the new credentials. As the secret fields are not saved, when instating theDrivewe fetch the secret values using the provided secrettoken.The
authFileBrowserplugin was updated to connect to the credentials provider settings. Currently, it first tries to fetch the settings and if they exist thefactoryreturns them, otherwise it looks for theprocess.envenvironment variables, which can be used with the development version.