OpenSearch/plugins
Jim Ferenczi 36729d1c46
Add the ability to bundle multiple plugins into a meta plugin (#28022)
This commit adds the ability to package multiple plugins in a single zip.
The zip file for a meta plugin must contains the following structure:

|____elasticsearch/
| |____   <plugin1> <-- The plugin files for plugin1 (the content of the elastisearch directory)
| |____   <plugin2>  <-- The plugin files for plugin2
| |____   meta-plugin-descriptor.properties <-- example contents below
The meta plugin properties descriptor is mandatory and must contain the following properties:

description: simple summary of the meta plugin.
name: the meta plugin name
The installation process installs each plugin in a sub-folder inside the meta plugin directory.
The example above would create the following structure in the plugins directory:

|_____ plugins
| |____   <name_of_the_meta_plugin>
| | |____   meta-plugin-descriptor.properties
| | |____   <plugin1>
| | |____   <plugin2>
If the sub plugins contain a config or a bin directory, they are copied in a sub folder inside the meta plugin config/bin directory.

|_____ config
| |____   <name_of_the_meta_plugin>
| | |____   <plugin1>
| | |____   <plugin2>

|_____ bin
| |____   <name_of_the_meta_plugin>
| | |____   <plugin1>
| | |____   <plugin2>
The sub-plugins are loaded at startup like normal plugins with the same restrictions; they have a separate class loader and a sub-plugin
cannot have the same name than another plugin (or a sub-plugin inside another meta plugin).

It is also not possible to remove a sub-plugin inside a meta plugin, only full removal of the meta plugin is allowed.

Closes #27316
2018-01-09 18:28:43 +01:00
..
analysis-icu Upgrade to Lucene 7.2.0. (#27910) 2017-12-20 14:17:40 +01:00
analysis-kuromoji Upgrade to Lucene 7.2.0. (#27910) 2017-12-20 14:17:40 +01:00
analysis-phonetic Upgrade to Lucene 7.2.0. (#27910) 2017-12-20 14:17:40 +01:00
analysis-smartcn Upgrade to Lucene 7.2.0. (#27910) 2017-12-20 14:17:40 +01:00
analysis-stempel Upgrade to Lucene 7.2.0. (#27910) 2017-12-20 14:17:40 +01:00
analysis-ukrainian Upgrade to Lucene 7.2.0. (#27910) 2017-12-20 14:17:40 +01:00
discovery-azure-classic [Test] Do not rely on MockZenPing for Azure tests (#27945) 2017-12-22 09:58:02 +01:00
discovery-ec2 Disable TestZenDiscovery in cloud providers integrations test 2017-12-20 14:02:55 +01:00
discovery-file Remove some unused code (#27792) 2017-12-13 16:45:55 +01:00
discovery-gce Disable TestZenDiscovery in cloud providers integrations test 2017-12-20 14:02:55 +01:00
examples Add the ability to bundle multiple plugins into a meta plugin (#28022) 2018-01-09 18:28:43 +01:00
ingest-attachment update ingest-attachment to use Tika 1.17 and newer deps (#27824) 2017-12-15 13:47:26 -08:00
ingest-geoip test: do not use asn fields 2018-01-07 23:21:01 +01:00
ingest-user-agent update ingest-user-agent regexes.yml (#25608) 2017-07-10 08:43:11 -07:00
jvm-example Remove path.conf setting 2017-06-26 15:18:29 -04:00
mapper-murmur3 Add support for filtering mappings fields (#27603) 2017-12-05 20:31:29 +01:00
mapper-size Unify the result interfaces from get and search in Java client (#25361) 2017-06-29 11:35:28 +02:00
repository-azure Allow affix settings to specify dependencies (#27161) 2017-11-13 12:06:36 +01:00
repository-gcs Update Google SDK to version 1.23 (#27381) 2017-11-15 15:30:27 +01:00
repository-hdfs Fix SecurityException when HDFS Repository used against HA Namenodes (#27196) 2017-12-01 14:26:05 -05:00
repository-s3 TEST: reduce blob size #testExecuteMultipartUpload 2017-12-20 12:43:05 -05:00
store-smb Validate top-level keys for create index request (#23755) (#23869) 2017-09-26 09:49:20 -07:00
transport-nio Cleanup TcpChannelFactory and remove classes (#28102) 2018-01-08 10:18:19 -07:00
build.gradle Plugins: Include license and notice files in zip (#23191) 2017-02-15 11:23:12 -08:00