beiran

p2p package and image distribution layer

Beiran is a set of tools for replacing distribution layer of package management systems.
At this moment, it is under heavy development and we will be announcing an alpha release soon.
It aims provide out-of-box experience to fit along with existing tools, focuses on security, decentralization and availability.

Why?

Simply put; started from a personal itch among our team, downloading a package again and again, even though the person sitting next to me has it on their computer, willing to share, but it would require manual work for extraction and transfer of the package. There you go and bare with downloading from the "origin" repository in another network, probably in another continent.

Let it be `pip install mps-youtube`, `npm install express`, `docker pull python:3.6`, or `apt-get install openarena`, or any other package manager comes to mind.

Did we mention that many of these package manager implementation, again and again, tries to reinvent the whell, implement same/similar procedures, do the same mistakes, fix the same problems, challenge the same security issues, each on it's own. Also at the same time, many of them thrive in different aspects.

What if package management tool developers have only dealt with their platform specific requirements, and leave the package distribution to another library. They could all use PGP signature based authencity checks from day 1. They could use efficient and scalable distribution model from day 1, and save insane amounts of unnecessarily wasted power and network bandwidth.

Development Status

Many things are currently under heavy development and planning. We are first aiming to solve inefficiencies in container workloads, targeting Docker and Kubernetes environments.

Currently;

  • Docker plugin; working, although still under development
  • Kubernetes plugin; working (currently requires Docker as container runtime)
  • APT plugin; under development, not yet merged
  • NPM plugin; under development, not yet merged

We have done lots of trials and prototyping, so as things settle down, implementations might get replaced.

We're also currently planning to implement full functionality as a dynamically linkable library.

Check out the Source Code, Documentation, Issues, and Milestones

Please join the party! Check our Contribution Guide

Produced by