rainforestapp/envdb

Name: envdb

Owner: Rainforest QA

Description: Envdb - Ask your environment questions.

Created: 2015-10-15 01:36:17.0

Updated: 2015-10-15 01:36:19.0

Pushed: 2015-05-13 17:45:51.0

Homepage:

Size: 31443

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Build Status

Envdb - Environment Database

Envdb turns your production, dev, cloud, etc environments into a database cluster you can search using osquery as the foundation.

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.

Video Intro: https://youtu.be/ydYr7Ykwzy8

How it works.

Envdb wraps the osquery process with a node agent (node as in cluster node) that can communicate back to a central location. When that node 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.

Download

Pre-built versions (deb/tar.gz) of envdb are avaliable for linux 386/amd64. linux downloads

Building on macosx is easy tho, checkout the section below.

Building

Make sure you have Go installed. I used Go version 1.4.1.

deps make
Usage
e: envdb [<flags>] <command> [<flags>] [<args> ...]

Environment Database - Ask your environment questions

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

ands:
lp [<command>]
Show help for a command.

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

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

ers [<flags>]
User Management (Default lists all users).
Server
vdb help server

age: envdb [<flags>] server [<flags>] [<command>]

art the tcp server for node connections.

ags:
-p, --port=3636  Port for the server to listen on.
-P, --http-port=8080  
                 Port for the web server to listen on.

gs:
[<command>]  Daemon command. (start,status,stop)
Running the server without a `command` (start, stop or status) will run the server in the foreground.

* Note: By default this will start the tcp server on port 3636 and the web server on port 8080.
Node Client
vdb help node

age: envdb [<flags>] node --server=127.0.0.1 [<flags>] <node-name>

gister a new node.

ags:
-s, --server=127.0.0.1  
                 Address for server to connect to.
-p, --port=PORT  Port to use for connection.

gs:
<node-name>  A name used to uniquely identify this node.
`sudo envdb node --server <ip to server> SomeBoxName`
User Management
More UI

Self-Promotion

Like envdb? Follow the repository on GitHub and if you would like to stalk me, follow mephux on Twitter and GitHub.

TODO

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.