fabriceclementz / escli

escli is a fast and efficient command-line interface (CLI) tool for managing Elasticsearch clusters

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

escli

A CLI for interacting with Elasticsearch (You Know, for Search)

Downloads Contributors Forks Stargazers Issues License

Status

Not production ready (working progress)

This project is still in its early days.

About

escli is a fast and efficient command-line interface (CLI) tool for managing Elasticsearch indexes, executing searches, and retrieving insights from Elasticsearch data. With its intuitive and user-friendly interface, escli makes it easy to interact with Elasticsearch, regardless of whether you're managing a single instance or a large cluster.

Built using Rustlang, escli provides a reliable and scalable solution for developers and DevOps engineers who need to manage Elasticsearch data on a daily basis. Whether you're a seasoned Elasticsearch user or just getting started, escli offers a powerful and flexible toolset to help you optimize your workflow.

Installation

TODO

Usage

Configuration

escli uses a configuration file that contains the connection parameters for each of the clusters you want to connect on. The format is as follows:

clusters:
  local:
    host: 127.0.0.1
    port: 9200
    protocol: http
  staging:
    host: staging.es
    port: 9200
    protocol: https
  production:
    host: production.es
    port: 9200
    protocol: https

By default, the CLI will try to load a config file at ~/.escli/config.yaml but you can provide another path via the --config flag as follows:

escli -c ./my-config.yaml

Aliases

  • List
  • Add
  • Remove
  • Update

Mappings

  • Get
  • Update

Index settings

  • Get
  • Update

Indices

  • List
  • Create
  • Open
  • Close
  • Delete
  • Refresh
  • Force merge
  • Flush
  • Reindex

List indices

$ escli --cluster local indices list -h
List all indices

Usage: escli indices list [OPTIONS]

Options:
  -o, --output <OUTPUT>  Output format [default: default] [possible values: default, json]
  -p, --pretty           Pretty print JSON output
  -c, --config <CONFIG>  Config file (default is $HOME/.escli.yaml)
  -v, --verbose          Make the operation more talkative
  -h, --help             Print help (see more with '--help')
  -V, --version          Print version

Create index

Create an index

Usage: escli indices create [OPTIONS] <NAME>

Arguments:
  <NAME>  Name of the index to create

Options:
  -o, --output <OUTPUT>  Output format [default: default] [possible values: default, json]
  -p, --pretty           Pretty print JSON output
  -c, --config <CONFIG>  Config file (default is $HOME/.escli.yaml)
  -v, --verbose          Make the operation more talkative
  -h, --help             Print help (see more with '--help')
  -V, --version          Print version

Open index

Opens a closed index

Usage: escli indices open [OPTIONS] <NAME>

Arguments:
  <NAME>  Name of the index to open

Options:
  -o, --output <OUTPUT>  Output format [default: default] [possible values: default, json]
  -p, --pretty           Pretty print JSON output
  -c, --config <CONFIG>  Config file (default is $HOME/.escli.yaml)
  -v, --verbose          Make the operation more talkative
  -h, --help             Print help (see more with '--help')
  -V, --version          Print version

Close index

Closes an index

Usage: escli indices close [OPTIONS] <NAME>

Arguments:
  <NAME>  Name of the index to close

Options:
  -o, --output <OUTPUT>  Output format [default: default] [possible values: default, json]
  -p, --pretty           Pretty print JSON output
  -c, --config <CONFIG>  Config file (default is $HOME/.escli.yaml)
  -v, --verbose          Make the operation more talkative
  -h, --help             Print help (see more with '--help')
  -V, --version          Print version

Built With

License

Distributed under the MIT License. See LICENSE for more information.

About

escli is a fast and efficient command-line interface (CLI) tool for managing Elasticsearch clusters

License:MIT License


Languages

Language:Rust 98.7%Language:Shell 1.3%