I feel like there is one important piece missing from the current TS6 server tooling: a proper administrative CLI for managing a running server.
TS6 already provides ways to configure and start the server from the command line, as well as Query interfaces for interacting with a running instance. What seems to be missing is a first-class CLI that sits on top of those administrative capabilities.
For example, something along the lines of:
ts6ctl server list
ts6ctl client list --server 1
ts6ctl client kick 123 --reason "..."
ts6ctl channel create --name "..."
The important part is that this would be a non-interactive CLI designed for automation.
At the moment, if I want to automate server administration from something like a systemd service, I essentially have to either:
-
interact with a Query client;
-
implement a client for the WebQuery API myself; or
-
build/use some other application that wraps the Query interface.
None of these feels quite like the Unix-native experience I would expect from a server that is meant to be automated.
A proper administrative CLI could provide things like:
-
non-interactive authentication;
-
secure credential handling;
-
meaningful exit codes;
-
machine-readable output such as JSON;
-
consistent error handling;
-
Bash completion;
-
easy integration with systemd, cron, shell scripts, Ansible, etc.
For example:
ts6ctl client list --server 1 --output json | jq ...
would be much easier to integrate into an existing Linux environment than having every administrator write their own HTTP client and authentication layer.
I’m not suggesting replacing Query/WebQuery. Those interfaces are useful and should remain available for applications that need them.
What I’m suggesting is an official CLI that consumes those administrative capabilities and provides a stable, automation-oriented interface for administrators.
In other words:
TS6 has administrative APIs/interfaces, but it seems to be missing a first-class administrative CLI.
I think this would be particularly valuable for self-hosted Linux deployments and automation with systemd.
Is this something that is already planned, or is there a recommended approach for non-interactive server administration that I may have missed?