Giter VIP home page Giter VIP logo

Comments (11)

uanid avatar uanid commented on July 22, 2024 1

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.

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.

Wwwsylvia avatar Wwwsylvia commented on July 22, 2024

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.

Wwwsylvia avatar Wwwsylvia commented on July 22, 2024

Also please let us know if you are willing to contribute. Feel free to raise PRs! πŸ˜€

from oras-credentials-go.

uanid avatar uanid commented on July 22, 2024

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.

Wwwsylvia avatar Wwwsylvia commented on July 22, 2024

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.

Wwwsylvia avatar Wwwsylvia commented on July 22, 2024

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.

Wwwsylvia avatar Wwwsylvia commented on July 22, 2024

@uanid In case you missed the last messageπŸ‘€

from oras-credentials-go.

Wwwsylvia avatar Wwwsylvia commented on July 22, 2024

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.

TerryHowe avatar TerryHowe commented on July 22, 2024

oras-project/oras-go#602

from oras-credentials-go.

TerryHowe avatar TerryHowe commented on July 22, 2024

Can this issue be closed?

from oras-credentials-go.

uanid avatar uanid commented on July 22, 2024

@TerryHowe Yes.

from oras-credentials-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.