Damon - A terminal Dashboard for HashiCorp Nomad
Damon is a terminal user interface (TUI) for Nomad. It provides functionality to observe and interact with Nomad resources such as Jobs, Deployments, or Allocations. Interactions include:
- View Jobs and Job allocations
- View Deployments
- View Namespaces
- Show Task events
- Show Job status/information (equally to
$ nomad status <job>) - Show Logs in an active log stream (including filtering + highlighting).
- and more...
Additional Notes
Damon is in an early stage and is under active development. We are working on improving the performance and adding new features to Damon.
Please take a look at the Damon project board to see what features you can expect in near future.
If you find a bug or you have great ideas how Damon can be improved feel free to open an issue. To avoid duplicates, please check the project board
before submitting one. Thank you!
Screenshot
Installation
Brew
--> Coming soon
Building from source and Run Damon
Make sure you have your go environment setup:
- Clone the project
- Run
$ make buildto build the binary - Run
$ make runto run the binary - You can use
$ make install-osxon a Mac to cp the binary to/usr/local/bin/damon
or
$ go install ./cmd/damon
How to use it
Once Damon is installed and avialable in your path, simply run:
$ damon
Environment Variables
Damon reads the following environment variables on startup:
NOMAD_TOKENNOMAD_ADDRNOMAD_REGIONNOMAD_NAMESPACENOMAD_HTTP_AUTHNOMAD_CACERTNOMAD_CAPATHNOMAD_CLIENT_CERTNOMAD_CLIENT_KEYNOMAD_TLS_SERVER_NAMENOMAD_SKIP_VERIFY
You can read about them in detail here.
Navigation
General
On every table or text view, you can use:
korarrow upto navigate upjorarrow downto navigate down
Top Level Commands
- Show Jobs:
ctrl-j - Show Deployments:
ctrl-d - Show Namespaces:
ctrl-n - Jump to a Jobs Allocations:
ctrl-j - Switch Namespace:
s - Quit:
ctrl-c
Job View Commands
- Show Allocations for a Job:
<ENTER>(on the selected job) - Show TaskGroups for a Job:
<t>(on the selected job) - Show information for a Job:
<i>(on the selected job) - Filter Job:
</>(on the selected job) - Show Job Info:
i(on the selected job)
Task View Commands
- Show logs on
STDOUTfor a Task:<ENTER> - Show logs on
STDERRfor a Task:<ctrl-e> - Show events for a Task:
<e>
Log View
When Damon displays logs, you can navigate through the logs using j, k, G, and g.
- To filter logs you can hit
/which will open an input field to enter the filter string. - To highligh logs you can hit
h. This will also open an input field to enter the highlighting string. - Hit
sto stop a log stream. - Hit
rto resume a log stream.
