- Notifications
You must be signed in to change notification settings - Fork2
Elasticsearch ops management tooling
License
procore/nox
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A grand unified Elasticsearch infrastructure management tool.
Nox is a Elasticsearch managment CLI and library meant to make everyday interactions with Elaticsearch clusters as easy as possible. From simple API requests, to managing snapshots and disaster recovery, to complex data ETL operations; Nox makes your Elasticsearch operations quick and straightfoward. No curl required.
Nox uses theGaia package as a client to interact with the Elasticsearch cluster.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Usinghomebrew
$ brew tap procore/formulae$ brew install nox
Or download thelatest releaseand extract into your$PATH
You can find documentation for the various commands available in the CLIin the docs folder
Nox has a variety of customization options that are set through command lineflags for each of its commands. Most of them can be set globally throughenvironment variables or a config file at~/.nox.toml
. Nox supports bothtoml
andyml
config files.See the.nox.toml.sample
file for more information
If you need to change the syntax highlighting for the json output, you caneither disable pretty printing with thepretty
option or specify thetheme
option with a value fromthislist.
You need to have Go 1.13 or greater installed to compile nox from source. You can download a Go installer for your system on thewebsite. Alternatively you can install Go using the [asdf](https://asdf-vm.com/#/core-manage-asdf-vm)
version manager.
$ git clone https://github.com/asdf-vm/asdf.git~/.asdf --branch v0.7.2$ asdf plugin-add golang https://github.com/kennyp/asdf-golang.git$ asdf install golang<version_number>$ asdf global golang<version_number>
$ go versiongo version go1.13 darwin/amd64$ git clone git@github.com:procore/nox.git$cd nox/cmd/nox$ make build
To install the binary into your$PATH
$ make
$ nox cluster health{"cluster_name":"elasticsearch","status":"green","timed_out": false,"number_of_nodes": 1,"number_of_data_nodes": 1,"active_primary_shards": 166,"active_shards": 166,"relocating_shards": 0,"initializing_shards": 0,"unassigned_shards": 11,"delayed_unassigned_shards": 0,"number_of_pending_tasks": 0,"number_of_in_flight_fetch": 0,"task_max_waiting_in_queue_millis": 0,"active_shards_percent_as_number": 93.78531073446328}
We usegoreleaser andGithub Actions for our build and deployment process. Whenever a new tag is pushed, a workflow will run goreleaser to build the binary, update the homebrew tap, and create a Github release.
To create a new tag:
$ git tag -a v0.1.0 -m"tag message"$ git push origin v0.1.0
Please readCONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We useSemVer for versioning. For the versions available, see thetags on this repository.
This project is licensed under the MIT License - see theLICENSE.md file for details
Nox is maintained by Procore Technologies.
Procore - building the software that builds the world.
Learn more about the #1 most widely used construction management software atprocore.com
About
Elasticsearch ops management tooling