<commit_before>
## Envdb - Environment Database

<img style="float:left;" height="488px" src="https://raw.githubusercontent.com/mephux/envdb/master/data/envdb.gif?token=<PASSWORD>">

Envdb turns your production, dev, etc environments into a database 
cluster you can search using [osquery](https://github.com/facebook/osquery).

Envdb allows you to register each computer, server or asset as a node in a cluster. Once a new
node is connected it becomes available for search from the Envdb ui.

Envdb was built using golang so the whole application, node client and server comes as one single binary.
This makes it really easy to deploy and get working in seconds.

# How it works.

Envdb wraps the osquery process with an agent that can communicate back to a central location.
When an agent gets a new query, it's executed and then sent back to the tcp server for rendering. Once the
request is processed it's then sent to any avaliable web clients using websockets.

Envdb has an embedded sqlite database for node storage and saved searches.

ui --websockets--> server --tcp--> node client.


# Building

  * `git clone https://github.com/mephux/envdb.git`
  * `cd envdb`
  * `make`

# Usage

  * Server

    `envdb server`

    * Note: By default this will start the tcp server on port 3636 and the web server on port 8080.

  * Node Client

    `sudo envdb node --server <ip to server> SomeBoxName`

  * That's it - it's really that simple.

# More UI

<img style="float:left;" height="300px" src="https://raw.githubusercontent.com/mephux/envdb/master/data/envdb-1.png?token=<PASSWORD>">

<img style="float:left;" height="300px" src="https://raw.githubusercontent.com/mephux/envdb/master/data/envdb-2.png?token=AABXAcgvqnqiFViMFULsVUrfC2FWR<PASSWORD>%3D%3D">

<img style="float:left;" height="300px" src="https://raw.githubusercontent.com/mephux/envdb/master/data/envdb-3.png?token=AABXAQeDVrKIbzu08PHKroPiltQJ<PASSWORD>cks5VKH_<PASSWORD>%3D%3D">

## Self-Promotion

Like envdb? Follow the repository on
[GitHub](https://github.com/mephux/envdb) and if
you would like to stalk me, follow [mephux](http://dweb.io/) on
[Twitter](http://twitter.com/mephux) and
[GitHub](https://github.com/mephux).<commit_msg>add usage<commit_after>
## Envdb - Environment Database

<img style="float:left;" height="488px" src="https://raw.githubusercontent.com/mephux/envdb/master/data/envdb.gif?token=AABXAYgKkzBNt0LlqD4LsRb9kpvnzp1aks5VKIX0wA%3D%3D">

Envdb turns your production, dev, etc environments into a database 
cluster you can search using [osquery](https://github.com/facebook/osquery).

Envdb allows you to register each computer, server or asset as a node in a cluster. Once a new
node is connected it becomes available for search from the Envdb ui.

Envdb was built using golang so the whole application, node client and server comes as one single binary.
This makes it really easy to deploy and get working in seconds.

# How it works.

Envdb wraps the osquery process with an agent that can communicate back to a central location.
When an agent gets a new query, it's executed and then sent back to the tcp server for rendering. Once the
request is processed it's then sent to any avaliable web clients using websockets.

Envdb has an embedded sqlite database for node storage and saved searches.

ui --websockets--> server --tcp--> node client.


# Building

  * `git clone https://github.com/mephux/envdb.git`
  * `cd envdb`
  * `make`

# Usage

  ```
usage: envdb [<flags>] <command> [<flags>] [<args> ...]

The Environment Database - SELECT * FROM awesome;

Flags:
  --help       Show help.
  --debug      Enable debug logging.
  --dev        Enable dev mode. (read assets from disk and enable debug
               output)
  -q, --quiet  Remove all output logging.

Commands:
  help [<command>]
    Show help for a command.

  server [<flags>]
    Start the tcp server for node connections.

  node --server=127.0.0.1 [<flags>] <node-name>
    Register a new node.
  ```

  * Server

    `envdb server`

    * Note: By default this will start the tcp server on port 3636 and the web server on port 8080.

  * Node Client

    `sudo envdb node --server <ip to server> SomeBoxName`

  * That's it - it's really that simple.

# More UI

<img style="float:left;" height="300px" src="https://raw.githubusercontent.com/mephux/envdb/master/data/envdb-1.png?token=<KEY>gF-jy_wKmaxnhuD<PASSWORD>O0ks5VKH-<PASSWORD>%3D">

<img style="float:left;" height="300px" src="https://raw.githubusercontent.com/mephux/envdb/master/data/envdb-2.png?token=AABXAcgvqnqiFViMFULsVUrfC2FWRjhwks5VKH_<PASSWORD>">

<img style="float:left;" height="300px" src="https://raw.githubusercontent.com/mephux/envdb/master/data/envdb-3.png?token=<KEY>PHKroPiltQJ6z3cks5VKH_KwA%3D%3D">

## Self-Promotion

Like envdb? Follow the repository on
[GitHub](https://github.com/mephux/envdb) and if
you would like to stalk me, follow [mephux](http://dweb.io/) on
[Twitter](http://twitter.com/mephux) and
[GitHub](https://github.com/mephux).
{'fraction_non_alphanumeric': 0.1128, 'fraction_numerical': 0.0156, 'mean_word_length': 4.1770186335403725, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 35, 'https://': 16, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '390563', 'n_tokens_mistral': 1721, 'n_tokens_neox': 1617, 'n_words': 539}