10 python3.pkgs.buildPythonApplication rec {
11 pname = "elasticsearch-curator";
15 src = fetchFromGitHub {
18 rev = "refs/tags/v${version}";
19 hash = "sha256-nSBsLzem+eZBM0ebhW1Omh+pYYPYdly/VraM89iJe3E=";
22 pythonRelaxDeps = [ "es-client" ];
24 build-system = with python3.pkgs; [ hatchling ];
26 dependencies = with python3.pkgs; [
37 nativeCheckInputs = with python3.pkgs; [
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"
68 # Test require access network
69 "test_api_key_not_set"
74 tests.version = testers.testVersion {
75 package = elasticsearch-curator;
76 command = "${lib.getExe elasticsearch-curator} --version";
78 updateScript = nix-update-script { };
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;
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
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.
98 mainProgram = "curator";
99 maintainers = with maintainers; [ basvandijk ];