A Cloud native multi-package registry.

Enseada is a modern, fast and scalable package registry, designed from the ground up to run in elastic, container-based environments and to be highly available and distributed.

It leverages scalability by using natively distributed technologies

The registry itself is written in Elixir, an Erlang compatible, functional and process-based programming language that is both fast and resource efficient.

CouchDB is used as the primary datastore, containing information about repositories, users and access control. CouchDB is a web-native database written in Erlang and based on web technologies like HTTP and JSON.

As far as storage is concerned, both local disks an object storage services are supported, altough the latter are strongly recommended for production deployments.

Supported package repositories

Enseada is a multi-package registry, meaning it can support a large number of package formats and registry APIs.

At the moment, the following formats are supported:

Supported storage providers

Enseada uses the wonderful library Waffle to implement its storage layer, and is therefore compatible with any provider supported by Waffle. See Configuration for how to setup the storage layer.

At the moment, only these providers are supported:

  • Local disk
  • S3 compatible (AWS S3, Minio, DigitalOcean Spaces, Scaleway Object Storage, Ceph, etc)
  • Google Cloud Storage