DEPRECATED - Limit restful requests to backend ElasticSearch cluster: Queries only.
Перейти к файлу
Kyle Lahnakoski 6ffb5358ee update version num 2014-08-18 17:09:32 -04:00
esFrontLine handle HEAD requests 2014-08-06 17:04:55 -04:00
resources/scripts using streams, not sure if actually streaming 2013-09-09 12:13:40 -04:00
tests update lib and tests 2014-08-06 17:07:08 -04:00
.gitignore Bug 943465 - esFrontLine does not filter paths strict enough 2013-11-26 20:47:31 -05:00
MANIFEST.in Bug 943465 - esFrontLine does not filter paths strict enough 2013-11-26 20:47:31 -05:00
README.md more docs 2014-08-08 15:11:29 -04:00
setup.py update version num 2014-08-18 17:09:32 -04:00

README.md

esFrontLine

Limit restful requests to backend ElasticSearch cluster: Queries only.

Requirements

  • Python 2.7
  • An ElasticSearch cluster to forward queries to

Install

I will assume you have Python installed (if not, here are Windows7 instructions)

pip install esFrontLine

Setup

You must write your own setting.json file with the following properties set:

  • elasticsearch - (Array of) ElasticSearch nodes

  • elasticsearch.host - URL of the ElasticSearch node that will accept query requests

  • elasticsearch.port - port for ES (default = 9200)

  • flask - flask.run() parameters (default port = 5000)

  • debug - turn on debugging

  • whitelist - list of indexes that are allowed

Here is an example of my settings.json file

{
    "elasticsearch":[{
        "host":"http://elasticsearch4.metrics.scl3.mozilla.com",
        "port":9200
    },{
        "host":"http://elasticsearch5.metrics.scl3.mozilla.com",
        "port":9200
    },{
        "host":"http://elasticsearch7.metrics.scl3.mozilla.com",
        "port":9200
    },{
        "host":"http://elasticsearch8.metrics.scl3.mozilla.com",
        "port":9200
    }],
    "flask":{
        "host":"0.0.0.0",
        "port":9292,
        "debug":false,
        "threaded":true,
        "processes":1
    },
    "whitelist":["bugs", "org_chart", "bug_summary", "reviews"],
    "debug":{
        "log":[{
            "filename": "./tests/results/logs/app.log",
            "maxBytes": 10000000,
            "backupCount": 200,
            "encoding": "utf8"
        },{
            "stream":"sys.stdout"
        }]
    }

}

Execution

python app.py --settings-file <path_to_file_with_JSON_settings>

Code Source

https://github.com/klahnakoski/esFrontLine