From d3fa80ee966b01491bc4afffcd7caf26b593d73e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Garcia=20Sanchez?= Date: Thu, 30 May 2024 10:43:18 +0200 Subject: [PATCH] Get latest version by tag if no release exists (#2435) * get latest version by tag if no release exisits Signed-off-by: Raul Garcia Sanchez * fix generate diff-check Signed-off-by: Raul Garcia Sanchez --------- Signed-off-by: Raul Garcia Sanchez --- docs/blackbox-exporter.md | 2 +- jsonnet/kube-prometheus/main.libsonnet | 2 +- manifests/blackboxExporter-deployment.yaml | 2 +- scripts/generate-versions.sh | 7 ++++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/blackbox-exporter.md b/docs/blackbox-exporter.md index e277f4bec8..3a0b4ca676 100644 --- a/docs/blackbox-exporter.md +++ b/docs/blackbox-exporter.md @@ -30,7 +30,7 @@ The `prometheus-operator` defines a `Probe` resource type that can be used to de * `_config.namespace`: the namespace where the various generated resources (`ConfigMap`, `Deployment`, `Service`, `ServiceAccount` and `ServiceMonitor`) will reside. This does not affect where you can place `Probe` objects; that is determined by the configuration of the `Prometheus` resource. This option is shared with other `kube-prometheus` components; defaults to `default`. * `_config.imageRepos.blackboxExporter`: the name of the blackbox exporter image to deploy. Defaults to `quay.io/prometheus/blackbox-exporter`. * `_config.versions.blackboxExporter`: the tag of the blackbox exporter image to deploy. Defaults to the version `kube-prometheus` was tested with. -* `_config.imageRepos.configmapReloader`: the name of the ConfigMap reloader image to deploy. Defaults to `jimmidyson/configmap-reload`. +* `_config.imageRepos.configmapReloader`: the name of the ConfigMap reloader image to deploy. Defaults to `ghcr.io/jimmidyson/configmap-reload`. * `_config.versions.configmapReloader`: the tag of the ConfigMap reloader image to deploy. Defaults to the version `kube-prometheus` was tested with. * `_config.resources.blackbox-exporter.requests`: the requested resources; this is used for each container. Defaults to `10m` CPU and `20Mi` RAM. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ for details. * `_config.resources.blackbox-exporter.limits`: the resource limits; this is used for each container. Defaults to `20m` CPU and `40Mi` RAM. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ for details. diff --git a/jsonnet/kube-prometheus/main.libsonnet b/jsonnet/kube-prometheus/main.libsonnet index 969a893b88..d8aa5028af 100644 --- a/jsonnet/kube-prometheus/main.libsonnet +++ b/jsonnet/kube-prometheus/main.libsonnet @@ -47,7 +47,7 @@ local utils = import './lib/utils.libsonnet'; prometheusOperator: 'quay.io/prometheus-operator/prometheus-operator:v' + $.values.common.versions.prometheusOperator, prometheusOperatorReloader: 'quay.io/prometheus-operator/prometheus-config-reloader:v' + $.values.common.versions.prometheusOperator, kubeRbacProxy: 'quay.io/brancz/kube-rbac-proxy:v' + $.values.common.versions.kubeRbacProxy, - configmapReload: 'jimmidyson/configmap-reload:v' + $.values.common.versions.configmapReload, + configmapReload: 'ghcr.io/jimmidyson/configmap-reload:v' + $.values.common.versions.configmapReload, }, }, alertmanager: { diff --git a/manifests/blackboxExporter-deployment.yaml b/manifests/blackboxExporter-deployment.yaml index 10fbcce128..695cfc19cf 100644 --- a/manifests/blackboxExporter-deployment.yaml +++ b/manifests/blackboxExporter-deployment.yaml @@ -58,7 +58,7 @@ spec: - args: - --webhook-url=http://localhost:19115/-/reload - --volume-dir=/etc/blackbox_exporter/ - image: jimmidyson/configmap-reload:v0.5.0 + image: ghcr.io/jimmidyson/configmap-reload:v0.5.0 name: module-configmap-reloader resources: limits: diff --git a/scripts/generate-versions.sh b/scripts/generate-versions.sh index 0861cf0108..9c28e82f54 100755 --- a/scripts/generate-versions.sh +++ b/scripts/generate-versions.sh @@ -5,7 +5,12 @@ set -euo pipefail # Get component version from GitHub API get_latest_version() { echo >&2 "Checking release version for ${1}" - curl --retry 5 --silent --fail -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/${1}/releases/latest" | jq '.tag_name' | tr -d '"v' + v=$(curl --retry 5 --silent --fail -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/${1}/releases/latest" | jq '.tag_name' | tr -d '"v') + if [ "${v}" == "" ]; then + # Get latest tag if no release is generated + v=$(curl --retry 5 --silent --fail -H "Authorization: token $GITHUB_TOKEN" "https://api.github.com/repos/${1}/tags" | jq '.[].name' | head -n1 | tr -d '"v') + fi + echo "$v" } # Get component version from version file