Skip to content

Plugins

Plugins add services to a Waveshift deployment from the command line. Two are available as a preview:

Plugin Command Deploys
TAK wsctl tak A TAK Server for situational awareness, with user, group and certificate management and on-device enrollment for ATAK
Matrix wsctl matrix A private Matrix chat server (tuwunel), with user and sign-up token management

Preview

The plugins deploy one server per Waveshift deployment and are managed from wsctl. In Waveshift 0.5 the same services become part of each operation, created from the Web Console: see What's coming.

How plugins work

  • wsctl <name> runs wsctl-<name>. Each plugin is a separate binary on your PATH, the same way git and kubectl plugins work. Built-in commands always take precedence, and the plugin's exit code is passed back.
  • Install by placing the plugin binary (wsctl-tak, wsctl-matrix) next to wsctl on your PATH. A wsctl that reports unknown command "tak" either predates plugin support or cannot find the plugin binary.
  • Run every command from the directory holding the deployment's wsctl.json, as with the rest of wsctl.
  • State lives in wsctl.json under plugins.<name>. wsctl keeps that section intact when it saves the file, so never edit or delete it by hand.
  • Names follow your private domain. Plugins register their servers in the deployment's private hosted zone, for example tak.<domain> and matrix.<domain> (the domain defaults to waveshift.internal; see the wsctl.json reference).

Prerequisites

  • A deployed environment: wsctl deploy infrastructure at least. Plugins use its VPC, private subnet, private hosted zone, assets bucket and the Waveshift CA.
  • AWS credentials with SSM access. User management commands run on the plugin's server through SSM.
  • The AWS CLI with the Session Manager plugin, for proxy, connect and logs -f.

Destroy plugins first

Destroy plugin services before core infrastructure

wsctl destroy infrastructure and wsctl destroy all only know about the Waveshift and Kasm hosts. A plugin server still running in the VPC blocks its deletion. Run wsctl tak destroy and wsctl matrix destroy --yes first, then destroy the core infrastructure.

wsctl tak destroy
wsctl matrix destroy --yes
wsctl destroy all --yes