Migrate `k8s-workloads/monitoring` to `gitlab-helmfiles` repo and convert to helmfile
Currently the repo at https://gitlab.com/gitlab-com/gl-infra/k8s-workloads/monitoring/ manages the deployment and management of all our monitoring (mostly from the prometheus ecosystem) across all our GKE clusters
It manages the following helm releases and configurations/manifests
- alertmanager configuration from GKMS/GCS
- A helm release called
gitlab-monitoringfor thestable/prometheus-operatorchart - A raw deployment/service called
thanos-queryfor some thanos-query extra components - A raw deployment called
cloudflare-exporterto deploy the cloudflare-exporter into gprd only
We want to migrate these manifests to be managed by helmfile in the gitlab-helmfiles repo.
To this end the work should encompass the following
-
Migrate gitlab-monitoring -
Move the helm release gitlab-monitoringto helmfile control undergitlab-helmfiles -
Create a new helm release called gitlab-monitoring-secrets(using theincubator/rawchart) to take over management of the existing secrets needed forgitlab-monitoring -
Confirm and execute the steps needed to support the migration of the existing gitlab-secretsresources tohelmcontrol -
Confirm that, on a clean minikube install, in a clean checkout, helmfile -e pre applycorrectly installs thegitlab-monitoringandgitlab-monitoringreleases to the best we are currently able (GKE specific pieces will not work) -
Confirm that, a helmfile diffofgitlab-monitoringto the current installs ingstg,gprd,prereturn no changes -
Confirm that once merged to master, a CI helmfile applyhas run against all environments (not changing anything) -
Migrate thanos-query -
Create a new helm release called thanos-query(using theincubator/rawchart) to take over management of the existingthanos-querycomponents -
Confirm that, on a clean minikube install, in a clean checkout, helmfile -e pre applycorrectly installs thethanos-queryrelease to the best we are currently able (GKE specific pieces will not work) -
Confirm and execute the steps needed to support the migration of the existing resources to helmcontrol -
Confirm that, a helmfile diffofgitlab-monitoringto the current installs ingstg,gprd,prereturn no changes -
Confirm that once merged to master, a CI helmfile applyhas run against all environments (not changing anything) -
Migrate cloudflare-exporter -
Create a new helm release called cloudflare-exporter(using theincubator/rawchart) to take over management of the existing cloudflare-exporter deployment. This will include a secret calledcloudflare-exporterwhich contains a username and API Key for accessing the cloudflare API` -
Confirm that, on a clean minikube install, in a clean checkout, helmfile -e pre applycorrectly installs thecloudflare-exporterrelease to the best we are currently able (GKE specific pieces will not work) -
Confirm that, a helmfile diffofgitlab-monitoringto the current installs ingstg,gprd,prereturn no changes -
Confirm that once merged to master, a CI helmfile applyhas run against all environments (not changing anything)
We will also need to then do
-
A commit to the k8s-workloads/monitoringrepo announcing the decommission of the repo and where everything has moved