diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix b/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix new file mode 100644 index 000000000000..4451b0104464 --- /dev/null +++ b/nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix @@ -0,0 +1,68 @@ +{ pkgs, stdenv, fetchurl, unzip, elasticsearch-oss, javaPackages, elk6Version }: + +let + esPlugin = a@{ + pluginName, + installPhase ? '' + mkdir -p $out/config + mkdir -p $out/plugins + ES_HOME=$out ${elasticsearch-oss}/bin/elasticsearch-plugin install --batch -v file://$src + '', + ... + }: + stdenv.mkDerivation (a // { + inherit installPhase; + unpackPhase = "true"; + buildInputs = [ unzip ]; + meta = a.meta // { + platforms = elasticsearch-oss.meta.platforms; + maintainers = (a.meta.maintainers or []) ++ (with stdenv.lib.maintainers; [ offline ]); + }; + }); +in { + + elasticsearch_analysis_lemmagen = esPlugin rec { + name = "elasticsearch-analysis-lemmagen-${version}"; + pluginName = "elasticsearch-analysis-lemmagen"; + version = "${elk6Version}"; + src = fetchurl { + url = "https://github.com/vhyza/elasticsearch-analysis-lemmagen/releases/download/v${version}/${name}-plugin.zip"; + sha256 = "0299ldqwjn1gn44yyjiqjrxvs6mlclhzl1dbn6xlgg1a2lkaal4v"; + }; + meta = with stdenv.lib; { + homepage = https://github.com/vhyza/elasticsearch-analysis-lemmagen; + description = "LemmaGen Analysis plugin provides jLemmaGen lemmatizer as Elasticsearch token filter"; + license = licenses.asl20; + }; + }; + + discovery-ec2 = esPlugin rec { + name = "elasticsearch-discovery-ec2-${version}"; + pluginName = "discovery-ec2"; + version = "${elk6Version}"; + src = pkgs.fetchurl { + url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/discovery-ec2/discovery-ec2-${elk6Version}.zip"; + sha256 = "1mg9knbc4r21kaiqnmkd8nzf2i23w5zxqnxyz484q0l2jf4hlkq1"; + }; + meta = with stdenv.lib; { + homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/discovery-ec2; + description = "The EC2 discovery plugin uses the AWS API for unicast discovery."; + license = licenses.asl20; + }; + }; + + search_guard = esPlugin rec { + name = "elastic-search-guard-${version}"; + pluginName = "search-guard"; + version = "${elk6Version}-23.2"; + src = fetchurl rec { + url = "mirror://maven/com/floragunn/search-guard-6/${version}/search-guard-6-${version}.zip"; + sha256 = "05310wyxzhylxr0dfgzr10pb0pak30ry8r97g49n6iqj8dw3csnb"; + }; + meta = with stdenv.lib; { + homepage = https://github.com/floragunncom/search-guard; + description = "Plugin to fetch data from JDBC sources for indexing into Elasticsearch"; + license = licenses.asl20; + }; + }; +} |