1.. _readme:
2
3
4Curator
5=======
6
7Have indices in Elasticsearch? This is the tool for you!
8
9Like a museum curator manages the exhibits and collections on display,
10Elasticsearch Curator helps you curate, or manage your indices.
11
12
13`Curator API Documentation`_
14----------------------------
15
16Curator ships with both an API and a wrapper script (which is actually defined
17as an entry point).  The API allows you to write your own scripts to accomplish
18similar goals, or even new and different things with the `Curator API`_, and
19the `Elasticsearch Python API`_.
20
21.. _Curator API: http://curator.readthedocs.io/
22
23.. _Curator API Documentation: `Curator API`_
24
25.. _Elasticsearch Python API: http://elasticsearch-py.readthedocs.io/
26
27
28`Curator CLI Documentation`_
29----------------------------
30
31The `Curator CLI Documentation`_ is now a part of the document repository at
32http://elastic.co/guide at http://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html
33
34.. _Curator CLI Documentation: http://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html
35
36`Getting Started`_
37------------------
38
39.. _Getting Started: https://www.elastic.co/guide/en/elasticsearch/client/curator/current/about.html
40
41See the `Installation guide <https://www.elastic.co/guide/en/elasticsearch/client/curator/current/installation.html>`_
42and the `command-line usage guide <https://www.elastic.co/guide/en/elasticsearch/client/curator/current/command-line.html>`_
43
44Running ``curator --help`` will also show usage information.
45
46Contributing
47------------
48
49* fork the repo
50* make changes in your fork
51* add tests to cover your changes (if necessary)
52* run tests
53* sign the `CLA <http://elastic.co/contributor-agreement/>`_
54* send a pull request!
55
56To run from source, use the ``run_curator.py`` script in the root directory of
57the project.
58
59Running Tests
60-------------
61
62To run the test suite just run ``python setup.py test``
63
64When changing code, contributing new code or fixing a bug please make sure you
65include tests in your PR (or mark it as without tests so that someone else can
66pick it up to add the tests). When fixing a bug please make sure the test
67actually tests the bug - it should fail without the code changes and pass after
68they're applied (it can still be one commit of course).
69
70The tests will try to connect to your local elasticsearch instance and run
71integration tests against it. This will delete all the data stored there! You
72can use the env variable ``TEST_ES_SERVER`` to point to a different instance
73(for example, 'otherhost:9203').
74
75
76Origins
77-------
78
79Curator was first called ``clearESindices.py`` [1] and was almost immediately
80renamed to ``logstash_index_cleaner.py`` [1].  After a time it was migrated
81under the [logstash](https://github.com/elastic/logstash) repository as
82``expire_logs``.  Soon thereafter, Jordan Sissel was hired by Elasticsearch, as
83was the original author of this tool.  It became Elasticsearch Curator after
84that and is now hosted at <https://github.com/elastic/curator>
85
86[1] <https://logstash.jira.com/browse/LOGSTASH-211>
87