Skip to main content
Version: 75.0.0

Custom Parameters

As mentioned in Getting Started - Custom Parameters as an end user, an Application Developer has the opportunity to customize their Service Instance by using custom parameters.

Tuning

As usage of an a9s Search instance grows you may need to tune the OpenSearch to meet demand.

The following custom parameters are available for tuning the used memory:

NameDescriptionMinMaxDefault
java_heapspaceThe amount of memory (in MB) allocated as heap by the JVM for OpenSearch256%50 of VM memory (check your plan details)not set, 46% of available memory will be used
java_maxmetaspaceThe amount of memory (in MB) used by the JVM to store metadata for OpenSearch2561024512

Additionally there is a custom parameter available to set the used Garbage Collector:

NameDescriptionDefaultAvailable Options
java_garbage_collectorThe JVM Garbage Collector to be used for OpenSearch.UseG1GCUseSerialGC, UseParallelGC, UseParallelOldGC, UseG1GC

TLS

tls-protocols

You can specify the allowed TLS protocols via the custom parameter tls-protocols. The custom parameter tls-protocols correlates with OpenSearch's configuration parameters plugins.security.ssl.http.enabled_protocols and plugins.security.ssl.transport.enabled_protocols, see Limiting TLS Protocols Used by the Server.

An array with protocol versions is expected. Only Java format is supported. The allowed protocol version values are TLSv1.3 and TLSv1.2.

tls-ciphers

You can limit the TLS ciphers via the custom parameter tls-ciphers. The custom parameter tls-ciphers correlates with OpenSearch's configuration parameters plugins.security.ssl.http.enabled_ciphers and plugins.security.ssl.transport.enabled_ciphers, see Configuring Cipher Suites.

An array with cipher names is expected. Only Java format is supported.

WARNING: There is no validation enabled for the user provided value and therefore existing instances can break when applying this parameter.

Enable Custom Plugins

Using the plugins custom parameter, a list of plugins can be provided that will be enabled on the a9s Search Service, as long as they are in the list of allowed plugins. This list can include any of the supported plugins in a9s Search.

Use the cf create-service or cf update-service commands with the -c flag to configure plugins.

caution

The plugins custom parameter expects a list of all the plugins intended to be installed every time it is being set. Any plugin that is not present in the list will be disabled.

To enable the analysis-phonetic plugin, run:

cf update-service my-search-service -c '{"plugins": ["analysis-phonetic"]}'

To disable all plugins, run:

cf update-service my-search-service -c '{"plugins": []}'

To reset the plugins to the default value set by the Platform Operator, run:

cf update-service my-search-service -c '{"plugins": null}'

Supported Plugins

The following OpenSearch plugins are supported in a9s Search. However, a plugin can only be enabled if it is also present in the list of allowed plugins configured by the Platform Operator.

  • analysis-phonetic
  • 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-ltr
  • opensearch-ml
  • opensearch-neural-search
  • opensearch-notifications
  • opensearch-notifications-core
  • opensearch-observability
  • opensearch-performance-analyzer
  • opensearch-reports-scheduler
  • opensearch-security-analytics
  • opensearch-skills
  • opensearch-sql
  • opensearch-system-templates
  • query-insights

For more information about OpenSearch plugins, refer to the OpenSearch Plugins Documentation.

Allowed Plugins

The Platform Operator maintains a list of allowed plugins. This is a curated set of plugins that have been approved for use in the environment. Only plugins that are part of this allowed list can be enabled. By default, only analysis-phonetic is allowed.

If additional plugins are needed, the Platform Operator should be contacted to have them added to the allowed plugins configuration.

Important Notes
  • The plugins opensearch-security, repository-azure, and repository-s3 are always enabled and cannot be disabled. They do not need to be included in the plugins array.
  • Some plugins have dependencies on other plugins in the given list. Please refer to the official documentation of the plugin of interest before attempting to enable it. Otherwise, enabling a plugin without its dependencies could cause errors.
  • The allowed plugins validation does not check for plugin dependencies. It is the Platform Operator's responsibility to ensure that all required dependencies of a plugin are also included in the allowed plugins list before adding it. Failure to do so may cause Service Instance failures when an Application Developer enables the plugin.
How to Find Allowed and Enabled Plugins
  • The plan description can be checked for the list of allowed plugins and default values.
  • Upon a failed enabling of a plugin (e.g. due to the plugin not being allowed), an error message will be shown which includes the full list of allowed plugins.
  • To retrieve the plugins list currently enabled in a Service Instance, cf curl can be used on the Service Instance endpoint. See Get parameters for a managed service instance. An empty list means that the value has not been set and that the default value is being used.