This is the documentation for the latest development version of Ark. Both code and docs may be unstable, and these docs are not guaranteed to be up to date or correct. See the latest version.

Edit this page

Plugins

Heptio Ark has a plugin architecture that allows users to add their own custom functionality to Ark backups & restores without having to modify/recompile the core Ark binary. To add custom functionality, users simply create their own binary containing implementations of Ark’s plugin kinds (described below), plus a small amount of boilerplate code to expose the plugin implementations to Ark. This binary is added to a container image that serves as an init container for the Ark server pod and copies the binary into a shared emptyDir volume for the Ark server to access.

Multiple plugins, of any type, can be implemented in this binary.

A fully-functional sample plugin repository is provided to serve as a convenient starting point for plugin authors.

Plugin Kinds

Ark currently supports the following kinds of plugins:

Plugin Logging

Ark provides a logger that can be used by plugins to log structured information to the main Ark server log or per-backup/restore logs. See the sample repository for an example of how to instantiate and use the logger within your plugin.