A commandline utility for managing Halon nodes and clusters.
- Python 2.7+ or 3.3+
Simply install the
halonctl package from pip:
sudo pip install halonctl
To write your own modules or work on the
halonctl core, clone this repo, and install it in development mode:
pip install -e .
You are strongly recommended to use a virtualenv to create an isolated environment for development.
- HTTP Keep-Alive is used for all connections, which greatly improves performance, especially noticeable in the
cmdmodule's interactive mode.
querymodule now show affected messages on bulk actions
statmodule, replacing the old
- Quck Connect syntax for nodes you'll only ever use once
--countflag to the
postfixmodule to simulate commands like
queuemodule - use
halonctl queue mail-queue-countinstead
- A potential issue involving non-ASCII output from remote shell commands
--versionflag for checking the program version
- A typo causing a crash when an interactive session was resized
cmdmodule's interactive mode not working on Python 2.7
- Native support for Python 3! No more 2to3 nonsense!
- Full documentation, including docs for module development!
- Interactive mode for the
cmdmodule - you can now run
- History querying and printing specific fields with the
- A new "grouped" output mode, usable with the JSON formatter
--rawflag for requesting machine-readable rather than human-readable output
- The ability to "dry run", to test slicing expressions without actually executing anything
--clear-cachemodule for clearing the WSDL cache after node updates
- Startup is SO MUCH FASTER, especially with lots of nodes
- Slices now start at 1, for ease of use - update your scripts!
- Nodes are now sliced in the order they're listed in the configuration
- Modules and formatters are now a whole lot simpler to build
- Occasional 'ghosting' in the
- Inconsistent output from the
querymodule in some circumstances
- A bunch of bugs with the WSDL cache causing the strangest bugs
- More useful error messages for invalid configuration files
- More useful error messages for invalid SSL certificates
- The ability to disable verification of SSL certificates
- Crashes when
querygot an email with no subject line, or invalid UTF-8
--debug-hqlflag to the
querymodule, which prints executed queries
- Errors from non-action
querycalls are now printed
queryflags not working properly
querystatements with multiple timestamps not being parsed correctly
- A bug sometimes preventing WSDL files from being downloaded
- A bug preventing non-ASCII content from being displayed properly on Python 2
- Python 3 support!
- TextTable dropped for PrettyTable - in other words, tables look different
- Startup time is now constant, rather than linearly increasing with the number of configured nodes
- Sending Ctrl+C's to commands run through the
cmdmodule now only takes as long as the slowest node
- An awful bug that caused all nodes to report the same data
cmdmodule allowing direct execution of remote shell commmands
- Performance and reliability in asynchronous dispatches
- WSDL download errors are now reported at startup
- Stupid bug preventing dict-style cluster initialization from working
- WSDL files are now cached, which shaves off a good couple of seconds per node from program startup.
- Cluster logins now work as intended, even when username and password are gotten from different nodes.
- The Keychain module no longer reports incorrect authentication status in some cases.
- Initial release