Architecture
ubx-plugin-protocol (Protocol Buffers / gRPC). Any binary that implements the protocol can be used as a ubx engine.
Plugin discovery
ubx finds plugins by searching in order:~/.ubx/plugins/<name>/ubx-plugin-<name>— installed viaubx plugin installubx-plugin-<name>on$PATH— any binary in the system path
Plugin launch
ubx launches the plugin binary with the environment variableUBX_PLUGIN_LAUNCH=1. The plugin starts a gRPC server on a random local port and prints the port to stdout. ubx connects and communicates via gRPC.
Official plugins
| Plugin | Engine | Runtime |
|---|---|---|
| ubx-plugin-pulumi | Pulumi | Python, TypeScript, Go |
| ubx-plugin-terraform | Terraform | (wraps terraform CLI) |
| ubx-plugin-opentofu | OpenTofu | (wraps tofu CLI) |
Installing plugins
Plugin lock file
After installing, ubx writes.ubx/plugin.lock with the source and SHA256 of each installed plugin.

