Downloads files for a Github repositories releases and serves them by semver tag.
This website will auto update daily and provides a webhook for manual updates. Files are served by NGINX and the file update functionality is provided by FASTAPI.
/meta/metadata.json
contains version mappings and update timing.
A webhook is provided to manually toggle an update post release.
https://pelican-release-server.chtc.chtc.io/api/docs
Saves files by semver tag in the following directory structure:
Per release directories, file names include the release tag.
/X.Y.Z - Directory for a single release
Directories to track the lifecycle of a release, always pointing to the latest applicable release. The files in the
directories are symlinked and renamed to omit the release tag. The only file not symlinked is checksums.txt
which is
copied and updated to match the version-less names of the files. version.txt
allows verification of the release
version.
- /X.Y - Directory for latest minor release
- /X - Directory for latest major release
- /latest - Directory for latest release
docker build -t release-webhook .
docker run -it -p 8080:8000 --env-file example.env -v ${PWD}/releases:/srv/releases release-webhook
docker build --platform linux/amd64 -t hub.opensciencegrid.org/opensciencegrid/release-webhook:latest .
docker push hub.opensciencegrid.org/opensciencegrid/release-webhook:latest
docker run -it -p 80:80 --env-file example.env -v ${PWD}/releases:/srv/releases -v ${PWD}/nginx.conf:/etc/nginx/templates/nginx.conf.template nginx