|
||
---|---|---|
LICENSE | ||
README.md |
artifact-repository
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.
buildbot jobs
A buildbot job would then look like this:
- get token (maybe the server side would auto-create directories)
- run a task, pass the token as an environment variable or something so that it can upload when necessary
- revoke token