From 889f66d8cb2e2289756b58c12fc29c6268e435d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20=C5=A0urda?= Date: Tue, 14 Dec 2021 04:51:21 +0100 Subject: [PATCH] Initial design document --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 32415dc..44cef05 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,16 @@ # artifact-repository -A simple artifact repository using nginx and ephemeral tokens. \ No newline at end of file +A simple artifact repository using nginx, WebDAV and ephemeral tokens, for use in buildbot. + +## design + +The repository would have multiple levels of subdirectories, such as: +- different artifact types, such as `dpkg`, `appimage`, `exe`, ... +- for different projects and / or builders +- for build numbers + +The files would be publicly downloadable, but uploading or creating new directories would be restricted. The restrictions would use an ephemeral token generated at build start. This will allow write access to specific directories corresponding to that build. Once the build is done, the files can be uploaded using WebDAV, and then the build will make another call for the token to be deleted. + +The token could also use username (e.g. concatenate builder name + build number) and a random password, this way a traditional basic web authentication can be used. + +Such a system can be easily dockerized and mount a replicated volume, with a little bit of preparation the authenticaiton tokens could also be replicated. \ No newline at end of file