This repository is based on the Velero Plugins Example repository: https://github.com/vmware-tanzu/velero-plugin-example/
The OSM Prune plugin removes the containers from Open Service Mesh in order to prevent a duplicate container exception as described at vmware-tanzu/velero#5193 .
This is a Restore Item Action - performs arbitrary logic on individual items prior to restoring them in the Kubernetes cluster.
For more information, please see the full plugin documentation.
To build the plugins, run
$ make
To build the image, run
$ make container
This builds an image tagged as patst/velero-plugin-osm-prune:main
. If you want to specify a different name or version/tag, run:
$ IMAGE=your-repo/your-name VERSION=your-version-tag make container
Follow this guide: https://velero.io/docs/v1.9/contributions/minio/
The required YAML files are in the hack/cluster-config
folder:
kubectl apply -f ./00-minio-deployment.yaml
velero install \
--provider aws \
--plugins velero/velero-plugin-for-aws:v1.2.1 \
--bucket velero \
--secret-file ./credentials-velero \
--use-volume-snapshots=false \
--use-restic=true \
--backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://minio.velero.svc:9000
To deploy your plugin image to an Velero server:
- Make sure your image is pushed to a registry that is accessible to your cluster's nodes.
- Run
velero plugin add <registry/image:version>
. Example with a dockerhub image:velero plugin add patst/velero-plugin-osm-prune:main
.
When the plugin is deployed, it is only made available to use. To make the plugin effective, you must modify your configuration:
Backup/Restore actions:
- Add the plugin to Velero as described in the Deploying the plugins section. (e.g.
velero plugin add patst/velero-plugin-osm-prune:main
) - The plugin will be used for the next
backup/restore
.