Skip to main content

Useful commands for Elasticsearch

Project description

elastic-companion
=================

A command-line tool and API for various Elasticsearch operations.

.. image:: https://travis-ci.org/getconversio/elastic-companion.svg?branch=master
:target: https://travis-ci.org/getconversio/elastic-companion

Install
-------

pip install elastic-companion

**Note**: The 1.X versions of elastic-companion support Elasticsearch 1.X and
the 5.X versions support Elasticsearch 5.X. This is similar to the versioning
of the official library

Commands
--------

To see the list of commands, use the ``-h`` or ``--help`` flag.

Each command has a corresponding Python module that can be imported and used as
an API rather than from the command-line.

### `setup`

The `setup` command will load all indexes, mappings, templates and scripts from the data directory, and send them to ES.

#### `/scripts`

The scripts folder should have `.json` files which act as script descriptors. Each file should have the content:

```json
{
"id": "SCRIPT_ID",
"lang": "SCRIPT_LANG",
"body": "SCRIPT_BODY",
"path": "SCRIPT_BODY_FILE_PATH"
}
```

While `id` and `lang` are required and should match the requirements of ES. These will determine how each script is stored. The values `body` and `path`, however, are mutually exclusive and only one is required. You can specify the script's body directly inline under `body`, or point to a file using `path`.

Developing
----------

If you are using Docker and Docker Compose, then you don't need to fiddle with
python and pip manually. Otherwise, see below.

Download Python 3, then::

$ pyvenv-3.X venv
$ source venv/bin/activate
$ pip3 install -r requirements.txt
$ ./cli.py -h

On Ubuntu, there's a bit of an issue with ``pip3`` and the above might not work.
Then::

$ pyvenv-3.X venv --without-pip
$ source venv/bin/activate
$ cd venv
$ wget https://bootstrap.pypa.io/get-pip.py
$ python3 get-pip.py
$ cd ..
$ pip3 install -r requirements.txt
$ ./cli.py -h

Testing
-------

Use ``nose``::

$ nosetests

or::

$ docker-compose run --rm companion nosetests

Deploying
---------

You need access to the pypi repository first, then it's just a matter of::

$ python setup.py sdist bdist_wheel
$ twine upload dist/*


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elastic-companion-5.1.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elastic_companion-5.1.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file elastic-companion-5.1.0.tar.gz.

File metadata

File hashes

Hashes for elastic-companion-5.1.0.tar.gz
Algorithm Hash digest
SHA256 38d7bc4ff8138030f88d4131e11ee5fb52485c4b667184f9a9fbd9aa266948e2
MD5 4625039bc791559d5e0886e537fb6202
BLAKE2b-256 be67361ab3d7dea98922e240b8cba487499f2730311b18de48325a59f40b2538

See more details on using hashes here.

File details

Details for the file elastic_companion-5.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for elastic_companion-5.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87347bd0010e1f6297d36b7b32104d0ea4013b88de12ddae355fabca47a0a83c
MD5 ddd6861f8851e000f6ae7b784f0230d0
BLAKE2b-256 61d954fc6c2e25e16d639be40b0d39922f4f32bc0b662fbdbd36948b098e1084

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page