You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
Stash Addons
Stash 0.9.0+ supports extending its functionality through addons. This guide will give you an overview of what is an addon, how addons work and a list of Stash addons.
What is an Addon
Stash 0.9.0+ uses two different models for backup/restore based on target types. One of them is sidecar model where Stash injects a sidecar
/init-container
into the targeted workload for backup/restore. Another is job model where backup or restore is done via an external job.
The job model is further divided into two categories. In the first category, the targeted resource is well known to Stash (example, a PVC). Hence, the Stash operator itself can create the required job to backup/restore the target. In the second category, Stash follows Function-Task
model where the targeted resource is not known to Stash. In this case, the user creates some Function which resembles a step of backup/restore process and a Task which specifies the order of execution of these steps. Stash uses these Function
and Task
to generate the required job definition to backup/restore the target.
The Function-Task
model enables Stash to backup/restore the resources that the operator itself is not aware of. Users can extend Stash by creating respective Function
, Task
, and docker images for respective Function
to backup their desired resources.
A Stash addon is a collection of Functions and a Task to backup & restore a specific resource.
How Addons Work
When a user installs a Stash addon, it creates some Function
and Task
definitions. Then, when he creates a BackupConfiguration
or RestoreSession
object to backup/restore his desired resource, Stash operator resolves the Function
and Task
to create a Job to backup/restore the target. The following diagram shows how addons works in Stash:
A Function
is fundamentally a container specification and Task
specifies the execution order of the containers. Stash operator injects all the containers except last one resolved from the Function
specified in Task
as init-container
into the job in the same order they appear in the Task
. Then, it injects the last container as the main container of the Job.
Available Addons
The following addons are available for Stash:
Addons | Usage | Available Versions |
---|---|---|
stash-elasticsearch | Stash Elasticsearch plugin | 5.6.4-v30 , 6.2.4-v30 , 6.3.0-v30 , 6.4.0-v30 , 6.5.3-v30 , 6.8.0-v30 , 7.14.0-v16 , 7.2.0-v30 , 7.3.2-v30 , 8.2.0-v13 |
stash-mariadb | Stash Mariadb plugin | 10.5.8-v24 |
stash-mongodb | Stash Mongodb plugin | 3.4.17-v30 , 3.4.22-v30 , 3.6.13-v30 , 3.6.8-v30 , 4.0.11-v30 , 4.0.3-v30 , 4.0.5-v30 , 4.1.13-v30 , 4.1.4-v30 , 4.1.7-v30 , 4.2.3-v30 , 4.4.6-v21 , 5.0.15-v3 , 5.0.3-v18 , 6.0.5-v6 |
stash-mysql | Stash Mysql plugin | 5.7.25-v30 , 8.0.14-v30 , 8.0.21-v24 , 8.0.3-v30 |
stash-percona-xtradb | Stash Percona-Xtradb plugin | 5.7-v25 |
stash-postgres | Stash Postgres plugin | 10.14-v29 , 11.9-v29 , 12.4-v29 , 13.1-v26 , 14.0-v18 , 15.1-v10 , 9.6.19-v29 |