...
1# Container Versions
2prom-operator_version := "0.75.2"
3prom-cr_version := "0.75.2"
4alertmanager_version := "0.27.0"
5prom-engine_version := "2.41.0-gmp.9-gke.1"
6
7# Container Sources
8prom-operator_reg := "quay.io"
9prom-operator_repo := "prometheus-operator/prometheus-operator"
10
11prom-cr_reg := "quay.io"
12prom-cr_repo := "prometheus-operator/prometheus-config-reloader"
13
14alertmanager_reg := "quay.io"
15alertmanager_repo := "prometheus/alertmanager"
16
17prom-engine_reg := "us.gcr.io"
18prom-engine_repo := "gke-release/prometheus-engine/prometheus"
19
20# Internal Registry Parent Path
21edge-registry := "us-east1-docker.pkg.dev/ret-edge-pltf-infra/thirdparty/"
22
23####################################################
24
25prom-operator_manifest := "manifests.yaml"
26prom-operator_manifest_bundle := "https://raw.githubusercontent.com/prometheus-operator/prometheus-operator"
27
28kustomize := "bazel run --config=quiet //hack/tools:kustomize --"
29docker-inspect:= "docker buildx imagetools inspect --raw"
30jquerry:= "jq '.manifests[] | select(.platform.architecture==\"amd64\") | .digest'"
31
32# images.bzl value queries
33prom_op_bzl_tag:= `grep -A6 '\"prometheus-operator\":' ../../../hack/deps/images.bzl |grep '\"TAG\":'|sed -e 's/^[ \t]*//'| cut -c 9-14`
34prom_op_bzl_digest:= `grep -A6 '\"prometheus-operator\":' ../../../hack/deps/images.bzl |grep '\"DIGEST\":'|sed -e 's/^[ \t]*//'| cut -c 12-82`
35prom_op_bzl_repo:= `grep -A6 '\"prometheus-operator\":' ../../../hack/deps/images.bzl | grep '\"REPO\":'| sed -e 's/^[ \t]*//' | cut -b 10- | rev | cut -c 3- | rev`
36prom_op_bzl_reg:= `grep -A6 '\"prometheus-operator\":' ../../../hack/deps/images.bzl | grep '\"REGISTRY\":'| sed -e 's/^[ \t]*//' | cut -b 14- | rev | cut -c 3- | rev`
37
38prom_cr_bzl_tag:= `grep -A6 '\"prometheus-config-reloader\":' ../../../hack/deps/images.bzl |grep '\"TAG\":'|sed -e 's/^[ \t]*//'| cut -c 9-15`
39prom_cr_bzl_digest:= `grep -A6 '\"prometheus-config-reloader\":' ../../../hack/deps/images.bzl |grep '\"DIGEST\":'|sed -e 's/^[ \t]*//'| cut -c 12-82`
40prom_cr_bzl_repo:= `grep -A6 '\"prometheus-config-reloader\":' ../../../hack/deps/images.bzl | grep '\"REPO\":'| sed -e 's/^[ \t]*//' | cut -b 10- | rev | cut -c 3- | rev`
41prom_cr_bzl_reg:= `grep -A6 '\"prometheus-config-reloader\":' ../../../hack/deps/images.bzl | grep '\"REGISTRY\":'| sed -e 's/^[ \t]*//' | cut -b 14- | rev | cut -c 3- | rev`
42
43alertmanager_bzl_tag:= `grep -A6 '\"alertmanager\":' ../../../hack/deps/images.bzl |grep '\"TAG\":'|sed -e 's/^[ \t]*//'| cut -c 9-15`
44alertmanager_bzl_digest:= `grep -A6 '\"alertmanager\":' ../../../hack/deps/images.bzl |grep '\"DIGEST\":'|sed -e 's/^[ \t]*//'| cut -c 12-82`
45alertmanager_bzl_repo:= `grep -A6 '\"alertmanager\":' ../../../hack/deps/images.bzl | grep '\"REPO\":'| sed -e 's/^[ \t]*//' | cut -b 10- | rev | cut -c 3- | rev`
46alertmanager_bzl_reg:= `grep -A6 '\"alertmanager\":' ../../../hack/deps/images.bzl | grep '\"REGISTRY\":'| sed -e 's/^[ \t]*//' | cut -b 14- | rev | cut -c 3- | rev`
47
48prom_engine_bzl_tag:= `grep -A6 '\"prometheus-engine\":' ../../../hack/deps/images.bzl | grep '\"TAG\":'| sed -e 's/^[ \t]*//' | cut -b 9- | rev | cut -c 3- | rev`
49prom_engine_bzl_digest:= `grep -A6 '\"prometheus-engine\":' ../../../hack/deps/images.bzl | grep '\"DIGEST\":'| sed -e 's/^[ \t]*//' | cut -b 12- | rev | cut -c 3- | rev`
50prom_engine_bzl_repo:= `grep -A6 '\"prometheus-engine\":' ../../../hack/deps/images.bzl | grep '\"REPO\":'| sed -e 's/^[ \t]*//' | cut -b 10- | rev | cut -c 3- | rev`
51prom_engine_bzl_reg:= `grep -A6 '\"prometheus-engine\":' ../../../hack/deps/images.bzl | grep '\"REGISTRY\":'| sed -e 's/^[ \t]*//' | cut -b 14- | rev | cut -c 3- | rev`
52
53# Retrieve the image SHA's from the manifests
54prom_op_digest:
55 {{docker-inspect}} {{prom-operator_reg}}/{{prom-operator_repo}}:v{{prom-operator_version}} | {{jquerry}}
56
57prom_cr_digest:
58 {{docker-inspect}} {{prom-cr_reg}}/{{prom-cr_repo}}:v{{prom-cr_version}} | {{jquerry}}
59
60alertmanager_digest:
61 {{docker-inspect}} {{alertmanager_reg}}/{{alertmanager_repo}}:v{{alertmanager_version}} | {{jquerry}}
62
63prom_engine_digest:
64 {{docker-inspect}} {{prom-engine_reg}}/{{prom-engine_repo}}:v{{prom-engine_version}} | {{jquerry}}
65
66# Update configs and container images
67
68update:
69 # prometheus-operator
70 echo {{prom_op_bzl_tag}} {{prom_op_bzl_digest}} {{prom_op_bzl_repo}} {{prom_op_bzl_reg}}
71 sed -i'' -e "s#\"REGISTRY\": \"{{prom_op_bzl_reg}}\"#\"REGISTRY\": \"{{prom-operator_reg}}\"#g" ../../../hack/deps/images.bzl
72 sed -i'' -e "s#\"REPO\": \"{{prom_op_bzl_repo}}\"#\"REPO\": \"{{prom-operator_repo}}\"#g" ../../../hack/deps/images.bzl
73 sed -i'' -e "s#\"TAG\": \"{{prom_op_bzl_tag}}\"#\"TAG\": \"v{{prom-operator_version}}\"#g" ../../../hack/deps/images.bzl
74 sed -i'' -e "s#\"DIGEST\": \"{{prom_op_bzl_digest}}\"#\"DIGEST\": `just prom_op_digest`#g" ../../../hack/deps/images.bzl
75
76 # prometheus-config-reloader
77 echo {{prom_cr_bzl_tag}} {{prom_cr_bzl_digest}} {{prom_cr_bzl_repo}} {{prom_cr_bzl_reg}}
78 sed -i'' -e "s#\"REGISTRY\": \"{{prom_cr_bzl_reg}}\"#\"REGISTRY\": \"{{prom-cr_reg}}\"#g" ../../../hack/deps/images.bzl
79 sed -i'' -e "s#\"REPO\": \"{{prom_cr_bzl_repo}}\"#\"REPO\": \"{{prom-cr_repo}}\"#g" ../../../hack/deps/images.bzl
80 sed -i'' -e "s#\"TAG\": \"{{prom_cr_bzl_tag}}\"#\"TAG\": \"v{{prom-cr_version}}\"#g" ../../../hack/deps/images.bzl
81 sed -i'' -e "s#\"DIGEST\": \"{{prom_cr_bzl_digest}}\"#\"DIGEST\": `just prom_cr_digest`#g" ../../../hack/deps/images.bzl
82
83 # alertmanager
84 echo {{alertmanager_bzl_tag}} {{alertmanager_bzl_digest}} {{alertmanager_bzl_repo}} {{alertmanager_bzl_reg}}
85 sed -i'' -e "s#\"REGISTRY\": \"{{alertmanager_bzl_reg}}\"#\"REGISTRY\": \"{{alertmanager_reg}}\"#g" ../../../hack/deps/images.bzl
86 sed -i'' -e "s#\"REPO\": \"{{alertmanager_bzl_repo}}\"#\"REPO\": \"{{alertmanager_repo}}\"#g" ../../../hack/deps/images.bzl
87 sed -i'' -e "s#\"TAG\": \"{{alertmanager_bzl_tag}}\"#\"TAG\": \"v{{alertmanager_version}}\"#g" ../../../hack/deps/images.bzl
88 sed -i'' -e "s#\"DIGEST\": \"{{alertmanager_bzl_digest}}\"#\"DIGEST\": `just alertmanager_digest`#g" ../../../hack/deps/images.bzl
89
90 # prometheus-engine
91 echo {{prom_engine_bzl_tag}} {{prom_engine_bzl_digest}} {{prom_engine_bzl_repo}} {{prom_engine_bzl_reg}}
92 sed -i'' -e "s#\"REGISTRY\": \"{{prom_engine_bzl_reg}}\"#\"REGISTRY\": \"{{prom-engine_reg}}\"#g" ../../../hack/deps/images.bzl
93 sed -i'' -e "s#\"REPO\": \"{{prom_engine_bzl_repo}}\"#\"REPO\": \"{{prom-engine_repo}}\"#g" ../../../hack/deps/images.bzl
94 sed -i'' -e "s#\"TAG\": \"{{prom_engine_bzl_tag}}\"#\"TAG\": \"v{{prom-engine_version}}\"#g" ../../../hack/deps/images.bzl
95 sed -i'' -e "s#\"DIGEST\": \"{{prom_engine_bzl_digest}}\"#\"DIGEST\": `just prom_engine_digest`#g" ../../../hack/deps/images.bzl
96 rm -f ../../../hack/deps/images.bzl-e
97
98 # remove the current prometheus-operator manifest and then download the bundle from git
99 rm -f {{prom-operator_manifest}}
100 curl -Lo {{prom-operator_manifest}} {{prom-operator_manifest_bundle}}/v{{prom-operator_version}}/bundle.yaml
101
102 # update the prometheus-operator image override arguments kustomize patch with current version
103 sed -i'' -e "s|\(value: --prometheus-default-base-image=\).*|\1{{edge-registry}}{{prom-engine_reg}}/{{prom-engine_repo}}:v{{prom-engine_version}}|" kustomization.yaml
104 sed -i'' -e "s|\(value: --alertmanager-default-base-image=\).*|\1{{edge-registry}}{{alertmanager_reg}}/{{alertmanager_repo}}:v{{alertmanager_version}}|" kustomization.yaml
105 sed -i'' -e "s|\(value: --prometheus-config-reloader=\).*|\1{{edge-registry}}{{prom-cr_reg}}/{{prom-cr_repo}}:v{{prom-cr_version}}|" kustomization.yaml
106 rm -f kustomization.yaml-e
View as plain text