Skip to content

Allow use of an OCI Registry instead/alongside of buffrs registry #229

Open
@DerTiedemann

Description

Description

The problem the buffrs registry is trying to solve is the structured storage of versioned binary blobs containing .proto files (if i have understood correctly). It seems that the OCI distribution spec could be used to not have to implement the details of this problem in this project.

Here are some open source registries:

Reasoning

Currently the registry is being developed as a gateway to publish and allow the consumption versioned .proto files, which are tarballed and gzipped to some form of external file storage. These exact kinds of operations have been standardized in the aforementioned OCI distribution spec and have implementations that scale to a reasonable degree already publicly available. These registries are also offered by 3rd party cloud providers. From my point of view it would be way more attractive to a company adopting buffrs if it was possible to reuse already existing infrastructure + authentication config instead of having to manage another component. The concern of data locality can be addressed by the before mentioned open source registries most of which offer a broad range of storage drivers (s3, gcs, azure, fs, in-memory).
Using an open standard is also beneficial when it comes to 3rd party tooling e.g. cosign which can be used to verify artifact integrity.

TLDR: Rather to build 'Yet another package manger' + another storage solution, use existing storage solutions instead and build the spec on how to interact with it on top of that

Caveats

  • Backwards compatibility with the already existing buffrs registry
  • OCI is realized via HTTP
  • external dependency in a spec and implementation
  • too complex for 1.0

Links

This is more of an Idea than an issue, please let me know what you think and give feedback.

Activity

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

Metadata

Assignees

No one assigned

    Labels

    complexity::highIssues or ideas that are highly complex. require discussion and may affect backwards compatibilitypriority::highUrgent change or idea, please review quicklytype::epicAn epic change. This is going to make a big difference to buffrs as a product.type::featureShipping or drafting a new feature for this producttype::ideaRough idea or proposal for buffrstype::refactoringChanging the inner-workings of buffrs

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions