foundry

module
v0.0.0-...-378889b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2021 License: MIT

README

foundry

Coverage Status Docker Repository on Quay

Overview

Foundry is a custom package repository for Arch Linux that builds the packages on the fly from AUR.

The goals of the project are:

  • Make it easy to run a custom package repository for Arch Linux.
  • Leverage Object Storages to provide a cost efficient and scalable package storage.

Architecture

Image

Foundry is split into three components:

  • Furnace is responsible for building the packages. Upon receiving the request it will fetch the package details from AUR. It leverages the Arch Build System to build the package archive and then uploads it to the object storage bucket. It's stateless so you can run as many furnaces as you want.
  • Store is responsible to managing an inventory of all packages. It'll serve the package database and the packages built by Furnace.
  • Gateway is the entry-point for all external requests to Foundry. It also coordinates between all other components, routing requests where they need to go.

The packages are stored in an Object Storage backend such as AWS S3 or GCS. Furnace uploads the packages to an object storage bucket after building, this gets picked up by the Stores and they update their package database accordingly.

Contributing

Contributions are welcome!

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL