Skip to content

Port/reconcile upgrade functionality to CE

Problem

We have helm upgrade related functionality in EE so that Prometheus can add/update remove alerts. We will not have a good time when we develop upgrade of GitLab Managed apps in CE and have to reconcile the two.

Proposal

Port the following from EE:

  • EE extension to BaseHelmService
  • EE extension to Clusters::Applications::Prometheus. Allow #upgrade_command to optionally replace values.
  • Reconcile: Prometheus#upgrade_command and Prometheus#install_command
  • Reconcile: cluster_upgrade_app_worker.rb and cluster_update_app_worker.rb
    • PrometheusUpdateService minus update_config which is EE specific
  • Reconcile: CheckInstallationProgressService and CheckUpgradeProgressService
  • Reconcile ClusterWaitForAppInstallationWorker and ClusterWaitForAppUpdateWorker

The above are enabling the GitLab Premium functionality of Prometheus alerting but are also generic type functionality which we will use to upgrade all GitLab Managed apps.

Edited by Thong Kuah