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: - [x] EE extension to `BaseHelmService` - [x] 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-ce~2278657 functionality of Prometheus alerting but are also generic type functionality which we will use to upgrade all GitLab Managed apps.
issue