Skip to main content

Plugin management

External plugins are the components in OpenBao that can be implemented separately from OpenBao's built-in plugins. These plugins can be either authentication or secrets engines.

The api_addr must be set in order for the plugin process to establish communication with the OpenBao server during mount time. If the storage backend has HA enabled and supports automatic host address detection, OpenBao will automatically attempt to determine the api_addr as well.

Detailed information regarding the plugin system can be found in the internals documentation.

Registering external plugins

Before an external plugin can be mounted, it needs to be registered in the plugin catalog to ensure the plugin invoked by OpenBao is authentic and maintains integrity:

$ bao plugin register -sha256=<SHA256 Hex value of the plugin binary> \
secret \ # type
passthrough-plugin

Success! Registered plugin: passthrough-plugin

Enabling/Disabling external plugins

After the plugin is registered, it can be mounted by specifying the registered plugin name:

$ bao secrets enable -path=my-secrets passthrough-plugin
Success! Enabled the passthrough-plugin secrets engine at: my-secrets/

Listing secrets engines will display secrets engines that are mounted as plugins:

$ bao secrets list
Path Type Accessor Plugin Default TTL Max TTL Force No Cache Replication Behavior Description
my-secrets/ plugin plugin_deb84140 passthrough-plugin system system false replicated

Disabling an external plugins is identical to disabling a built-in plugin:

$ bao secrets disable my-secrets

Upgrading plugins

Upgrade instructions can be found in the Upgrading Plugins - Guides page.