1{ stdenv
2, buildPythonPackage
3, fetchPypi
4, click
5, certifi
6, voluptuous
7, pyyaml
8, elasticsearch
9, nosexcover
10, coverage
11, nose
12, mock
13, funcsigs
14} :
15
16buildPythonPackage rec {
17 pname = "elasticsearch-curator";
18 version = "5.4.1";
19
20 src = fetchPypi {
21 inherit pname version;
22 sha256 = "1bhiqa61h6bbrfp0aygwwchr785x281hnwk8qgnjhb8g4r8ppr3s";
23 };
24
25 # The integration tests require a running elasticsearch cluster.
26 postUnpackPhase = ''
27 rm -r test/integration
28 '';
29
30 propagatedBuildInputs = [
31 click
32 certifi
33 voluptuous
34 pyyaml
35 elasticsearch
36 ];
37
38 checkInputs = [
39 nosexcover
40 coverage
41 nose
42 mock
43 funcsigs
44 ];
45
46 meta = with stdenv.lib; {
47 homepage = https://github.com/elastic/curator;
48 description = "Curate, or manage, your Elasticsearch indices and snapshots";
49 license = licenses.asl20;
50 longDescription = ''
51 Elasticsearch Curator helps you curate, or manage, your Elasticsearch
52 indices and snapshots by:
53
54 * Obtaining the full list of indices (or snapshots) from the cluster, as the
55 actionable list
56
57 * Iterate through a list of user-defined filters to progressively remove
58 indices (or snapshots) from this actionable list as needed.
59
60 * Perform various actions on the items which remain in the actionable list.
61 '';
62 maintainers = with maintainers; [ basvandijk ];
63 };
64}