Open Source Artifact Repositories, Part 1
Contents
I want a usuable artifact repository for my home lab.
( Work In Progress )
Goals
- store build artifacts centrally
- nice to have : can I mirror Debian packages?
- nice to have : Perl packages ( maybe just run a mini cpan or somesuch)
- Webhooks. So that I can have a CI job watch for new releases and then build out the documentation into a central doc server.
Design
- maybe have a small script that will just download artifacts from
my central repo.
- easy to curl if no deps, harder if there are
- will probably have to use several, depending on the artifact type
Candidates
- Gitea. Has a generic artifact repo ; do not believe it does anything like indexing or what not. Might not even be able to get a list of current artifacts in a $location.
- https://github.com/artipie/artipie Currently maintained. Java. Multi-format.
- https://github.com/harwoeck/afy artifact repository Last update 2017. Go.
- https://github.com/nrosenstein-old/fatartifacts Last update 2017. Python. Supposed to be general purpose.
Rejected Candidates
- https://archiva.apache.org/ Maven only probably.
- https://github.com/garyo/binary-artifact Not a repository. A ‘glorified zip archive creator’
- https://github.com/yuuki/binrep Last update 2017. Go. Uses S3 buckets (Only aws or S3 clone? ) Probably originally designed just for Go, but usuable by others.
- https://github.com/Zitrax/Artifakt Last update 2017. Python. Given description of features, seems more geared to delivering of artifacts to customers.
Solution
I’ll probably use a DIY solution that just involves a nginx server in Docker and a file system location I can rsync files into.
Probably not going to implement this any time soon.