Skip to content

Commit e48fb4a

Browse files
committed
switch from elasticsearch-exporter to opensearch-prometheus-exporter
1 parent 3e0d26a commit e48fb4a

13 files changed

Lines changed: 102 additions & 97 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ All notable changes to this project will be documented in this file.
99
- ubi9-rust-builder: Include `.tar.gz` snapshots of the operator source code in container images ([#1207])
1010
- opensearch: Add Opensearch as new product with version `3.1.0` ([#1215]).
1111
- opensearch: Use build-repo.stackable.tech instead of Maven Central ([#1222]).
12-
- opensearch: Add elasticsearch-exporter to export prometheus metrics ([#1223]).
12+
- opensearch: Add the `opensearch-prometheus-exporter` plugin to the image ([#1223]).
1313

1414
### Changed
1515

conf.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
opensearch_security_plugin = importlib.import_module(
3434
"opensearch.security-plugin.versions"
3535
)
36-
opensearch_elasticsearch_exporter = importlib.import_module(
37-
"opensearch.elasticsearch-exporter.versions"
36+
opensearch_prometheus_exporter = importlib.import_module(
37+
"opensearch.opensearch-prometheus-exporter.versions"
3838
)
3939
spark_k8s = importlib.import_module("spark-k8s.versions")
4040
stackable_base = importlib.import_module("stackable-base.versions")
@@ -79,8 +79,8 @@
7979
"versions": opensearch_security_plugin.versions,
8080
},
8181
{
82-
"name": "opensearch/elasticsearch-exporter",
83-
"versions": opensearch_elasticsearch_exporter.versions,
82+
"name": "opensearch/opensearch-prometheus-exporter",
83+
"versions": opensearch_prometheus_exporter.versions,
8484
},
8585
{"name": "spark-k8s", "versions": spark_k8s.versions},
8686
{"name": "stackable-base", "versions": stackable_base.versions},

opensearch/Dockerfile

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22
# check=error=true
33

44
FROM stackable/image/opensearch/security-plugin AS opensearch-security-plugin
5-
FROM stackable/image/opensearch/elasticsearch-exporter AS opensearch-elasticsearch-exporter
5+
FROM stackable/image/opensearch/opensearch-prometheus-exporter AS opensearch-prometheus-exporter
66
FROM stackable/image/java-devel AS opensearch-builder
77

88
ARG PRODUCT
99
ARG RELEASE
1010
ARG OPENSEARCH_SECURITY_PLUGIN
11+
ARG OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER
1112
ARG STACKABLE_USER_UID
1213
ARG TARGETARCH
1314

@@ -57,6 +58,18 @@ rm opensearch-security-${OPENSEARCH_SECURITY_PLUGIN}.zip
5758
mv config /stackable/opensearch-${PRODUCT}/config/opensearch-security
5859
EOF
5960

61+
WORKDIR /stackable/opensearch-prometheus-exporter
62+
COPY \
63+
--chown=${STACKABLE_USER_UID}:0 \
64+
--from=opensearch-prometheus-exporter \
65+
/stackable/src/opensearch/opensearch-prometheus-exporter/patchable-work/worktree/${OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER}/build/distributions/prometheus-exporter-${OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER}.zip \
66+
opensearch-prometheus-exporter-${OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER}.zip
67+
68+
RUN <<EOF
69+
unzip opensearch-prometheus-exporter-${OPENSEARCH_SECURITY_PLUGIN}.zip
70+
rm opensearch-prometheus-exporter-${OPENSEARCH_SECURITY_PLUGIN}.zip
71+
EOF
72+
6073
WORKDIR /stackable/opensearch-${PRODUCT}
6174

6275
RUN <<EOF
@@ -78,7 +91,7 @@ FROM stackable/image/jdk-base AS final
7891
ARG PRODUCT
7992
ARG RELEASE
8093
ARG OPENSEARCH_SECURITY_PLUGIN
81-
ARG OPENSEARCH_ELASTICSEARCH_EXPORTER
94+
ARG OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER
8295
ARG STACKABLE_USER_UID
8396

8497
ARG NAME="OpenSearch"
@@ -113,9 +126,9 @@ COPY \
113126
/stackable/opensearch-${PRODUCT}-stackable${RELEASE}/plugins/opensearch-security
114127
COPY \
115128
--chown=${STACKABLE_USER_UID}:0 \
116-
--from=opensearch-elasticsearch-exporter \
117-
/stackable/elasticsearch_exporter \
118-
/stackable/opensearch-${PRODUCT}-stackable${RELEASE}/bin/elasticsearch_exporter
129+
--from=opensearch-builder \
130+
/stackable/opensearch-prometheus-exporter \
131+
/stackable/opensearch-${PRODUCT}-stackable${RELEASE}/plugins/prometheus-exporter
119132
COPY \
120133
--chown=${STACKABLE_USER_UID}:0 \
121134
--from=opensearch-builder \
@@ -128,8 +141,8 @@ COPY \
128141
/stackable
129142
COPY \
130143
--chown=${STACKABLE_USER_UID}:0 \
131-
--from=opensearch-elasticsearch-exporter \
132-
/stackable/opensearch-elasticsearch-exporter-${OPENSEARCH_ELASTICSEARCH_EXPORTER}-stackable${RELEASE}-src.tar.gz \
144+
--from=opensearch-prometheus-exporter \
145+
/stackable/opensearch-prometheus-exporter-${OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER}-stackable${RELEASE}-src.tar.gz \
133146
/stackable
134147
COPY \
135148
--chown=${STACKABLE_USER_UID}:0 \
@@ -143,9 +156,9 @@ COPY \
143156
/stackable/opensearch-security-${OPENSEARCH_SECURITY_PLUGIN}-stackable${RELEASE}.cdx.json
144157
COPY \
145158
--chown=${STACKABLE_USER_UID}:0 \
146-
--from=opensearch-elasticsearch-exporter \
147-
/stackable/opensearch-elasticsearch-exporter-${OPENSEARCH_ELASTICSEARCH_EXPORTER}-stackable${RELEASE}.cdx.json \
148-
/stackable
159+
--from=opensearch-prometheus-exporter \
160+
/stackable/src/opensearch/opensearch-prometheus-exporter/patchable-work/worktree/${OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER}/build/reports/bom.json \
161+
/stackable/opensearch-prometheus-exporter-${OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER}-stackable${RELEASE}.cdx.json
149162

150163
RUN <<EOF
151164
microdnf update
@@ -157,6 +170,7 @@ rm -rf /var/cache/yum
157170
chown ${STACKABLE_USER_UID}:0 ${HOME}
158171
chmod g=u /stackable/opensearch-${PRODUCT}-stackable${RELEASE}
159172
chmod g=u /stackable/opensearch-${PRODUCT}-stackable${RELEASE}/plugins/opensearch-security
173+
chmod g=u /stackable/opensearch-${PRODUCT}-stackable${RELEASE}/plugins/prometheus-exporter
160174
chmod g=u /stackable/*-src.tar.gz
161175
chmod g=u /stackable/*.cdx.json
162176
ln -s /stackable/opensearch-${PRODUCT}-stackable${RELEASE} ${OPENSEARCH_HOME}

opensearch/elasticsearch-exporter/Dockerfile

Lines changed: 0 additions & 70 deletions
This file was deleted.

opensearch/elasticsearch-exporter/stackable/patches/1.9.0/patchable.toml

Lines changed: 0 additions & 1 deletion
This file was deleted.

opensearch/elasticsearch-exporter/stackable/patches/patchable.toml

Lines changed: 0 additions & 2 deletions
This file was deleted.

opensearch/elasticsearch-exporter/versions.py

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# syntax=docker/dockerfile:1.16.0@sha256:e2dd261f92e4b763d789984f6eab84be66ab4f5f08052316d8eb8f173593acf7
2+
# check=error=true
3+
4+
FROM stackable/image/java-devel AS opensearch-prometheus-exporter-builder
5+
6+
ARG PRODUCT
7+
ARG RELEASE
8+
ARG STACKABLE_USER_UID
9+
10+
USER ${STACKABLE_USER_UID}
11+
WORKDIR /stackable
12+
13+
COPY --chown=${STACKABLE_USER_UID}:0 opensearch/opensearch-prometheus-exporter/stackable/patches/patchable.toml /stackable/src/opensearch/opensearch-prometheus-exporter/stackable/patches/patchable.toml
14+
COPY --chown=${STACKABLE_USER_UID}:0 opensearch/opensearch-prometheus-exporter/stackable/patches/${PRODUCT} /stackable/src/opensearch/opensearch-prometheus-exporter/stackable/patches/${PRODUCT}
15+
16+
RUN <<EOF
17+
cd "$(/stackable/patchable --images-repo-root=src checkout opensearch/opensearch-prometheus-exporter ${PRODUCT})"
18+
19+
# Create snapshot of the source code including custom patches
20+
tar -czf /stackable/opensearch-prometheus-exporter-${PRODUCT}-stackable${RELEASE}-src.tar.gz .
21+
./gradlew clean assemble -Dbuild.snapshot=false
22+
./gradlew cyclonedxBom --warning-mode=summary -Dbuild.snapshot=false
23+
EOF
24+
25+
RUN <<EOF
26+
# Change the group permissions already in the builder image to reduce the size of the final image.
27+
# see https://github.com/stackabletech/docker-images/issues/961
28+
chmod -R g=u /stackable
29+
EOF
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
From f89f753d1bc03598bfe129c367233fec6daee078 Mon Sep 17 00:00:00 2001
2+
From: Benedikt Labrenz <benedikt@labrenz.org>
3+
Date: Tue, 12 Aug 2025 14:59:12 +0200
4+
Subject: Add CycloneDX plugin
5+
6+
---
7+
build.gradle | 14 ++++++++++++++
8+
1 file changed, 14 insertions(+)
9+
10+
diff --git a/build.gradle b/build.gradle
11+
index 6c09118..d47ae14 100644
12+
--- a/build.gradle
13+
+++ b/build.gradle
14+
@@ -63,6 +63,20 @@ buildscript {
15+
}
16+
}
17+
18+
+plugins {
19+
+ id "org.cyclonedx.bom" version "2.3.1"
20+
+}
21+
+
22+
+cyclonedxBom {
23+
+ includeConfigs = ["runtimeClasspath"]
24+
+ includeLicenseText = false
25+
+ skipConfigs = ["compileClasspath", "testCompileClasspath"]
26+
+ projectType = "application"
27+
+ schemaVersion = "1.6"
28+
+ outputFormat = "json"
29+
+ componentVersion = versions.version
30+
+}
31+
+
32+
apply plugin: 'java'
33+
apply plugin: 'idea'
34+
apply plugin: 'opensearch.opensearchplugin'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
base = "df60b43e34d0f7fba6be9e003924a413764df85e"

0 commit comments

Comments
 (0)