RedT Agent
redt-agent
is a lightweight, extensible agent that collects telemetry data, and package information, and automatically checks for software upgrades for your application. It communicates with a backend service to report collected data and receive upgrade instructions.
Features
- Collects telemetry data
- Reports package information
- Automatically checks for software upgrades
- Configurable polling intervals and upgrade check periods
Getting Started
These instructions will help you set up and configure the redt-agent
for your application.
Prerequisites
- Go 1.16 or later (1.20 preferred)
Installation
- Clone the repository:
git clone https://github.com/bluet/redt-agent.git
- Change to the project directory:
cd redt-agent
- Build the project:
make
# show info (cpu, memory, disk, network, process, package)
./bin/redt-agent
# show info then do system package upgrade (with prompt before upgrade)
./bin/redt-agent sysup
# show info then do system package upgrade (without prompt before upgrade)
./bin/redt-agent sysup -y
Run as a daemon
./bin/redt-agent -d
(Optional) Run as service
nano redt-agent.service
sudo cp -a ./bin/redt-agent /usr/local/bin/redt-agent
sudo cp -a redt-agent.service /etc/systemd/system/redt-agent.service
sudo systemctl enable redt-agent
sudo systemctl start redt-agent
sudo systemctl status redt-agent
sudo journalctl -u redt-agent
Configuration
Create a configuration file named config.yml in the project directory, and populate it with the following example configuration:
backendURL: "https://redt.top/api"
pollInterval: 60 # seconds
upgradeCheckPeriod: 5 # minutes
Update the URLs and intervals according to your backend service and requirements.
Running the Agent
Execute the compiled binary to run the redt-agent:
./redt-agent
The agent will start collecting and reporting data to the backend service based on the configuration file.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Acknowledgments
The team and contributors who maintain the Go programming language
Everyone who has provided feedback and suggestions for this project
⛏️ Built Using
✍️ Authors
See also the list of contributors who participated in this project.
🎉 Acknowledgements
- Hat tip to anyone whose code was used
- Inspiration
- References