Skip to content

Commit

Permalink
Merge branch 'release/v3.4.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
royrusso committed May 14, 2018
2 parents d6f5748 + 5055065 commit f427f9f
Show file tree
Hide file tree
Showing 78 changed files with 1,871 additions and 420 deletions.
10 changes: 9 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,12 @@ email, or any other method with the owners of this repository before making a ch

## Pull Request Process

For new features or bug fixes, please make your changes on the ``master`` branch.
For new features or bug fixes, please follow the below guideline, making sure that the pull request is coming from a feature branch. This guarantees that new features are merged with `develop` during a pull request.

1. Create a feature branch: `git flow feature start module_1`
2. The code is updated on the feature branch
3. When the feature is completed a pull request is opened in GitHub comparing develop and the feature branch `module_1`
4. The team reviews the pull request and makes comments
5. Any changes from the pull request are made to the feature branch
6. Once all changes are incorporated on the feature branch the feature branch is finished: `git flow feature finish module_1`
7. The `develop` branch is pushed to GitHub (GitHub will automatically mark the pull request as closed/merged when this happens)
4 changes: 4 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
recursive-include elastichq/templates *
recursive-include elastichq/static *
include elastichq/config/logger.json
include requirements.txt
37 changes: 19 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,56 +1,57 @@
ElasticHQ
=========
# ElasticHQ

Simplified Monitoring and Management for ElasticSearch clusters.

[![gitHub stars](https://img.shields.io/github/stars/ElasticHQ/elasticsearch-HQ.svg)](https://github.com/ElasticHQ/elasticsearch-HQ)
[![gitHub issues](https://img.shields.io/github/issues/ElasticHQ/elasticsearch-HQ.svg)](https://github.com/ElasticHQ/elasticsearch-HQ)
[![gitHub stars](https://img.shields.io/github/stars/ElasticHQ/elasticsearch-HQ.svg)](https://github.com/ElasticHQ/elasticsearch-HQ)
[![docker pulls](https://img.shields.io/docker/pulls/elastichq/elasticsearch-hq.svg)](https://hub.docker.com/r/elastichq/elasticsearch-hq 'DockerHub')
[![latest](https://img.shields.io/github/release/ElasticHQ/elasticsearch-HQ.svg)](https://github.com/ElasticHQ/elasticsearch-HQ)
[![docker pulls](https://img.shields.io/docker/pulls/elastichq/elasticsearch-hq.svg)](https://hub.docker.com/r/elastichq/elasticsearch-hq 'DockerHub')
[![gitHub issues](https://img.shields.io/github/issues/ElasticHQ/elasticsearch-HQ.svg)](https://github.com/ElasticHQ/elasticsearch-HQ)
![python](https://img.shields.io/badge/python-v3.4%20%2F%20v3.6-blue.svg)
[![license](https://img.shields.io/badge/license-ASL-blue.svg)](https://opensource.org/licenses/ASL)


![alt text](https://raw.githubusercontent.com/ElasticHQ/elasticsearch-HQ/master/main_dashboard.png)


Key Features
------------
## Key Features

* Works with 2.x, 5.x, 6.x and current versions of Elasticsearch.
* Monitor **many** clusters at once.
* Monitor Nodes, Indices, Shards, and general cluster metrics.
* Create and perform maintenance on Elasticsearch Indices.
* Create and maintain Elasticsearch Indices.
* One-Click access to ES API and cat API endpoints.
* Easy-to-Use Querying capabilities.
* Copy mappings and reindex Indices.
* Well-documented REST API for extensibility.
* Real-time monitoring charts of important metrics.
* Diagnostics check-up helps alert to specific nodes having issues.
* Active project used by Fortune 100 companies around the world.
* Free and (Real) Open Source. ;-)

Requirements
------------
## Installation

* Python 3.4+
### Requirements

* Python 3.4+

Installation
------------
### Instructions

For **full** installation and configuration instructions, see [Getting Started](http://docs.elastichq.org/installation.html)

1. Download or clone the repository.
2. Open terminal and point to root of repository. Type: ``pip install -r requirements.txt``
3. Run server with: `` python application.py ``. Alternatively: ``./manage.py runserver``
4. Access HQ with: `` http://localhost:5000 ``
5. All API endpoints are available through `` http://localhost:5000/api ``.

For further installation and configuration help, please read the docs: [ElasticHQ Documentation](http://docs.elastichq.org)

For those of you wanting to use Docker: [ElasticHQ on Dockerhub](https://hub.docker.com/r/elastichq/elasticsearch-hq/)
## Docker Installation

We are hosted on Dockerhub: [ElasticHQ on Dockerhub](https://hub.docker.com/r/elastichq/elasticsearch-hq/)

Please see relevant documentation: [Docker Images](http://docs.elastichq.org/installation.html#docker-images).

## Useful Links

Useful Links
------------
* [Documentation](http://docs.elastichq.org)
* [Official Website](http://www.elastichq.org)
* [Docker Images](https://hub.docker.com/r/elastichq/elasticsearch-hq/)
Expand Down
17 changes: 16 additions & 1 deletion application.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
default_host = '0.0.0.0'
default_port = 5000
default_debug = False
default_enable_ssl = False
default_ca_certs = None
default_url = 'http://localhost:9200'
is_gunicorn = "gunicorn" in os.environ.get("SERVER_SOFTWARE", "")

application = create_app()

Expand All @@ -27,10 +30,22 @@
action="store_true", dest="debug", default=default_debug,
help=optparse.SUPPRESS_HELP)
parser.add_option("-u", "--url", default=default_url)
parser.add_option("-s", "--enable-ssl",
action="store_true", default=default_enable_ssl)
parser.add_option("-c", "--ca-certs", default=default_ca_certs,
help='Required when --use-ssl is set. ' + \
'Path to CA file or directory [default %s]' % default_ca_certs)


options, _ = parser.parse_args()

# set default url, override with env for docker
application.config['DEFAULT_URL'] = os.environ.get('HQ_DEFAULT_URL', options.url)
application.config['ENABLE_SSL'] = os.environ.get('HQ_ENABLE_SSL', options.enable_ssl)
application.config['CA_CERTS'] = os.environ.get('HQ_CA_CERTS', options.ca_certs)

socketio.run(application, host=options.host, port=options.port, debug=options.debug)
if is_gunicorn:
# we set reloader False so gunicorn doesn't call two instances of all the Flask init functions.
socketio.run(application, host=options.host, port=options.port, debug=options.debug, use_reloader=False)
else:
socketio.run(application, host=options.host, port=options.port, debug=options.debug)
Binary file modified docs/.doctrees/developer-guide.doctree
Binary file not shown.
Binary file modified docs/.doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/.doctrees/faq.doctree
Binary file not shown.
Binary file modified docs/.doctrees/index.doctree
Binary file not shown.
Binary file modified docs/.doctrees/installation.doctree
Binary file not shown.
Binary file modified docs/.doctrees/rest-api.doctree
Binary file not shown.
Binary file modified docs/.doctrees/table-with-code.doctree
Binary file not shown.
Binary file modified docs/.doctrees/user-guide.doctree
Binary file not shown.
12 changes: 12 additions & 0 deletions docs/_sources/developer-guide.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,18 @@ Contributing

Please read the `Contributing guidelines <https://github.com/ElasticHQ/elasticsearch-HQ/blob/master/CONTRIBUTING.md>`_ before working on a pull request.

Note that new features and bug fixes should be performed from `develop` and on a new feature branch for the pull request to be manageable.

Developer Environment
---------------------

Set Debug to True
~~~~~~~~~~~~~~~~~

It is preferred that while developing, ``debug`` be set to True, by starting the application with ``python application.py -d True``.

This will guarantee that any code changes will immediately refresh the application and cause it to start again with the new changes.

Building Pre-Releases
---------------------

Expand Down
11 changes: 8 additions & 3 deletions docs/_sources/installation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,8 @@ Pre-release versions are made available as branches in the github repository. We

Our branching organization is as follows:

* ``master``: contains Latest Stable
* ``develop``: contains latest features and fixes. **Not stable.**
* ``master``: contains Latest Stable release.
* ``develop``: contains latest features. **Not stable.**
* ``#.#.#RC-#``: Release candidates are pre-release versions. **Not stable.**

Initial Login
Expand Down Expand Up @@ -166,6 +166,8 @@ Read the `Gunicorn Docs <http://docs.gunicorn.org/en/stable/configure.html>`_ fo

.. note:: For the *Metrics* section to broadcast via websocket, you must have gunicorn set to 1 worker.

.. note:: The Docker container available on DockerHub is pre-configured to run with gunicorn.

Troubleshooting
---------------

Expand All @@ -176,7 +178,7 @@ Failure in connecting initially to an Elasticsearch cluster, can happen for seve

* **Basic Authentication:** If you did not enter in the security credentials in the connection URL, HQ will fail to connect. The proper format is ``http://USERNAME:PASSWORD@DOMAIN:PORT``
* **X-Pack License Expiration:** X-Pack comes with a #-day license that will silently expire. Expiration of the license may cause connectivity issues, so it is advised to either purchase an X-Pack license or uninstall X-Pack.
* **No Route to ES cluster:** Confirm that the server running HQ has access to ES via network. You can do this by calling ES from withing a terminal window on the HQ server, with a ``curl -XGET http://DOMAIN:PORT``.
* **No Route to ES cluster:** Confirm that the server running HQ has access to ES via network. You can do this by calling ES from within a terminal window on the HQ server, with a ``curl -XGET http://DOMAIN:PORT``.


.. _xpack integration:
Expand All @@ -195,6 +197,9 @@ ElasticHQ will store the username and password in the database, so future connec
Viewing Logs
^^^^^^^^^^^^

In the base installation, the logs are available under the ``/install/path/application.log``.

For docker images, the application logging can be found under ``/src/application.log``.

License
-------
Expand Down
Loading

0 comments on commit f427f9f

Please sign in to comment.