Pubgrade (Publish-Upgrade) is a publish-subscribe service that notifies deployments of new images of the software they run, brought to you by ELIXIR On-Cloud. A repository's CI publishes a new image to Pubgrade; Pubgrade notifies all deployments that subscribed to the repository's tag or branch at the same time, and records the result per subscriber. Each deployment decides what to do with a notification: Pubgrade-Sidecar, next to a Kubernetes Deployment, updates its image. Deploy Pubgrade to Kubernetes or OpenShift with its Helm chart.
Read the documentation for using the API, the deployment with the
Helm chart in helm/, development, and Pubgrade-Sidecar.
Install Pubgrade and a MongoDB into a namespace of a Kubernetes or OpenShift
cluster with Helm, from a checkout of
this repository, with your copy of the configuration (pubgrade/config.yaml,
with your admin users) in a Secret. Keep that copy outside the checkout, so
that its tokens don't end up in Git or in images you build:
git clone https://github.com/elixir-cloud-aai/Pubgrade.git && cd Pubgrade
cp pubgrade/config.yaml ~/pubgrade-config.yaml # then add your admin users
kubectl create namespace pubgrade
kubectl create secret generic pubgrade-config -n pubgrade \
--from-file=config.yaml="${HOME}/pubgrade-config.yaml"
helm install pubgrade helm/ -n pubgrade \
--set pubgrade.configSecret=pubgrade-config --set hostName=<host name>Then open the API's web interface at https://<host name>/ui/.
If you use Pubgrade, please cite it with the metadata in
CITATION.cff:
on GitHub, "Cite this repository" in the sidebar of the repository formats it
as APA or BibTeX.
Contributions are welcome! See Development in the documentation and the organisation's contributing guide, and mind our code of conduct.
This project is covered by the Apache License 2.0, also shipped with this repository.