Replies: 3 comments 6 replies
-
This authentication seems critical when ORAS-go dependents/users upgrade to ORAS-go v2 and still rely on package docker. They will need to implement it on their side. So I hope this can be designed as a generic SDK solution that is applicable to any projects who depend on docker for authentication credentials. @sabre1041 ORAS-go v2.0.0 will be released soon. We thought Helm might have this kind of challenge when it upgrades to ORAS-go v2.0.0 from v1. Do you think this separate SDK solution will be beneficial to Helm? Any other concerns about upgrading it in Helm? |
Beta Was this translation helpful? Give feedback.
-
This might be of interest / eventually help with this issue. opencontainers/tob#119. Perhaps an oras maintainer should comment on that thread to support it / participate in the WG? |
Beta Was this translation helpful? Give feedback.
-
Will this SDK be compatible with credential helpers as already are used by Docker compatible registries? Thinking about registries such as the major cloud providers', and their tools. They aren't configured to provide credentials to For users of the SDK or CLI, will a compatibility mode be an option to attempt to use Docker's configured credential providers? |
Beta Was this translation helpful? Give feedback.
-
The package
docker
of theoras-go v1
is removed fromv2
in order to decoupleoras-go
with docker SDKs. Besides, not alloras-go
adopters depends on docker for authentication credentials, especially in Kubernetes.However, we do notice that CLIs like oras and notation still rely on docker config files for credentials since it is convenient. Both CLIs re-invent the wheels at some levels, and I guess more CLIs like Helm will do the same. In addition, the issue oras-project/oras#414 points out there might be potential bugs when sharing the same docker config with various tools with different docker CLI library versions.
Therefore, I propose that we can implement for
oras-go v2
with something equivalent to the packagedocker
oforas-go v1
in a new repository so that we can dooras login
andoras logout
using the shared docker config in a securer manner.The name of the new repository could be
oras-project/oras-credentials-go
with package namecredentials
. Any name suggestions are welcome.FAQ
Q: Why use docker config and docker credential helpers?
A: There are lots of existing credential helpers designed for docker by many cloud providers. Why not reuse them?
Q: Why not integrate the login SDK into
oras-go v2
?A:
oras-go v2
is designed to be generic, vendor neutral, and stable. Having the dependency on docker CLI means theoras-go
library needs to be upgraded very frequently once there is an update on docker CLI although those updates are not related to auth.Q: How can the new implementation be more secure?
A: It can be done by having an option to only allow native credential stores on writing so that no plaintext credentials are written to the disk.
Beta Was this translation helpful? Give feedback.
All reactions