Pubgrade¶
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.

Quick start¶
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/.
Contents¶
- Usage: register repositories, users and subscriptions, publish images, and follow the notifications.
- Deployment: the Helm chart for Kubernetes and OpenShift, the configuration, builds, and moving from chart 0.1.
- API: the OpenAPI specification and its web interface.
- Development: tests, CI, images and the documentation.
- Pubgrade-Sidecar: the subscriber that updates the image of a Kubernetes Deployment, documented in its own repository.
Citation¶
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.
License¶
This project is covered by the Apache License 2.0 also shipped with this repository.
Contact¶
The project is a collaborative effort under the umbrella of ELIXIR On-Cloud. Follow the link to get in touch with us via chat or email. Please mention the name of this service for any inquiry, proposal, question etc.
