Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / el / elasticsearch-curator / package.nix
blob6a142aeb1ac5bec006de08926223e7cb2b39d45a
2   lib,
3   elasticsearch-curator,
4   fetchFromGitHub,
5   nix-update-script,
6   python3,
7   testers,
8 }:
10 python3.pkgs.buildPythonApplication rec {
11   pname = "elasticsearch-curator";
12   version = "8.0.15";
13   format = "pyproject";
15   src = fetchFromGitHub {
16     owner = "elastic";
17     repo = "curator";
18     rev = "refs/tags/v${version}";
19     hash = "sha256-pW928jT9oL76RJuJgH7nhCvgWPzXixzqBKVYsaJy9xw=";
20   };
22   build-system = with python3.pkgs; [ hatchling ];
24   dependencies = with python3.pkgs; [
25     certifi
26     click
27     ecs-logging
28     elasticsearch8
29     es-client
30     pyyaml
31     six
32     voluptuous
33   ];
35   nativeCheckInputs = with python3.pkgs; [
36     requests
37     pytestCheckHook
38   ];
40   disabledTestPaths = [
41     # Test requires running elasticsearch
42     "tests/integration/test_alias.py"
43     "tests/integration/test_allocation.py"
44     "tests/integration/test_cli.py"
45     "tests/integration/test_close.py"
46     "tests/integration/test_clusterrouting.py"
47     "tests/integration/test_count_pattern.py"
48     "tests/integration/test_create_index.py"
49     "tests/integration/test_datemath.py"
50     "tests/integration/test_delete_indices.py"
51     "tests/integration/test_delete_snapshots.py"
52     "tests/integration/test_delete_snapshots.py"
53     "tests/integration/test_es_repo_mgr.py"
54     "tests/integration/test_forcemerge.py"
55     "tests/integration/test_integrations.py"
56     "tests/integration/test_open.py"
57     "tests/integration/test_reindex.py"
58     "tests/integration/test_replicas.py"
59     "tests/integration/test_restore.py"
60     "tests/integration/test_rollover.py"
61     "tests/integration/test_shrink.py"
62     "tests/integration/test_snapshot.py"
63   ];
65   disabledTests = [
66     # Test require access network
67     "test_api_key_not_set"
68     "test_api_key_set"
69   ];
71   passthru = {
72     tests.version = testers.testVersion {
73       package = elasticsearch-curator;
74       command = "${lib.getExe elasticsearch-curator} --version";
75     };
76     updateScript = nix-update-script { };
77   };
79   meta = with lib; {
80     description = "Curate, or manage, your Elasticsearch indices and snapshots";
81     homepage = "https://github.com/elastic/curator";
82     changelog = "https://github.com/elastic/curator/releases/tag/v${version}";
83     license = licenses.asl20;
84     longDescription = ''
85       Elasticsearch Curator helps you curate, or manage, your Elasticsearch
86       indices and snapshots by:
88       * Obtaining the full list of indices (or snapshots) from the cluster, as the
89         actionable list
91       * Iterate through a list of user-defined filters to progressively remove
92         indices (or snapshots) from this actionable list as needed.
94       * Perform various actions on the items which remain in the actionable list.
95     '';
96     mainProgram = "curator";
97     maintainers = with maintainers; [ basvandijk ];
98   };