about summary refs log tree commit diff
path: root/pkgs/servers/search/elasticsearch/plugins.nix
blob: 32b065364a6a6dad1f79177529ccc3c6170c57ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{ pkgs,  stdenv, fetchurl, fetchFromGitHub, 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_analisys_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 = "1.5.7";
    src = fetchurl {
      url = "https://github.com/lmenezes/elasticsearch-kopf/archive/v${version}.zip";
      sha256 = "0mq6jmjb4ldi03m431kzr7ly0bf7mdim7s5dx4wplb85gyhscns1";
    };
    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;
    };
  };
}