nixpkgs/pkgs/tools/admin/elasticsearch-curator/default.nix
2020-05-28 14:57:13 -07:00

83 lines
2 KiB
Nix

{ lib, fetchFromGitHub, python }:
let
py = python.override {
packageOverrides = self: super: {
click = super.click.overridePythonAttrs (oldAttrs: rec {
version = "6.7";
src = oldAttrs.src.override {
inherit version;
sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
};
doCheck = false;
postPatch = "";
});
};
};
in
with py.pkgs;
buildPythonApplication rec {
pname = "elasticsearch-curator";
version = "5.8.1";
src = fetchFromGitHub {
owner = "elastic";
repo = "curator";
rev = "v${version}";
sha256 = "1shr9jslirjnbvma3p19djsnamxl7f3m9c8zrlclk57zv8rnwpkr";
};
# The test hangs so we disable it.
doCheck = false;
propagatedBuildInputs = [
click
certifi
requests-aws4auth
pyopenssl
voluptuous
pyyaml
elasticsearch
boto3
];
checkInputs = [
nosexcover
coverage
nose
mock
funcsigs
];
postPatch = ''
sed -i s/pyyaml==3.13/pyyaml/g setup.cfg setup.py
sed -i s/pyyaml==3.12/pyyaml/g setup.cfg setup.py
substituteInPlace setup.py \
--replace "urllib3>=1.24.2,<1.25" "urllib3"
substituteInPlace setup.cfg \
--replace "urllib3>=1.24.2,<1.25" "urllib3"
'';
meta = with lib; {
homepage = "https://github.com/elastic/curator";
description = "Curate, or manage, your Elasticsearch indices and snapshots";
license = licenses.asl20;
longDescription = ''
Elasticsearch Curator helps you curate, or manage, your Elasticsearch
indices and snapshots by:
* Obtaining the full list of indices (or snapshots) from the cluster, as the
actionable list
* Iterate through a list of user-defined filters to progressively remove
indices (or snapshots) from this actionable list as needed.
* Perform various actions on the items which remain in the actionable list.
'';
maintainers = with maintainers; [ basvandijk ];
# https://github.com/elastic/curator/pull/1280
#broken = versionAtLeast click.version "7.0";
};
}