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:
| Name | Description | Min | Max | Default |
|---|---|---|---|---|
java_heapspace | The amount of memory (in MB) allocated as heap by the JVM for OpenSearch | 256 | %50 of VM memory (check your plan details) | not set, 46% of available memory will be used |
java_maxmetaspace | The amount of memory (in MB) used by the JVM to store metadata for OpenSearch | 256 | 1024 | 512 |
Additionally there is a custom parameter available to set the used Garbage Collector:
| Name | Description | Default | Available Options |
|---|---|---|---|
java_garbage_collector | The JVM Garbage Collector to be used for OpenSearch. | UseG1GC | UseSerialGC, 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.
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-phoneticopensearch-alertingopensearch-anomaly-detectionopensearch-asynchronous-searchopensearch-cross-cluster-replicationopensearch-custom-codecsopensearch-flow-frameworkopensearch-geospatialopensearch-index-managementopensearch-job-scheduleropensearch-knnopensearch-ltropensearch-mlopensearch-neural-searchopensearch-notificationsopensearch-notifications-coreopensearch-observabilityopensearch-performance-analyzeropensearch-reports-scheduleropensearch-security-analyticsopensearch-skillsopensearch-sqlopensearch-system-templatesquery-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.
- The plugins
opensearch-security,repository-azure, andrepository-s3are always enabled and cannot be disabled. They do not need to be included in thepluginsarray. - 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.
- 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
pluginslist currently enabled in a Service Instance,cf curlcan 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.