From c41f4f6206cc7a708cf80505c2c9b98364d77fe1 Mon Sep 17 00:00:00 2001 From: Benedikt Labrenz Date: Tue, 28 Oct 2025 20:31:42 +0100 Subject: [PATCH 1/5] install common OpenSearch plugins from Maven Central --- CHANGELOG.md | 2 ++ opensearch/Dockerfile | 33 +++++++++++++++++++++++++++++++++ opensearch/boil-config.toml | 27 +++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65d775c37..9787e1715 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file. - opensearch: Use build-repo.stackable.tech instead of Maven Central ([#1222]). - opensearch: Add the `opensearch-prometheus-exporter` plugin to the image ([#1223]). - opensearch: Replace the demo configuration of the OpenSearch Security plugin with a minimal one ([#1228]). +- opensearch: Install common plugins from Maven Central ([#1322]). - opensearch-dashboards: Add an image for Opensearch Dashboards with version `3.1.0` ([#1248]). - nifi: Backport NIFI-14848 to NiFi ([#1225]). - stackable-base: Add cert-tools ([#1247]). @@ -119,6 +120,7 @@ All notable changes to this project will be documented in this file. [#1318]: https://github.com/stackabletech/docker-images/pull/1318 [#1319]: https://github.com/stackabletech/docker-images/pull/1319 [#1320]: https://github.com/stackabletech/docker-images/pull/1320 +[#1322]: https://github.com/stackabletech/docker-images/pull/1322 ## [25.7.0] - 2025-07-23 diff --git a/opensearch/Dockerfile b/opensearch/Dockerfile index 3181d75bb..9f397cf4b 100644 --- a/opensearch/Dockerfile +++ b/opensearch/Dockerfile @@ -76,6 +76,39 @@ RUN < Date: Tue, 28 Oct 2025 20:42:41 +0100 Subject: [PATCH 2/5] fix hadolint --- opensearch/Dockerfile | 48 +++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/opensearch/Dockerfile b/opensearch/Dockerfile index 9f397cf4b..f2a5bd63a 100644 --- a/opensearch/Dockerfile +++ b/opensearch/Dockerfile @@ -84,30 +84,30 @@ rm -r jdk /stackable/opensearch-${PRODUCT_VERSION}-stackable${RELEASE_VERSION}/bin/opensearch-plugin \ install \ --batch \ - org.opensearch.plugin:alerting:${OPENSEARCH_ALERTING_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-job-scheduler:${OPENSEARCH_JOB_SCHEDULER_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-anomaly-detection:${OPENSEARCH_ANOMALY_DETECTION_PLUGIN_VERSION} \ - org.opensearch.plugin:asynchronous-search:${OPENSEARCH_ASYNCHRONOUS_SEARCH_VERSION} \ - org.opensearch.plugin:opensearch-cross-cluster-replication:${OPENSEARCH_CROSS_CLUSTER_REPLICATION_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-custom-codecs:${OPENSEARCH_CUSTOM_CODECS_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-flow-framework:${OPENSEARCH_FLOW_FRAMEWORK_PLUGIN_VERSION} \ - org.opensearch.plugin:geospatial:${OPENSEARCH_GEOSPATIAL_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-index-management:${OPENSEARCH_INDEX_MANAGEMENT_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-knn:${OPENSEARCH_KNN_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-ml-plugin:${OPENSEARCH_ML_PLUGIN_VERSION} \ - org.opensearch.plugin:neural-search:${OPENSEARCH_NEURAL_SEARCH_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-notifications-core:${OPENSEARCH_NOTIFICATIONS_CORE_PLUGIN_VERSION} \ - org.opensearch.plugin:notifications:${OPENSEARCH_NOTIFICATIONS_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-observability:${OPENSEARCH_OBSERVABILITY_PLUGIN_VERSION} \ - org.opensearch.plugin:performance-analyzer:${OPENSEARCH_PERFORMANCE_ANALYZER_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-reports-scheduler:${OPENSEARCH_REPORTS_SCHEDULER_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-search-relevance:${OPENSEARCH_SEARCH_RELEVANCE_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-security-analytics:${OPENSEARCH_SECURITY_ANALYTICS_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-skills:${OPENSEARCH_SKILLS_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-sql-plugin:${OPENSEARCH_SQL_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-system-templates:${OPENSEARCH_SYSTEM_TEMPLATES_PLUGIN_VERSION} \ - org.opensearch.plugin:opensearch-ubi:${OPENSEARCH_UBI_PLUGIN_VERSION} \ - org.opensearch.plugin:query-insights:${QUERY_INSIGHTS_PLUGIN_VERSION} + "org.opensearch.plugin:alerting:${OPENSEARCH_ALERTING_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-job-scheduler:${OPENSEARCH_JOB_SCHEDULER_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-anomaly-detection:${OPENSEARCH_ANOMALY_DETECTION_PLUGIN_VERSION}" \ + "org.opensearch.plugin:asynchronous-search:${OPENSEARCH_ASYNCHRONOUS_SEARCH_VERSION}" \ + "org.opensearch.plugin:opensearch-cross-cluster-replication:${OPENSEARCH_CROSS_CLUSTER_REPLICATION_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-custom-codecs:${OPENSEARCH_CUSTOM_CODECS_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-flow-framework:${OPENSEARCH_FLOW_FRAMEWORK_PLUGIN_VERSION}" \ + "org.opensearch.plugin:geospatial:${OPENSEARCH_GEOSPATIAL_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-index-management:${OPENSEARCH_INDEX_MANAGEMENT_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-knn:${OPENSEARCH_KNN_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-ml-plugin:${OPENSEARCH_ML_PLUGIN_VERSION}" \ + "org.opensearch.plugin:neural-search:${OPENSEARCH_NEURAL_SEARCH_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-notifications-core:${OPENSEARCH_NOTIFICATIONS_CORE_PLUGIN_VERSION}" \ + "org.opensearch.plugin:notifications:${OPENSEARCH_NOTIFICATIONS_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-observability:${OPENSEARCH_OBSERVABILITY_PLUGIN_VERSION}" \ + "org.opensearch.plugin:performance-analyzer:${OPENSEARCH_PERFORMANCE_ANALYZER_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-reports-scheduler:${OPENSEARCH_REPORTS_SCHEDULER_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-search-relevance:${OPENSEARCH_SEARCH_RELEVANCE_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-security-analytics:${OPENSEARCH_SECURITY_ANALYTICS_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-skills:${OPENSEARCH_SKILLS_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-sql-plugin:${OPENSEARCH_SQL_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-system-templates:${OPENSEARCH_SYSTEM_TEMPLATES_PLUGIN_VERSION}" \ + "org.opensearch.plugin:opensearch-ubi:${OPENSEARCH_UBI_PLUGIN_VERSION}" \ + "org.opensearch.plugin:query-insights:${QUERY_INSIGHTS_PLUGIN_VERSION}" # Change the group permissions already in the builder image to reduce # the size of the final image. From db333edf6511fe6c095d74b2702900f5009beeb7 Mon Sep 17 00:00:00 2001 From: Benedikt Labrenz Date: Tue, 28 Oct 2025 20:49:11 +0100 Subject: [PATCH 3/5] fix typo in comment --- opensearch/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/opensearch/Dockerfile b/opensearch/Dockerfile index f2a5bd63a..444b667a7 100644 --- a/opensearch/Dockerfile +++ b/opensearch/Dockerfile @@ -79,7 +79,7 @@ rm -r jdk # Install common plugins that are also used in the official image. # # TODO: The LTR plugin is currently missing because an official release for OpenSearch 3.x versions is missing. -# There are tags for 3.x version in the git repo, so it can be built from source: +# There are tags for 3.x versions in the git repo, so it can be built from source: # See https://github.com/opensearch-project/opensearch-learning-to-rank-base /stackable/opensearch-${PRODUCT_VERSION}-stackable${RELEASE_VERSION}/bin/opensearch-plugin \ install \ From ba21c9e8952a2e771008eacdaddeb6c88fc01c09 Mon Sep 17 00:00:00 2001 From: Benedikt Labrenz Date: Wed, 29 Oct 2025 08:22:02 +0100 Subject: [PATCH 4/5] fix build issues --- opensearch/Dockerfile | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/opensearch/Dockerfile b/opensearch/Dockerfile index 444b667a7..bb6b46192 100644 --- a/opensearch/Dockerfile +++ b/opensearch/Dockerfile @@ -9,6 +9,30 @@ ARG PRODUCT_VERSION ARG RELEASE_VERSION ARG OPENSEARCH_SECURITY_PLUGIN_VERSION ARG OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER_VERSION +ARG OPENSEARCH_ALERTING_PLUGIN_VERSION +ARG OPENSEARCH_JOB_SCHEDULER_PLUGIN_VERSION +ARG OPENSEARCH_ANOMALY_DETECTION_PLUGIN_VERSION +ARG OPENSEARCH_ASYNCHRONOUS_SEARCH_PLUGIN_VERSION +ARG OPENSEARCH_CROSS_CLUSTER_REPLICATION_PLUGIN_VERSION +ARG OPENSEARCH_CUSTOM_CODECS_PLUGIN_VERSION +ARG OPENSEARCH_FLOW_FRAMEWORK_PLUGIN_VERSION +ARG OPENSEARCH_GEOSPATIAL_PLUGIN_VERSION +ARG OPENSEARCH_INDEX_MANAGEMENT_PLUGIN_VERSION +ARG OPENSEARCH_KNN_PLUGIN_VERSION +ARG OPENSEARCH_ML_PLUGIN_VERSION +ARG OPENSEARCH_NEURAL_SEARCH_PLUGIN_VERSION +ARG OPENSEARCH_NOTIFICATIONS_CORE_PLUGIN_VERSION +ARG OPENSEARCH_NOTIFICATIONS_PLUGIN_VERSION +ARG OPENSEARCH_OBSERVABILITY_PLUGIN_VERSION +ARG OPENSEARCH_PERFORMANCE_ANALYZER_PLUGIN_VERSION +ARG OPENSEARCH_REPORTS_SCHEDULER_PLUGIN_VERSION +ARG OPENSEARCH_SEARCH_RELEVANCE_PLUGIN_VERSION +ARG OPENSEARCH_SECURITY_ANALYTICS_PLUGIN_VERSION +ARG OPENSEARCH_SKILLS_PLUGIN_VERSION +ARG OPENSEARCH_SQL_PLUGIN_VERSION +ARG OPENSEARCH_SYSTEM_TEMPLATES_PLUGIN_VERSION +ARG OPENSEARCH_UBI_PLUGIN_VERSION +ARG QUERY_INSIGHTS_PLUGIN_VERSION ARG STACKABLE_USER_UID ARG TARGETARCH @@ -81,13 +105,13 @@ rm -r jdk # TODO: The LTR plugin is currently missing because an official release for OpenSearch 3.x versions is missing. # There are tags for 3.x versions in the git repo, so it can be built from source: # See https://github.com/opensearch-project/opensearch-learning-to-rank-base -/stackable/opensearch-${PRODUCT_VERSION}-stackable${RELEASE_VERSION}/bin/opensearch-plugin \ +./bin/opensearch-plugin \ install \ --batch \ "org.opensearch.plugin:alerting:${OPENSEARCH_ALERTING_PLUGIN_VERSION}" \ "org.opensearch.plugin:opensearch-job-scheduler:${OPENSEARCH_JOB_SCHEDULER_PLUGIN_VERSION}" \ "org.opensearch.plugin:opensearch-anomaly-detection:${OPENSEARCH_ANOMALY_DETECTION_PLUGIN_VERSION}" \ - "org.opensearch.plugin:asynchronous-search:${OPENSEARCH_ASYNCHRONOUS_SEARCH_VERSION}" \ + "org.opensearch.plugin:asynchronous-search:${OPENSEARCH_ASYNCHRONOUS_SEARCH_PLUGIN_VERSION}" \ "org.opensearch.plugin:opensearch-cross-cluster-replication:${OPENSEARCH_CROSS_CLUSTER_REPLICATION_PLUGIN_VERSION}" \ "org.opensearch.plugin:opensearch-custom-codecs:${OPENSEARCH_CUSTOM_CODECS_PLUGIN_VERSION}" \ "org.opensearch.plugin:opensearch-flow-framework:${OPENSEARCH_FLOW_FRAMEWORK_PLUGIN_VERSION}" \ From d520514d3dc222ed854e5d1a0ce5d44df749d195 Mon Sep 17 00:00:00 2001 From: Benedikt Labrenz Date: Wed, 29 Oct 2025 14:21:22 +0100 Subject: [PATCH 5/5] address feedback on PR --- opensearch/Dockerfile | 11 ++++++++--- opensearch/boil-config.toml | 5 ++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/opensearch/Dockerfile b/opensearch/Dockerfile index bb6b46192..a901971a6 100644 --- a/opensearch/Dockerfile +++ b/opensearch/Dockerfile @@ -7,8 +7,14 @@ FROM local-image/java-devel AS opensearch-builder ARG PRODUCT_VERSION ARG RELEASE_VERSION +ARG STACKABLE_USER_UID +ARG TARGETARCH + +# Local image versions ARG OPENSEARCH_SECURITY_PLUGIN_VERSION ARG OPENSEARCH_OPENSEARCH_PROMETHEUS_EXPORTER_VERSION + +# External plugin versions ARG OPENSEARCH_ALERTING_PLUGIN_VERSION ARG OPENSEARCH_JOB_SCHEDULER_PLUGIN_VERSION ARG OPENSEARCH_ANOMALY_DETECTION_PLUGIN_VERSION @@ -33,8 +39,7 @@ ARG OPENSEARCH_SQL_PLUGIN_VERSION ARG OPENSEARCH_SYSTEM_TEMPLATES_PLUGIN_VERSION ARG OPENSEARCH_UBI_PLUGIN_VERSION ARG QUERY_INSIGHTS_PLUGIN_VERSION -ARG STACKABLE_USER_UID -ARG TARGETARCH + WORKDIR /stackable @@ -100,7 +105,7 @@ RUN <