Users often need some but not all OpenSearch plugins. It would be optimal if users can choose the desired plugins in the OpenSearchCluster specification, e.g.
---
apiVersion: opensearch.stackable.tech/v1alpha1
kind: OpenSearchCluster
spec:
clusterConfig:
plugins:
- opensearch-alerting
- opensearch-anomaly-detection
- opensearch-asynchronous-search
- opensearch-cross-cluster-replication
- opensearch-custom-codecs
- opensearch-flow-framework
- opensearch-geospatial
- opensearch-index-management
- opensearch-job-scheduler
- opensearch-knn
- opensearch-ml
- opensearch-neural-search
- opensearch-notifications
- opensearch-notifications-core
- opensearch-observability
- opensearch-performance-analyzer
- opensearch-reports-scheduler
- opensearch-search-relevance
- opensearch-security
- opensearch-security-analytics
- opensearch-skills
- opensearch-sql
- opensearch-system-templates
- opensearch-ubi
- prometheus-exporter
- query-insights
- repository-s3
- telemetry-otel
Dependent plugins should be installed automatically, e.g. if the plugin opensearch-index-management is set then the required plugin opensearch-job-scheduler should also be installed.
The installation must not require a connection to the internet. The core plugins and some additional plugins could be already added (but not installed) to the Stackable OpenSearch image, see https://docs.opensearch.org/3.1/install-and-configure/plugins/#downloading-bundled-plugins-for-offline-installation.
Custom plugins could be supported by setting a URL or a path to a mounted volume.
Some plugins can be disabled after installation, others cannot. Therefore, it is not a good solution to just install all plugins in the Dockerfile.
Workaround
A custom image based on the Stackable OpenSearch image must be created where desired plugins can be installed and undesired ones removed.
Users often need some but not all OpenSearch plugins. It would be optimal if users can choose the desired plugins in the OpenSearchCluster specification, e.g.
Dependent plugins should be installed automatically, e.g. if the plugin
opensearch-index-managementis set then the required pluginopensearch-job-schedulershould also be installed.The installation must not require a connection to the internet. The core plugins and some additional plugins could be already added (but not installed) to the Stackable OpenSearch image, see https://docs.opensearch.org/3.1/install-and-configure/plugins/#downloading-bundled-plugins-for-offline-installation.
Custom plugins could be supported by setting a URL or a path to a mounted volume.
Some plugins can be disabled after installation, others cannot. Therefore, it is not a good solution to just install all plugins in the Dockerfile.
Workaround
A custom image based on the Stackable OpenSearch image must be created where desired plugins can be installed and undesired ones removed.