Func (Fedora Unified Network Controller) is a revolutionary and sexy tool that allow you to administer hosts on large scale environments, using a secure communications through https. Func is written in python and is promoted and sponsorized by Red Hat.
Func is designed to implement a client-server model: there’s a single host master (certmaster) which register and exchange certificate with minions (clients). Certmaster can launch commands (ping, ps, netstat, and so on), get various information (hardware infos, nagios infos, xen virtual hosts infos, etc) on each or groups of clients. All commands are module and, thanks to module-driven design, is quite simple to write your own. You can find modules list here.
I wrote, with my byte-code colleagues, a simple module to monitor JBoss running instances, by retrieving information about active ones (port, name, bind address and pid), about problems (for example when two instances are started on the same bind address), and some little stuff (search).
You can execute command by using a single code line, for instance:
func "*" call jboss status
func "*example.com" call jboss status
and so on…more information here.
This module has multple purposes: the first one is to add useful and new stuff and the second is to start something that connect Java and Linux world. In fact, at this moment, they too many separate (although SUN made java opensource, with too delay, IMHO), and, at the same time, Red Hat world and JBoss world.
Unfortunatly I’m not a jboss man, and I don’t have idea on possible stuff to be added (ATM I’m think to add a deployer but func need improvement to copyFile Module )