nixpkgs/pkgs/servers/search/elasticsearch/plugins.nix

124 lines
4.2 KiB
Nix

{ pkgs, stdenv, fetchurl, unzip, elasticsearch }:
with pkgs.lib;
let
esPlugin = a@{
pluginName,
installPhase ? ''
mkdir -p $out/bin
ES_HOME=$out ${elasticsearch}/bin/elasticsearch-plugin --install ${pluginName} --url file://$src
'',
...
}:
stdenv.mkDerivation (a // {
inherit installPhase;
unpackPhase = "true";
buildInputs = [ unzip ];
meta = a.meta // {
platforms = elasticsearch.meta.platforms;
maintainers = (a.meta.maintainers or []) ++ [ maintainers.offline ];
};
});
in {
elasticsearch_river_jdbc = esPlugin rec {
name = "elasticsearch-river-jdbc-${version}";
pluginName = "elasticsearch-river-jdbc";
version = "1.5.0.5";
src = fetchurl {
url = "http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/${version}/${name}-plugin.zip";
sha256 = "1p75l3vcnb90ar4j3dci2xf8dqnqyy31kc1r075fa2xqlsxgigcp";
};
meta = {
homepage = https://github.com/jprante/elasticsearch-river-jdbc;
description = "Plugin to fetch data from JDBC sources for indexing into Elasticsearch";
license = licenses.asl20;
};
};
elasticsearch_analysis_lemmagen = esPlugin rec {
name = "elasticsearch-analysis-lemmagen-${version}";
pluginName = "elasticsearch-analysis-lemmagen";
version = "0.1";
src = fetchurl {
url = "https://github.com/vhyza/elasticsearch-analysis-lemmagen/releases/download/v${version}/${name}-plugin.zip";
sha256 = "bf7bf5ce3ccdd3afecd0e18cd6fce1ef56f824e41f4ef50553ae598caa5c366d";
};
meta = {
homepage = https://github.com/vhyza/elasticsearch-analysis-lemmagen;
description = "LemmaGen Analysis plugin provides jLemmaGen lemmatizer as Elasticsearch token filter";
license = licenses.asl20;
};
};
elasticsearch_http_basic = stdenv.mkDerivation rec {
name = "elasticsearch-http-basic-${version}";
version = "1.5.0";
src = fetchurl {
url = "https://github.com/Asquera/elasticsearch-http-basic/releases/download/v${version}/${name}.jar";
sha256 = "0fif6sbn2ich39lrgm039y9d5bxkylx9pvly04wss8rdhspvdskb";
};
phases = ["installPhase"];
installPhase = "install -D $src $out/plugins/http-basic/${name}.jar";
meta = {
homepage = https://github.com/Asquera/elasticsearch-http-basic;
description = "HTTP Basic Authentication for Elasticsearch";
license = licenses.mit;
platforms = elasticsearch.meta.platforms;
};
};
elasticsearch_river_twitter = esPlugin rec {
name = pname + "-" + version;
pname = "elasticsearch-river-twitter";
pluginName = "elasticsearch/" + pname + "/" + version;
version = "2.5.0";
src = fetchurl {
url = "http://download.elasticsearch.org/elasticsearch/${pname}/${name}.zip";
sha256 = "0851yrmyrpp6whyxk34ykcj7b28f90w0nvkrhvl49dwqgr5s4mn4";
};
meta = {
homepage = https://github.com/elasticsearch/elasticsearch-river-twitter;
description = "Twitter River Plugin for ElasticSearch";
license = licenses.asl20;
maintainers = [ maintainers.edwtjo ];
platforms = elasticsearch.meta.platforms;
};
};
elasticsearch_kopf = esPlugin rec {
name = "elasticsearch-kopf-${version}";
pluginName = "elasticsearch-kopf";
version = "2.1.1";
src = fetchurl {
url = "https://github.com/lmenezes/elasticsearch-kopf/archive/v${version}.zip";
sha256 = "1nwwd92g0jxhfpkxb1a9z5a62naa1y7hvlx400dm6mwwav3mrf4v";
};
meta = {
homepage = https://github.com/lmenezes/elasticsearch-kopf;
description = "Web administration tool for ElasticSearch";
license = licenses.mit;
};
};
search_guard = esPlugin rec {
name = "elastic-search-guard-${version}";
pluginName = "search-guard";
version = "0.5";
src = fetchurl {
url = "https://github.com/floragunncom/search-guard/releases/download/v${version}/${pluginName}-${version}.zip";
sha256 = "1zima4jmq1rrcqxhlrp2xian80vp244d2splby015n5cgqrp39fl";
};
meta = {
homepage = https://github.com/floragunncom/search-guard;
description = "Plugin to fetch data from JDBC sources for indexing into Elasticsearch";
license = licenses.asl20;
};
};
}