Skip to content
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

Implement a CDN saver #50

Closed
arschles opened this issue Mar 9, 2018 · 1 comment
Closed

Implement a CDN saver #50

arschles opened this issue Mar 9, 2018 · 1 comment
Assignees

Comments

@arschles
Copy link
Member

arschles commented Mar 9, 2018

This would complement the CDN getter. The getter just gets a redirect location for a module; the setter should upload/update:

  • The versions list
  • The go.mod file
  • The version metadata
  • The source zip

It should also enter a redirect location (that the getter can fetch) into the CDN metadata store.

Make sure to put the entire operation (enter into CDN metadata store + upload) in a critical section. Ideas:

  • Lock/lease the directory on the CDN
    • Azure blob storage gives you versioned blobs and also lock semantics for blobs (see here)
    • Google Cloud Storage gives you generational versioning and preconditions (see here and here)
    • Quick research on S3 indicates that blobs (buckets?) have versions. Need more to research whether the API includes preconditions for generations
arschles added a commit that referenced this issue Mar 16, 2018
Ref #50

Does not implement one
arschles added a commit that referenced this issue Mar 16, 2018
Ref #50

Does not implement one
@arschles arschles self-assigned this Mar 21, 2018
@arschles arschles added olympus and removed registry labels Jun 7, 2018
@arschles
Copy link
Member Author

the storage saver interface exists and it's implemented in all our storage drivers. closing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant