feat: add standard gitlab label taxonomy to kube-state-metrics for GET monitoring

Continuation of !4335 (merged)

  1. Updated TODOs with links to new issues
  2. Moved kube-state-metrics helpers to libsonnet/ to make the code reusable in the GET setup
  3. Normalized all different code paths in libsonnet/kube-state-metrics/recording-rules.libsonnet to use similar definitions.
  4. Updated some omissions from !4335 (merged) for api and web nodepool selection.
  5. Improves relabelling to omit any static labels in recording rule generation
  6. Adds kube-selectors for GET monitoring (currently only webservice, using the label app=webservice)

Tested with https://gitlab.com/gitlab-com/gl-infra/gitlab-dedicated/instrumentor/-/merge_requests/268, confirmed working

screenshot_andrewn_20220215T142509Z

cc @cmiskell @ccasella

Edited by Andrew Newdigate

Merge request reports

Loading