FatController is a versatile daemon management and automation framework designed to give system administrators power and flexibility in managing tasks across heterogeneous systems. It provides a unique "GUI-CLI" interface, blending the visual feedback of a graphical interface with the efficiency and scriptability of a command line.
At its core, FatController allows you to:
- Manage Entities: Interact with Local, SSH, Telnet, and other systems as unified objects.
- Schedule Daemons: Create internal schedulers to run tasks periodically.
- Automate Workflows: Write scripts to chain commands across multiple entities.
- Monitor & Alert: Collect data from command output and trigger alerts based on defined thresholds.
Whether you are managing a single server or orchestrating complex tasks across a network, FatController acts as your central command hub.
- Python 3.13 or higher
tkinter(usually included with Python)paramiko(for SSH support)
-
Clone the repository:
git clone https://github.com/mattjwarren/fatcontroler.git cd fatcontroler/fatcontroler -
Install dependencies:
pip install paramiko
-
Run the application:
python FatController.py
Once FatController is running, you can use the command bar at the bottom to define entities and run commands.
-
Define a Local Entity:
define entity LOCAL MyPC -
Run a command:
MyPC dir -
Define an SSH Entity:
define entity SSH MyServer 192.168.1.100 user pass None MyServer ls -la -
Get Help: Type
helpto see a full list of commands or readTheManual.mdfor detailed documentation.
"This was my first main Python program, started 25 years ago."
FatController (originally v0.0.1a) was born in an era where Python 2 emerged into the world and I was just starting my journey into software development. For years, it served as a trusty tool in my day job, helping manage complex system administration tasks with a quirky but effective custom interface. The code was crappy, but it worked, and that was good enough...
Like many passion projects, it sat dormant for a (looong) while... until now.
With the help of Google Antigravity (+ others tbh, but mostly AntiGravity so far), FatController is being brought back to life and modernized. We are:
- 🐍 Migrating from Python 2 to Python 3.13.
- 🖼️ Replacing the legacy
wxPythonGUI with a nativetkinterinterface. - 🔐 Implementing modern security practices (goodbye
eval(), helloparamiko!). - 🧪 Adding comprehensive unit tests and CI/CD workflows.
- And all the things I always imagined it should do. Like update all your documentation for you on the fly (oh look, LLM's have appeared ...)
The most exciting part of this resurrection is the potential for LLM Agent Entities. Imagine defining an entity not just for a server, but for an AI Agent that can reason, plan, and execute tasks autonomously within the FatController framework.
The tool that automated my job 25 years ago is evolving to automate the jobs of the future.