Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

services: Add support Vercel Remote Caching #2149

Closed
Xuanwo opened this issue Apr 27, 2023 · 8 comments · Fixed by #2193
Closed

services: Add support Vercel Remote Caching #2149

Xuanwo opened this issue Apr 27, 2023 · 8 comments · Fixed by #2193
Assignees
Labels
core good first issue Good for newcomers help wanted Extra attention is needed

Comments

@Xuanwo
Copy link
Member

Xuanwo commented Apr 27, 2023

Vercel offers a remote caching service, which can be found at https://vercel.com/docs/concepts/monorepos/remote-caching. It would be beneficial for opendal to incorporate this support into their platform so that users can take advantage of this feature. For instance, users could run sccache in the Vercel CI environment.

image

@suyanhanx
Copy link
Member

@suyanhanx suyanhanx added good first issue Good for newcomers help wanted Extra attention is needed core labels Apr 27, 2023
@Retrospection
Copy link
Contributor

I may take this~

@suyanhanx
Copy link
Member

Have fun!

@Xuanwo
Copy link
Member Author

Xuanwo commented May 1, 2023

https://vercel.com/blog/vercel-storage

We will have:

  • vercel cache
  • vercel kv
  • vercel storage

@Retrospection
Copy link
Contributor

https://vercel.com/blog/vercel-storage

We will have:

  • vercel cache
  • vercel kv
  • vercel storage

I'm planning to implement vercel cache support to get familiar with opendal's core design. And maybe then to try other implementation~

@Retrospection
Copy link
Contributor

@Xuanwo @suyanhanx

Although Vercel seems change the API doc, but still want to discuss how to implement this case.

Here is the scene:

The Vercel offers a API endpoint for upload artifacts with 4 custom HTTP header:

75a8062671b64e0cbf46e1711453afe

It appears that the x-artifact-client-ci parameter and the x-artifact-client-interactive parameter remain constant throughout an access session, so they can be set as backend fields. However, the other two parameters, x-artifact-duration and x-artifact-tag, seem to change with each operation.

There is a possible place to put this logic currently, which is in OpRead. However, this also means that a local logic used only by Vercel Cache Service will leak to the global scope, which doesn't seem like a good design. Would you like to discuss how to support HTTP headers that change with each operation like this?

@Xuanwo
Copy link
Member Author

Xuanwo commented May 2, 2023

Would you like to discuss how to support HTTP headers that change with each operation like this?

We don't need to support it for now.

@Xuanwo
Copy link
Member Author

Xuanwo commented May 2, 2023

I'm planning to implement vercel cache support to get familiar with opendal's core design. And maybe then to try other implementation~

Take your time and have fun! We can split them into different issues.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
core good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants