jetstack / jetstack/version-checker

[FEATURE] Expose application name as a label in Prometheus metrics

Ouverte
#448 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Go
Étoiles
778
Forks
82
Merge moyen
2 min
PR mergées (30 j)
3

Description

**Is your feature request related to a problem? Please describe.**
I'm always frustrated when I look at the version-checker Grafana dashboard and see an outdated image (for example, `bitnami/redis`), but I can't immediately tell which specific third-party application or internal service is using it. In clusters with many deployments, I have to manually cross-reference the namespace or pod name to figure out which application owns the image before I can take action.

**Describe the solution you'd like**
I would like `version-checker` to natively expose the application name as a label in its generated Prometheus metrics.

Ideally, the controller could extract this from a dedicated annotation like `version-checker.io/app-name`, or fallback to standard Kubernetes resource labels (such as `app.kubernetes.io/name` or `app`) on the pod/deployment. Mapping this to an `app_name` or `application` label in the exported metric would allow the official Grafana dashboards to easily display which specific application is associated with which image(s), significantly improving visibility.

**Describe alternatives you've considered**
My current alternative/workaround is manually adding custom annotations to my deployments alongside the standard version-checker configs, like this:

```
podAnnotations:
enable.version-checker.io/controller: "true"
version-checker.io/app-name: "Karpenter"
match-regex.version-checker.io/controller: ^v?\d+\.\d+\.\d+.*
```
While this allows me to attach the metadata to the pod, it still requires complex, expensive PromQL queries using `kube-state-metrics` (e.g., `kube_pod_annotations`) to join this custom annotation with the actual `version-checker` metrics in Grafana. This slows down dashboard load times and makes the PromQL very difficult to maintain.

**Additional context**
Add any other context or screenshots about the feature request here.

---

**Message from the maintainers**:

If you wish to see this enhancement implemented please add a 👍 reaction to this issue! We often sort issues this way to know what to prioritize.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by locating the code that generates version-checker Prometheus metrics and the code that reads Kubernetes pod or deployment metadata. Compare the dedicated version-checker.io/app-name annotation with app.kubernetes.io/name and app labels, then define the exported label behavior and verify that the resulting metrics support the intended Grafana dashboard use case.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
go, grafana, kubernetes, prometheus
Domaine
devops, observability
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.