Peephole
SaltStack transactions tracker
Install / Use
/learn @immobiliare/PeepholeREADME
Peephole <a href="#peephole"><img align="left" width="100px" src="https://github.com/immobiliare/peephole/blob/master/kiosk/assets/peephole.png"></a>
Peephole is a web-based events explorer of SaltStack transactions.
It can be used to watch for events on several SaltStack master nodes by GETting from the /events API endpoint.
As soon as events are watched, they get persisted into a local (auto-expiring and configurable) cache that allows to explore, filter and correlate events for a variable time interval.


Table of Contents
Install
Either install using Docker:
docker pull ghcr.io/immobiliare/peephole:latest
Or build it yourself:
git clone https://github.com/immobiliare/peephole.git
cd peephole
make build
Usage
First off, create a configuration file config.yml accordingly.
The sample example.yml file can be used as a reference.
Either run it with Docker:
docker run -v ${PWD}/config.yml:/etc/peephole \
-p 8080:8080 ghcr.io/immobiliare/peephole:latest
Or using the manually built binary file:
./peephole -c config.yml
Clearly, for each SaltMaster defined in the configuration file, ensure to enable salt-api capabilities.
Changelog
See changelog.
Contributing
See contributing.
Issues
You found a bug or need a new feature? Please <a href="https://github.com/immobiliare/peephole/issues/new" target="_blank">open an issue.</a>
Powering
What led to the use of Go as the engine for Peephole is mainly the flow of the app itself: fetching data externally from possibily several sources concurrently, to feed a cache with, as well as a pool of several clients. Go's flexibility on intra-process channel-based communication between goroutines is a very solid paradigm to base the whole app flow on. That is very crucial in the context for which it's been designed, which is huge.
In fact, Peephole is currently used internally in the SRE / systems teams at Immobiliare to keep an eye on and soften the burden of administering a pool of servers of the order of thousands, fetching events from tens of Salt masters.
If you feel like using it as well, please, let us know!
Related Skills
imsg
346.4kiMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
oracle
346.4kBest practices for using the oracle CLI (prompt + file bundling, engines, sessions, and file attachment patterns).
tmux
346.4kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
xurl
346.4kA CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.
