...

Text file src/edge-infra.dev/third_party/k8s/prometheus-operator/justfile

Documentation: edge-infra.dev/third_party/k8s/prometheus-operator

     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