Execute, Collect, and Report - a tool set for remote code execution, data collection and reporting
The idea is to develop a set of networking tools for:
- preparing jobs which can be simple one-liners or complex scripts
- sending them to remote machines for execution
- collecting data and reporting it back
The underlying tech is based on ØMQ, Redis and cJSON.
The code is based on C99 and can be compiled under Windows, macOS and Linux.
This project uses CMake to generate project files for your preferred build environment.
Create a build
folder and enter it: mkdir build && cd build
.
Then let CMake generate Makefiles: cmake ..
Build the binaries: make
.
For verbose output use make VERBOSE=1
.
For a simple showcase of available functions use the binary based on ecrprog.c which is located in build/bin
.
Tests are based on Criterion Testing Framework
Enter directory test
and compile the suite with clang -o test_ecr_all test_ecr_all.c -lcriterion -lhiredis
(applies to GCC as well)
$ ./test_ecr_all
[====] Synthesis: Tested: 13 | Passing: 13 | Failing: 0 | Crashing: 0
- Managing server farms via script-execution
- Automatized reporting
- Software delivery and updates
- Health-checks & heartbeats