-
Notifications
You must be signed in to change notification settings - Fork 28
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
Provide docker-credential-helpers interface #10
Comments
I'm definitely on board with this in concept, but don't have the bandwidth/interest to maintain a I guess we need to add something like the following? plugs:
credentials-helpers:
interface: content
content: credentials-helpers
target: $SNAP/credentials-helpers I'm honestly not actually sure what that means -- is that for other snaps to be able to share that directory and provide additional content for the |
yes
yes but I wonder if it's actually useful to have multiple docker-credential-secretservice providers, I see that there is upstream this project: https://github.com/docker/docker-credential-helpers, would it be enough for most folks if the docker snap just contained those binaries on it's $PATH and we wait to add the content slot for generic providers until someone asks for a generic provider? I admit it's not clear from the request whether doctl is itself a credential provider or not here, perhaps this request is indeed for a generic provider. |
On Linux, the credential helpers are a little more complicated than places like OSX that have a core system keychain everything can rely on -- I believe the Also note https://github.com/docker/docker-credential-helpers/releases -- that repository hasn't had a release in quite a while now (and commits on master aren't very promising either). I have a hard time believing it's so perfect it doesn't need any changes. 😇 |
doctl interacts with the Docker credential store via https://godoc.org/github.com/docker/cli/cli/config/credentials#Store By default, this will write to the configuration file. We have a
It sounds like that would probably be generally useful, but not solve doctl's specific use case. (Which might be fine!)
It looks like it leverages libsecret (https://developer.gnome.org/libsecret/) which the https://snapcraft.io/docs/password-manager-service-interface |
I realized I have a need for this today, as I was trying to use the Is anyone currently working on either of the solutions discussed above? |
I don't know how any of these things work. So it would be interesting to hear how this should work. For example @samuelkarp seems to have something that would be cool to integrate. Would you like to collab on this? |
Back when he worked at Amazon, Sam helped create a credential helper for their registry, but he no longer works at Amazon and probably doesn't have a lot of interest in credential helpers anymore. 😅 The high-level gist of how credential helpers work is that the Docker CLI invokes them (as a third-party binary) when doing CLI commands like |
The basic use case would be to allow users of the docker snap to to use
docker-credential-secretservice
to store their credentials via a workflow like:Additionally, it would be nice to allow other snaps to be able to call
docker-credential-secretservice
. For example, thedoctl
snap has a command that can be used to log in Docker to the DigitalOcean container registry. We have a personal-files plug that grants access to~/.docker/config.json
. This works as expected when the credentials are stored in the file, but fails when a credential helper is configured. See: digitalocean/doctl#876Additional discussion: https://forum.snapcraft.io/t/docker-snap-docker-credential-secretservice-credentials-helper/14198
The text was updated successfully, but these errors were encountered: