Comments (11)
Hi @uanid, the
credentials
package has been merged into oras-go . Would you like to also create a PR there for theMemoryStore
? After that, the existing functions in this repo will be marked as deprecated.Besides, are you willing to contribute to the k8s CredentialProviderConfig Store to the ORAS project as an experimental feature? If so, do you have any options regarding how we maintain the experimental features? Please take a look at this discussion if you can.
Hi @Wwwsylvia ,
I saw that oras-credentials-go
has been merged into oras-go. As you pointed out, my recent contribution was missing, so I created the same PR in oras-go.
The idea of making oras-credentials-go
an experimental repository sounds very good. However, I have some concerns that arose when I tried to adapt the kubelet credentials provider
to the ORAS credentials interface:
This feature is divided into the interface model (DTO)
through which the kubelet and provider plugin communicate part and the plugin management part. However, the management part is not modularized, so I had to import the entire k8s.io/kubernetes
to use it. I did think this was not a good approach, so I copied the source code of the plugin management directly.
Even with this reduced dependency, many dependencies still remain. I believe it's not a good experience for users of oras-credentials-go to have a significant impact on the entire project because of a very small library.
I am using ORAS while developing the Kubernetes Controller. Therefore, adding kubernetes-related dependencies is not a problem for me. However, for those who want either specific Kubernetes dependencies or fewer dependencies, I think it would be better to rewrite all the code, including the DTO code.
Here is my experimental code oras-credentials-go-kubelet.
from oras-credentials-go.
Hi @uanid , thanks a lot for the suggestions! The maintainers will investigate the feasibility of the proposal and get back to you later.
One concern could be that that we don't want to introduce extra dependencies in the go mod, as this repository will be eventually merged into oras-go
and we hope to keep the dependencies clean there.
from oras-credentials-go.
Also please let us know if you are willing to contribute. Feel free to raise PRs! π
from oras-credentials-go.
Also please let us know if you are willing to contribute. Feel free to raise PRs! π
Oh, I wasn't aware that orsa-credentials-go needs to keep its dependency libraries simple. Implementing the k8s CredentialsProviderConfig might be challenging without extra dependencies. I think I'll have to implement it as a separate credentials collection library. Also, I will try to contribute to the InMemory Store.
from oras-credentials-go.
Also please let us know if you are willing to contribute. Feel free to raise PRs! π
Oh, I wasn't aware that orsa-credentials-go needs to keep its dependency libraries simple. Implementing the k8s CredentialsProviderConfig might be challenging without extra dependencies. I think I'll have to implement it as a separate credentials collection library. Also, I will try to contribute to the InMemory Store.
@uanid Thanks for the contribution!
I think we can still have a store for k8s Credentials Provider as an experimental feature in this repo if the community agree to the proposal to maintain this repository for experimental features. We can move only the currently supported features to oras-go
.
from oras-credentials-go.
Hi @uanid, the credentials
package has been merged into oras-go . Would you like to also create a PR there for the MemoryStore
? After that, the existing functions in this repo will be marked as deprecated.
Besides, are you willing to contribute to the k8s CredentialProviderConfig Store to the ORAS project as an experimental feature? If so, do you have any options regarding how we maintain the experimental features? Please take a look at this discussion if you can.
from oras-credentials-go.
@uanid In case you missed the last messageπ
from oras-credentials-go.
This feature is divided into the interface model (DTO) through which the kubelet and provider plugin communicate part and the plugin management part. However, the management part is not modularized, so I had to import the entire k8s.io/kubernetes to use it. I did think this was not a good approach, so I copied the source code of the plugin management directly.
Even with this reduced dependency, many dependencies still remain. I believe it's not a good experience for users of oras-credentials-go to have a significant impact on the entire project because of a very small library.
I am using ORAS while developing the Kubernetes Controller. Therefore, adding kubernetes-related dependencies is not a problem for me. However, for those who want either specific Kubernetes dependencies or fewer dependencies, I think it would be better to rewrite all the code, including the DTO code.
@uanid This makes sense. Looks like the k8s credentials integration needs to be done in somewhere else, just like your experimental code.
Thank you very much for your inputs!
from oras-credentials-go.
from oras-credentials-go.
Can this issue be closed?
from oras-credentials-go.
@TerryHowe Yes.
from oras-credentials-go.
Related Issues (20)
- Vote for release of `v0.1.0` HOT 4
- Refine error messages
- Trace support for executables
- Bug: Login to "docker.io" does not work as expected
- Context Support for Native Store HOT 2
- Vote for release of `v0.1.1` HOT 3
- `storeWithFallbacks` should leverage the native store of the fallback store for saving credentials HOT 3
- Expose the registry name mapping methods
- Need to check the existence of binaries before creating native store. HOT 1
- Vote for release of `v0.2.0` HOT 3
- Vote for release of `v0.3.0` HOT 5
- Add examples for package `trace`
- Vote for release of `v0.3.0` HOT 4
- Deprecating APIs HOT 1
- Request to add auth workflow to OCI wg-auth HOT 2
- Vote for release of `v0.3.1` HOT 3
- The way to obtain Docker credentials is not compatible with Docker CLI HOT 1
- Vote for the release of `v0.4.0` HOT 3
- Vote for archiving `oras-credentials-go` HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oras-credentials-go.