-
Notifications
You must be signed in to change notification settings - Fork 100
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
[WIP] Re-tooling remotes resolver dependency #17
Conversation
Added some auth support to help test, but not settled
I am surprised this is as small as it is; I expected that retooling to be much bigger. Speaking of which, is this compatible with our oras-go rewrite #8 ? @SteveLasker and @jdolitsky what is happening with getting that in? |
@shizhMSFT Today I got resolve/fetch working. Tomorrow I will finish push. Do you happen to know the status of the discover REST api? I could get that working next and tackle images.Children soon. |
@juliusl your call, of course, but it seems a pity to have to do the work twice, in the current implementation and the Copy one.
How would we handle endpoints that do not yet support it? |
@deitch No worries, I have actually done this before for other projects and each time I go through this I learn something new. It also gives me a chance to get more familiar with the state of things.
I think an opt-in approach would probably be best for now. Unless, is there a way to emulate the discover behavior with the set of existing API's? (<-@sajayantony) I'm actually new to this discussion so I'm still ramping up on the details |
I would agree. I sort of did something like it once in another language, but it was a narrow use case, so listing things didn't have too bad a performance hit. |
Refactoring was mostly organizing the apis to be easier to consume and seperate concerns.
hardened by returning and handling error from CheckRedirect Left todo, need to extract it to make it more generic
Related to the registry (opt-in approach), please see: oras-project/artifacts-spec#12
I'm also hoping this work doesn't diverge from #8 and we can converge them both. |
@SteveLasker no worries this will not diverge from #8, when that get's merged I'll spend time to ensure they integrate |
@SteveLasker re: capabilities, is it possible to add to that spec something analogous to the |
Main remotes library does not have containerd references
Allows pkgs to take dependencies on sibling pkgs
For now need a concrete type for content.Writer, went with passthrough but it's easy to fix and add more later.
Hi, @juliusl - please ensure you sign-off on your commits for the DCO bot. See https://github.com/oras-project/oras-go/pull/17/checks?check_run_id=3489560861 for details on how to fix it. Thanks. |
+1 to pruning. |
Closing this PR as #63 has been resolved. |
Many thanks to @juliusl for helping investigating the possibilities on top of the |
I am trying to decouple dependencies on containerd, to make the oras-go pkg a bit friendlier to take a dependency on. I'm starting on the resolver code since it is in the center of everything. And I plan on working my way towards images next.
For implementing the resolver I am following the oci-spec line by line, hence my notes in
http.go
(don't want to miss details). For auth, I started out with some basic oauth2 flows so that I can work without having to install docker. I haven't put much thought into anything beyond that just yet.I have not started debugging this PR, but I'm anxious about getting too far ahead of myself so I wanted to put it up early. I'm pretty happy with the direction it's headed in so far, but I am open to discuss.