Enterprise Search - Error: key not found: "plugins" at org/jruby/RubyHash.java:1261:in `fetch'

Hi. I'm trying to get Enterprise Search to work using aws elasticsearch service. I have tried using docker with the following configuration:

docker run -p 3002:3002 --name app07134 --rm \
-e elasticsearch.host='https://search-centralhub-aws-lhmdysrxmvxbtcxrjyxidnufem.us-east-1.es.amazonaws.com/' \
-e elasticsearch.username='admin' \
-e elasticsearch.password='YwNN91sF#oyh*Z' \
-e secret_management.encryption_keys='[8fad457cedf849b168764d0b03e5c3ae34b0f0f194d96c6589754887d14e5987]' \
-e allow_es_settings_modification=true \
docker.elastic.co/enterprise-search/enterprise-search:7.13.4

I have setup an aws elasticsearch service with the endpoint, username and password as listed above (that I will delete once this problem is resolved).

I can send requests to that endpoint without a problem. However I am still strugling with enterprise search whenever my endpoint runs with an ssl certificate.

I get the following error:

docker run -p 3002:3002 --name app07134 --rm `
>> -e elasticsearch.host='https://search-centralhub-aws-lhmdysrxmvxbtcxrjyxidnufem.us-east-1.es.amazonaws.com/' `
>> -e elasticsearch.username='admin' `
>> -e elasticsearch.password='YwNN91sF#oyh*Z' `
>> -e secret_management.encryption_keys='[8fad457cedf849b168764d0b03e5c3ae34b0f0f194d96c6589754887d14e5987]' `
>> -e allow_es_settings_modification=true `
>> docker.elastic.co/enterprise-search/enterprise-search:7.13.4
Overwriting the default Enterprise Search configuration file: /usr/share/enterprise-search/config/enterprise-search.yml (if it fails, please make sure it is writeable)
Found java executable in PATH
Java version detected: 1.8.0_252 (major version: 8)
Enterprise Search is starting...
[2021-08-02T22:13:50.851+00:00][7][2002][app-server][INFO]: Enterprise Search version=7.13.4, JRuby version=9.2.13.0, Ruby version=2.5.7, Rails version=5.0.7.2
[2021-08-02T22:13:50.871+00:00][7][2002][app-server][INFO]: Performing pre-flight checks for Elasticsearch running on https://search-centralhub-aws-lhmdysrxmvxbtcxrjyxidnufem.us-east-1.es.amazonaws.com/...
[2021-08-02T22:13:52.630+00:00][7][2002][app-server][INFO]: [pre-flight] Elasticsearch cluster is ready
[2021-08-02T22:13:52.634+00:00][7][2002][app-server][INFO]: [pre-flight] Successfully connected to Elasticsearch
Unexpected exception while running Enterprise Search:
Error: key not found: "plugins" at org/jruby/RubyHash.java:1261:in `fetch'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/elasticsearch.class:179:in `block in plugins'
        org/jruby/RubyHash.java:1533:in `transform_values!'
        org/jruby/RubyHash.java:1507:in `transform_values'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/elasticsearch.class:178:in `plugins'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/elasticsearch_checks.class:61:in `check_nodes!'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/elasticsearch_checks.class:20:in `block in run!'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/tagged_logging.rb:69:in `block in tagged'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/tagged_logging.rb:26:in `tagged'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/tagged_logging.rb:69:in `tagged'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/elasticsearch_checks.class:17:in `run!'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/elasticsearch_checks.class:13:in `run!'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo.class:254:in `configure_elasticsearch!'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo.class:234:in `configure!'
        /usr/share/enterprise-search/lib/war/config/application.class:18:in `<main>'
        org/jruby/RubyKernel.java:1016:in `load'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `block in load'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `load'
        /usr/share/enterprise-search/lib/war/config/application.rb:1:in `<main>'
        org/jruby/RubyKernel.java:974:in `require'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `block in require'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency'
        /usr/share/enterprise-search/lib/war/gems/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/cli/command.class:36:in `initialize'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/cli/command.class:10:in `run_and_exit'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/cli.class:143:in `run_supported_command'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/cli.class:125:in `run_command'
        /usr/share/enterprise-search/lib/war/shared_togo/lib/shared_togo/cli.class:112:in `run!'
        bin/enterprise-search-internal:15:in `<main>'

I have seen another post with this issue here: Unable to connect enterprise search running through docker to elastic search instance running in AWS
but it was clearly unresolved. I get the same error running on linux without using docker containers.
Please help.

This can not work as the elasticsearch service you are using is not complete.

BTW did you look at Cloud by Elastic, also available if needed from AWS Marketplace, Azure Marketplace and Google Cloud Marketplace?

Cloud by elastic is one way to have access to all features, all managed by us. Think about what is there yet like Security, Monitoring, Reporting, SQL, Canvas, Maps UI, Alerting and built-in solutions named Observability, Security, Enterprise Search and what is coming next :slight_smile: ...

With cloud.elastic.co, it will be easy to deploy the full stack, including enterprise search as a service.