Skip to content

Install selected OpenSearch plugins on start-up #59

Description

@siegfriedweber

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions