Script Langs - Which are enabled by default?

Hi All,

ES 2.x - None?
ES 5.x - Painless?

What is the best way to tell which scripting languages are enabled?

Many thanks,

jdmac

Hey,

how about

https://www.elastic.co/guide/en/elasticsearch/reference/5.2/modules-scripting.html
https://www.elastic.co/guide/en/elasticsearch/reference/2.4/modules-scripting.html

--Alex

@spinscale Already read through those, they simply say what languages are available in total.

But say you have a live cluster and quickly want to know what is enabled... How would you best tell?

The best I get from that documentation, in summary, is:

  • Groovy replaced by Painless in 5.x.
  • Groovy disabled by default from 1.4.3.

What about mustache, expression?

You can use the GET _nodes/plugins endpoint to check which plugins are installed. mustache is always installed in 2.4, thus it is not mentioned.

In 5.x all lang plugins are returned as modules from the above API endpoint.

1 Like

Thanks again for the reply.

I had a further look at that API, I had checked _nodes/ and saw the plugins previously but paid less attention to it than I am doing on the back of your response.

I feel like the _nodes/plugins API isn't giving me the specific information I'm looking for, however it does achieve the fact of seeing what 'lang' modules are there. [Thank you]

Further to this information, I'm still trying to figure out how I'd have confidence of what capabilities of these modules are presented via the API.

i.e. "Groovy" is deemed unsafe enough to have disabled it by default from v1.4.3 because it wasn't sandboxed and could be used maliciously. I believe what I'm trying to make sure, is that nothing else by default in 2.x or 5.x could be used in malicious intent.
This is why I want a quick method of seeing "Oh, lang XXXX is available for API inline calls... I don't think I actually want that to be".

Hope this makes more sense.

Thanks,

jdmac

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.