[[about]]
= About

[partintro]
--

Elasticsearch Curator helps you curate, or manage, your Elasticsearch indices
and snapshots by:

1. Obtaining the full list of indices (or snapshots) from the cluster, as the
_actionable list_
2. Iterate through a list of user-defined <<filters,filters>> to progressively
remove indices (or snapshots) from this _actionable list_ as needed.
3. Perform various <<actions,actions>> on the items which remain in the
_actionable list._

--

== Origin

Curator was first called
https://logstash.jira.com/browse/LOGSTASH-211[`clearESindices.py`].  Its sole
function was to delete indices. It was almost immediately renamed to
https://logstash.jira.com/browse/LOGSTASH-211[`logstash_index_cleaner.py`].
After a time it was briefly relocated under the
https://github.com/elastic/logstash[logstash] repository as
`expire_logs`, at which point it began to gain new functionality.  Soon
thereafter, Jordan Sissel was hired by Elastic (then still Elasticsearch), as
was the original author of Curator.  Not long after that it became Elasticsearch
Curator and is now hosted at https://github.com/elastic/curator

Curator now performs many operations on your Elasticsearch indices, from delete
to snapshot to shard allocation routing.

== Features

Curator allows for many different operations to be performed to both indices and
snapshots, including:

* Add or remove indices (or both!) from an <<alias,alias>>
* Change shard routing <<allocation,allocation>>
* <<close,Close>> indices
* <<delete_indices,Delete indices>>
* <<delete_snapshots,Delete snapshots>>
* <<open,Open>> closed indices
* <<forcemerge,forceMerge>> indices
* Change the number of <<replicas,replicas>> per shard for indices
* Take a <<snapshot,snapshot>> (backup) of indices.

[[about-cli]]
== Command-Line Interface (CLI)

Curator has always been a command-line tool. When Curator 2.0 was released, it
was the first attempt to separate the <<about-api,API>> from the CLI.

This site provides the documentation for how to use Curator on the command-line.

TIP: Learn more about <<command-line,the command-line interface>>.

[[about-api]]
== Application Program Interface (API)

Since version 2.0, Curator ships with both an API and wrapper scripts (which are
actually defined as entry points).  The API, or Application Program Interface,
allows you to write your own scripts to accomplish similar goals--or even new
and different things--with the same code that Curator uses.

The API documentation is not on this site, but is available at
http://curator.readthedocs.io/.  The Curator API is built using the
http://www.elastic.co/guide/en/elasticsearch/client/python-api/current/index.html[Elasticsearch
Python API].

[[license]]
== License

Copyright (c) 2011–2016 Elasticsearch <http://elastic.co>

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


[[site-corrections]]
== Site Corrections

All documentation on this site allows for quick correction submission.

To do this, use the "Edit" link to the right on any page.

* You will need to log in with your GitHub account.
* Make your corrections or additions to the documentation.
* Please use the option to "Create a new branch for this commit and start a pull
request."
* Please make sure you have signed our
http://www.elastic.co/contributor-agreement/[Contributor License Agreement]. We
are not asking you to assign copyright to us, but to give us the right to
distribute your code (even documentation corrections) without restriction. We
ask this of all contributors in order to assure our users of the origin and
continuing existence of the code. You only need to sign the CLA once. If you are
uncomfortable with this, feel free to submit a
https://github.com/elastic/curator/issues[GitHub Issue] with your suggested
correction instead.
* Changes will be reviewed and merged, if acceptable.

== Contributing

We welcome contributions and bug fixes to Curator's API and CLI.

We are grateful for the many
https://github.com/elastic/curator/blob/master/CONTRIBUTORS[contributors] who
have helped Curator become what it is today.

Please read through our
https://github.com/elastic/curator/blob/master/CONTRIBUTING.md[contribution]
guide, and the Curator
https://github.com/elastic/curator/blob/master/README.md[readme] document.

A brief overview of the steps

* fork the repo
* make changes in your fork
* add tests to cover your changes (if necessary)
* run tests
* sign the http://elastic.co/contributor-agreement/[CLA]
* send a pull request!

TIP: To submit documentation fixes for this site, see
<<site-corrections,Site Corrections>>
