base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / el / elasticsearch-curator / package.nix
blobcb91f3edfb6f0c78a5278b0a0f29c2fe361deb70
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.16";
13   pyproject = true;
15   src = fetchFromGitHub {
16     owner = "elastic";
17     repo = "curator";
18     rev = "refs/tags/v${version}";
19     hash = "sha256-nSBsLzem+eZBM0ebhW1Omh+pYYPYdly/VraM89iJe3E=";
20   };
22   pythonRelaxDeps = [ "es-client" ];
24   build-system = with python3.pkgs; [ hatchling ];
26   dependencies = with python3.pkgs; [
27     certifi
28     click
29     ecs-logging
30     elasticsearch8
31     es-client
32     pyyaml
33     six
34     voluptuous
35   ];
37   nativeCheckInputs = with python3.pkgs; [
38     requests
39     pytestCheckHook
40   ];
42   disabledTestPaths = [
43     # Test requires running elasticsearch
44     "tests/integration/test_alias.py"
45     "tests/integration/test_allocation.py"
46     "tests/integration/test_cli.py"
47     "tests/integration/test_close.py"
48     "tests/integration/test_clusterrouting.py"
49     "tests/integration/test_count_pattern.py"
50     "tests/integration/test_create_index.py"
51     "tests/integration/test_datemath.py"
52     "tests/integration/test_delete_indices.py"
53     "tests/integration/test_delete_snapshots.py"
54     "tests/integration/test_delete_snapshots.py"
55     "tests/integration/test_es_repo_mgr.py"
56     "tests/integration/test_forcemerge.py"
57     "tests/integration/test_integrations.py"
58     "tests/integration/test_open.py"
59     "tests/integration/test_reindex.py"
60     "tests/integration/test_replicas.py"
61     "tests/integration/test_restore.py"
62     "tests/integration/test_rollover.py"
63     "tests/integration/test_shrink.py"
64     "tests/integration/test_snapshot.py"
65   ];
67   disabledTests = [
68     # Test require access network
69     "test_api_key_not_set"
70     "test_api_key_set"
71   ];
73   passthru = {
74     tests.version = testers.testVersion {
75       package = elasticsearch-curator;
76       command = "${lib.getExe elasticsearch-curator} --version";
77     };
78     updateScript = nix-update-script { };
79   };
81   meta = with lib; {
82     description = "Curate, or manage, your Elasticsearch indices and snapshots";
83     homepage = "https://github.com/elastic/curator";
84     changelog = "https://github.com/elastic/curator/releases/tag/v${version}";
85     license = licenses.asl20;
86     longDescription = ''
87       Elasticsearch Curator helps you curate, or manage, your Elasticsearch
88       indices and snapshots by:
90       * Obtaining the full list of indices (or snapshots) from the cluster, as the
91         actionable list
93       * Iterate through a list of user-defined filters to progressively remove
94         indices (or snapshots) from this actionable list as needed.
96       * Perform various actions on the items which remain in the actionable list.
97     '';
98     mainProgram = "curator";
99     maintainers = with maintainers; [ basvandijk ];
100   };