Skip to content

Commit

Permalink
Add in docs for NATS
Browse files Browse the repository at this point in the history
  • Loading branch information
derekcollison committed Aug 8, 2015
1 parent 39b21e6 commit ccdd2bc
Show file tree
Hide file tree
Showing 4 changed files with 110 additions and 0 deletions.
1 change: 1 addition & 0 deletions nats/README-short.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
NATS is an open-source, high-performance, cloud native messaging system.
108 changes: 108 additions & 0 deletions nats/content.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
[NATS](https://nats.io): A high-performance cloud native messaging system.
==========================================================================

%%LOGO%%

`nats` is a high performance server for the NATS Messaging System.

Example usage
=============

```bash
# Run a NATS server
# Each server exposes multiple ports
# 4222 is for clients.
# 8222 is an HTTP management port for information reporting.
# 6222 is a routing port for clustering.
# use -p or -P as needed.

$ docker run -d --name nats-main nats
[1] 2015/08/08 02:18:59.240582 [INF] Starting gnatsd version 0.6.4
[1] 2015/08/08 02:18:59.240694 [INF] Starting http monitor on port 8222
[1] 2015/08/08 02:18:59.240708 [INF] Listening for route connections on 0.0.0.0:6222
[1] 2015/08/08 02:18:59.240801 [INF] Listening for client connections on 0.0.0.0:4222
[1] 2015/08/08 02:18:59.240823 [INF] gnatsd is ready

...

# To run a second server and cluster them together..
$ docker run -d --name=nats-2 --link nats-main nats --routes=nats-route://ruser:T0pS3cr3t@nats-main:6222

# If you want to verify the routes are connected, try
$ docker run -d --name=nats-2 --link nats-main nats --routes=nats-route://ruser:T0pS3cr3t@nats-main:6222 -DV
[1] 2015/08/08 06:06:18.662453 [INF] Starting gnatsd version 0.6.4
[1] 2015/08/08 06:06:18.662524 [INF] Starting http monitor on port 8222
[1] 2015/08/08 06:06:18.662680 [INF] Listening for route connections on :6222
[1] 2015/08/08 06:06:18.662807 [INF] Listening for client connections on 0.0.0.0:4222
[1] 2015/08/08 06:06:18.662831 [INF] gnatsd is ready
[1] 2015/08/08 06:06:18.662862 [DBG] Trying to connect to route on nats-main:6222
[1] 2015/08/08 06:06:18.663579 [DBG] 172.17.0.52:6222 - rid:1 - Route connection created
[1] 2015/08/08 06:06:18.663647 [DBG] 172.17.0.52:6222 - rid:1 - Route connect msg sent
[1] 2015/08/08 06:06:18.664040 [DBG] 172.17.0.52:6222 - rid:1 - Registering remote route "ee35d227433a738c729f9422a59667bb"
[1] 2015/08/08 06:06:18.664133 [DBG] 172.17.0.52:6222 - rid:1 - Route sent local subscriptions
```

The server will load the configuration file below. Any command line flags can override these values.

Default Configuration File
--------------------------

```conf
# Client port of 4222 on all interfaces
port: 4222
# HTTP monitoring port
monitor_port: 8222
# This is for clustering multiple servers together.
cluster {
# Route connections to be received on any interface on port 6222
port: 6222
# Routes are protected, so need to use them with --routes flag
# e.g. --routes=nats-route://ruser:T0pS3cr3t@otherdockerhost:6222
authorization {
user: ruser
password: T0pS3cr3t
timeout: 0.75
}
# Routes are actively solicited and connected to from this server.
# This Docker image has none by default, but you can pass a
# flag to the gnatsd docker image to create one to an existing server.
routes = []
}
```

Commandline Options
-------------------

```bash
Server Options:
-a, --addr HOST Bind to HOST address (default: 0.0.0.0)
-p, --port PORT Use PORT for clients (default: 4222)
-P, --pid FILE File to store PID
-m, --http_port PORT Use HTTP PORT for monitoring
-c, --config FILE Configuration File

Logging Options:
-l, --log FILE File to redirect log output
-T, --logtime Timestamp log entries (default: true)
-s, --syslog Enable syslog as log method.
-r, --remote_syslog Syslog server addr (udp://localhost:514).
-D, --debug Enable debugging output
-V, --trace Trace the raw protocol
-DV Debug and Trace

Authorization Options:
--user user User required for connections
--pass password Password required for connections

Cluster Options:
--routes [rurl-1, rurl-2] Routes to solicit and connect

Common Options:
-h, --help Show this message
-v, --version Show version
```
1 change: 1 addition & 0 deletions nats/license.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
View [license information](https://github.com/nats-io/gnatsd/blob/master/LICENSE) for the software contained in this image.
Binary file added nats/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit ccdd2bc

Please sign in to comment.