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

Introduce a AttachmentStore SPI #3450

Closed
chetanmeh opened this issue Mar 16, 2018 · 1 comment
Closed

Introduce a AttachmentStore SPI #3450

chetanmeh opened this issue Mar 16, 2018 · 1 comment
Assignees

Comments

@chetanmeh
Copy link
Member

Currently ArtifactStore implementation based on CouchDB stores the binaries as attachments to main document. For larger binaries (say > 1MB) it would be better to store them in some binary store. Further if we are deploying a custom OW setup in cloud then it would be better to store the binaries in cloud specific binary storage like S3/Azure BlobStore/IBM Object Storage

To support such a case we should introduce a new SPI in OW AttachmentStore. Some key points wrt to such an spi

  1. Used internally by ArtifactStore and need not be exposed to layers above.
  2. A default memory based implementation along with TCK to validate the contract
  3. Later implement custom implementation for S3/Azure BlobStore/IBM Object Storage which can use the newly refactored PoolingRestClient and have the TCK test run against them
  4. Allow using such a stored for CouchDbRestStore also via config

As an example MongoDBStore implementation uses GridFS to store attachements via GridFSAttachmentStore.

Would work on a PR to discuss the SPI interface and other aspects

@chetanmeh
Copy link
Member Author

All planned work for this issue done. Closing the issue

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

No branches or pull requests

1 participant