From 49dd6d3cd211fd77dd5d9833ff3af35f33d4c7f1 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Wed, 17 Apr 2019 13:57:18 +0000 Subject: [PATCH 1/4] Add Prometheus Jiralert container This uses the binary release from GitHub. Change-Id: Id7df96e7d5b646d4b42e06945bafdbce828b902b Co-Authored-By: Pierre Riteau (cherry picked from commit 034419ef80724f1dd28b22c94a72e3e09b28643d) --- .../prometheus-jiralert/Dockerfile.j2 | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 docker/prometheus/prometheus-jiralert/Dockerfile.j2 diff --git a/docker/prometheus/prometheus-jiralert/Dockerfile.j2 b/docker/prometheus/prometheus-jiralert/Dockerfile.j2 new file mode 100644 index 0000000000..4c711e5af7 --- /dev/null +++ b/docker/prometheus/prometheus-jiralert/Dockerfile.j2 @@ -0,0 +1,39 @@ +FROM {{ namespace }}/{{ infra_image_prefix }}prometheus-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +{% import "macros.j2" as macros with context %} + +{% block prometheus_jiralert_header %}{% endblock %} + +{% if base_package_type == 'rpm' %} + {% set prometheus_jiralert_packages = [ + 'go', + ] %} +{% elif base_package_type == 'deb' %} + {% set prometheus_jiralert_packages = [ + 'golang-go', + ] %} +{% endif %} + +{{ macros.install_packages(prometheus_jiralert_packages | customizable("packages")) }} + +{% block prometheus_jiralert_version %} +ARG prometheus_jiralert_version=1.0 +ARG prometheus_jiralert_url=https://github.com/prometheus-community/jiralert/releases/download/${prometheus_jiralert_version}/jiralert-${prometheus_jiralert_version}.linux-{{debian_arch}}.tar.gz +{% endblock %} + +{% block prometheus_jiralert_install %} +ENV GOPATH=/tmp +RUN curl -o /tmp/jiralert.tar.gz ${prometheus_jiralert_url} \ + && mkdir /opt/jiralert \ + && tar --strip 1 -xvf /tmp/jiralert.tar.gz -C /opt/jiralert \ + && rm -f /tmp/jiralert.tar.gz \ + && mkdir -p /etc/jiralert +{% endblock %} + +{% block prometheus_jiralert_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER prometheus From d860b27b3d3771d21f8fcfa4dd42883bc21fec10 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 6 Oct 2021 15:09:22 +0200 Subject: [PATCH 2/4] Add prometheus-msteams image This can be used to forward Prometheus Alertmanager notifications to Microsoft Teams. Change-Id: I57ebdf734c4bf38045ca8f837dc7066cdeb16131 (cherry picked from commit ae05a9d7577c8f8d278179e9ffdfe3779bffef40) --- .../prometheus-msteams/Dockerfile.j2 | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docker/prometheus/prometheus-msteams/Dockerfile.j2 diff --git a/docker/prometheus/prometheus-msteams/Dockerfile.j2 b/docker/prometheus/prometheus-msteams/Dockerfile.j2 new file mode 100644 index 0000000000..a43b8b1eef --- /dev/null +++ b/docker/prometheus/prometheus-msteams/Dockerfile.j2 @@ -0,0 +1,21 @@ +FROM {{ namespace }}/{{ infra_image_prefix }}prometheus-base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +{% block prometheus_msteams_header %}{% endblock %} + +{% block prometheus_msteams_repository_version %} +ENV prometheus_msteams_version=1.5.0 +{% endblock %} + +{% block prometheus_msteams_install %} +RUN curl -o /opt/prometheus-msteams https://github.com/prometheus-msteams/prometheus-msteams/releases/download/v${prometheus_msteams_version}/prometheus-msteams-linux-{{debian_arch}} \ + && chmod 0755 /opt/prometheus-msteams \ + && mkdir -p /etc/msteams +{% endblock %} + +{% block prometheus_msteams_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER prometheus From a629c55f64dfe0eff34912bc96e08092003ae344 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Wed, 13 Oct 2021 15:55:13 +0200 Subject: [PATCH 3/4] Build jiralert from stackhpc fork Change-Id: I2a28befb6c4e3baf30e9929ae7ea224945ec7210 (cherry picked from commit a13b42f469689aac1917ffda39dc83999268ddf7) --- .../prometheus-jiralert/Dockerfile.j2 | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/docker/prometheus/prometheus-jiralert/Dockerfile.j2 b/docker/prometheus/prometheus-jiralert/Dockerfile.j2 index 4c711e5af7..13943d1587 100644 --- a/docker/prometheus/prometheus-jiralert/Dockerfile.j2 +++ b/docker/prometheus/prometheus-jiralert/Dockerfile.j2 @@ -9,7 +9,9 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if base_package_type == 'rpm' %} {% set prometheus_jiralert_packages = [ + 'git', 'go', + 'make', ] %} {% elif base_package_type == 'deb' %} {% set prometheus_jiralert_packages = [ @@ -20,17 +22,23 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {{ macros.install_packages(prometheus_jiralert_packages | customizable("packages")) }} {% block prometheus_jiralert_version %} -ARG prometheus_jiralert_version=1.0 -ARG prometheus_jiralert_url=https://github.com/prometheus-community/jiralert/releases/download/${prometheus_jiralert_version}/jiralert-${prometheus_jiralert_version}.linux-{{debian_arch}}.tar.gz +ARG prometheus_jiralert_version=master +ARG prometheus_jiralert_url=https://github.com/stackhpc/jiralert/archive/refs/heads/${prometheus_jiralert_version}.tar.gz {% endblock %} {% block prometheus_jiralert_install %} -ENV GOPATH=/tmp -RUN curl -o /tmp/jiralert.tar.gz ${prometheus_jiralert_url} \ +ENV GOPATH=/build +RUN mkdir /build \ + && cd /build \ + && curl -o jiralert.tar.gz ${prometheus_jiralert_url} \ + && tar xvf jiralert.tar.gz \ + && cd jiralert-${prometheus_jiralert_version} \ + && make build \ && mkdir /opt/jiralert \ - && tar --strip 1 -xvf /tmp/jiralert.tar.gz -C /opt/jiralert \ - && rm -f /tmp/jiralert.tar.gz \ - && mkdir -p /etc/jiralert + && install -m 0755 jiralert /opt/jiralert/ \ + && install -m 0644 LICENSE /opt/jiralert/ \ + && install -m 0644 README.md /opt/jiralert/ \ + && rm -rf /build {% endblock %} {% block prometheus_jiralert_footer %}{% endblock %} From 1f737a1f2c51cc78dce35bbf6c9b90037b015253 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Fri, 5 Nov 2021 15:30:16 +0100 Subject: [PATCH 4/4] Build openstack-exporter fork from source (cherry picked from commit 1034a61b87c7633a34cd1ad0729f8cd535daa93c) --- .../Dockerfile.j2 | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2 b/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2 index 0150e1d6c7..8ed6b25bbf 100644 --- a/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2 +++ b/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2 @@ -3,17 +3,40 @@ FROM {{ namespace }}/{{ infra_image_prefix }}prometheus-base:{{ tag }} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" {% endblock %} +{% import "macros.j2" as macros with context %} + {% block prometheus_openstack_exporter_header %}{% endblock %} -{% block prometheus_openstack_exporter_repository_version %} -ENV prometheus_openstack_exporter_version=1.3.0 -{% endblock %} +{% if base_package_type == 'rpm' %} + {% set prometheus_openstack_exporter_packages = [ + 'git', + 'go', + 'make', + ] %} +{% elif base_package_type == 'deb' %} + {% set prometheus_openstack_exporter_packages = [ + 'build-essential', + 'git', + 'golang-go', + ] %} +{% endif %} + +{{ macros.install_packages(prometheus_openstack_exporter_packages | customizable("packages")) }} {% block prometheus_openstack_exporter_install %} -RUN curl -o /tmp/prometheus_openstack_exporter.tar.gz https://github.com/openstack-exporter/openstack-exporter/releases/download/v${prometheus_openstack_exporter_version}/openstack-exporter-${prometheus_openstack_exporter_version}.linux-{{debian_arch}}.tar.gz \ - && tar xvf /tmp/prometheus_openstack_exporter.tar.gz -C /opt/ \ - && rm -f /tmp/prometheus_openstack_exporter.tar.gz \ - && ln -s /opt/openstack-exporter* /opt/openstack-exporter +ARG prometheus_openstack_exporter_url=https://github.com/stackhpc/openstack-exporter/archive/refs/heads +ARG prometheus_openstack_exporter_version=project-parent-id +ENV GOPATH=/build +RUN mkdir /build \ + && cd /build \ + && curl -o openstack-exporter.tar.gz ${prometheus_openstack_exporter_url}/${prometheus_openstack_exporter_version}.tar.gz \ + && tar xvf openstack-exporter.tar.gz \ + && cd openstack-exporter-${prometheus_openstack_exporter_version} \ + && make common-build \ + && mv openstack-exporter-${prometheus_openstack_exporter_version} openstack-exporter \ + && mkdir /opt/openstack-exporter \ + && install -m 0755 openstack-exporter /opt/openstack-exporter/ \ + && rm -rf /build {% endblock %} {% block prometheus_openstack_exporter_footer %}{% endblock %}