Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

readme.md

es-ksm

Keystore manager of sorts for Elasticsearch (given that you're using bare metal hosts for your nodes and using the puppet module with CentOS, otherwise you'll have to make minor modifications). Give it a cluster API, the verb and other required params and it'll reach out to the keystore(s) where applicable.

Used with CentOS 7.x with nodes setup on bare metal hosts using forge module for Elasticsearch, tested against 5/6.x (up to 6.4.x) clusters. You may need to make modifications if using it outside this configuration.

Usage

usage: ksm.py [-h] [--input-file [INPUT_FILE]] --es-host ES_HOST
              [--es-user ES_USER] [--es-pass ES_PASS]
              {add,add-file,remove,list,create} [key_value [key_value ...]]

positional arguments:
  {add,add-file,remove,list,create}
  key_value             key (and value if applicable in the form of key=value)

optional arguments:
  -h, --help            show this help message and exit
  --input-file [INPUT_FILE]
                        file for add-file verb
  --es-host ES_HOST     es api
  --es-user ES_USER     es user
  --es-pass ES_PASS     es pass

Examples

Doing some adding/removing/listing.

$ es-ksm add something=else else=something --es-host https://es-stage-api.example.com
Password: 
es-stage_client10 something=else ✔
es-stage_client07 something=else ✔
es-stage_data04   something=else ✔
es-stage_client06 something=else ✔
es-stage_data05   something=else ✔
es-stage_data03   something=else ✔
es-stage_client08 something=else ✔
es-stage_data02   something=else ✔
es-stage_data01   something=else ✔
es-stage_client09 something=else ✔
es-stage_master01 something=else ✔
es-stage_master03 something=else ✔
es-stage_master05 something=else ✔
es-stage_master02 something=else ✔
es-stage_master04 something=else ✔
es-stage_client10 else=something ✔
es-stage_client07 else=something ✔
es-stage_data04   else=something ✔
es-stage_client06 else=something ✔
es-stage_data05   else=something ✔
es-stage_data03   else=something ✔
es-stage_data01   else=something ✔
es-stage_data02   else=something ✔
es-stage_client08 else=something ✔
es-stage_client09 else=something ✔
es-stage_master01 else=something ✔
es-stage_master03 else=something ✔
es-stage_master05 else=something ✔
es-stage_master02 else=something ✔
es-stage_master04 else=something ✔
$ es-ksm remove something else --es-host https://es-stage-api.example.com
Password: 
es-stage_data04   ✔
es-stage_client10 ✔
es-stage_client07 ✔
es-stage_client06 ✔
es-stage_data01   ✔
es-stage_data03   ✔
es-stage_data05   ✔
es-stage_data02   ✔
es-stage_client08 ✔
es-stage_client09 ✔
es-stage_master01 ✔
es-stage_master02 ✔
es-stage_master03 ✔
es-stage_master05 ✔
es-stage_master04 ✔
$ es-ksm list --es-host https://es-stage-api.example.com                 
Password: 
es-stage_client07:
 - keystore.seed
 - s3.client.default.endpoint
 - s3.client.minio.endpoint
es-stage_client10:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_client06:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_data04:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_client08:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_data05:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_data01:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_master01:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_client09:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_data02:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_data03:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_master03:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_master05:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_master02:
 - keystore.seed
 - s3.client.minio.endpoint
es-stage_master04:
 - keystore.seed
 - s3.client.minio.endpoint

Todo

  • maybe check the input arguments for -Des.path.conf=... and use that path instead? Might be more reliable than assuming the path based on the node name

About

Keystore manager for ES (for semi specific environment, see details)

Topics

Resources

Releases

No releases published

Packages

No packages published

Languages