From cd13a010e6b759e875c3498530aab579c7f612a6 Mon Sep 17 00:00:00 2001 From: Evans Mungai Date: Wed, 19 Nov 2025 16:04:23 +0000 Subject: [PATCH 1/5] feat: add ability for EC to define and use Velero plugins Signed-off-by: Evans Mungai --- docs/reference/embedded-config.mdx | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/reference/embedded-config.mdx b/docs/reference/embedded-config.mdx index bda25796fe..11b43079a9 100644 --- a/docs/reference/embedded-config.mdx +++ b/docs/reference/embedded-config.mdx @@ -265,6 +265,29 @@ spec: key: value ``` +### Configure Velero Plugins + +If your license has disaster recovery enabled, the Velero built-in addon will be deployed and you can configure custom Velero plugins using the `extensions.velero.plugins` key. This allows you to extend Velero's backup and restore capabilities with additional plugins. + +#### Limitations + +* The image must be available publicly. Images behind authentication are not supported. +* Disaster recovery must be enabled in your license for Velero plugins to work. + +#### Example + +```yaml +apiVersion: embeddedcluster.replicated.com/v1beta1 +kind: Config +spec: + extensions: + velero: + plugins: + - name: velero-plugin-postgresql + image: myvendor/velero-postgresql:v1.0.0 + imagePullPolicy: Always +``` + ### Configure the Kubelet You can configure the Kubelet to customize your worker nodes with Embedded Cluster. One common use case for configuring the Kubelet is that you need more pods on a single node than the default limit of 100. In this case, you could set the `maxPods` Kubelet configuration option to 150. Another common example is reducing startup time by setting `maxParallelImagePulls` to increase the maximum number of image pulls that can be done in parallel. From 7dd74c081421645390114892fe49a53d7911ff30 Mon Sep 17 00:00:00 2001 From: Evans Mungai Date: Wed, 19 Nov 2025 16:10:23 +0000 Subject: [PATCH 2/5] Add when feature was introduced Signed-off-by: Evans Mungai --- docs/reference/embedded-config.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/reference/embedded-config.mdx b/docs/reference/embedded-config.mdx index 11b43079a9..f1b8917fba 100644 --- a/docs/reference/embedded-config.mdx +++ b/docs/reference/embedded-config.mdx @@ -267,6 +267,8 @@ spec: ### Configure Velero Plugins +> Introduced in Embedded Cluster v2.13.0 + If your license has disaster recovery enabled, the Velero built-in addon will be deployed and you can configure custom Velero plugins using the `extensions.velero.plugins` key. This allows you to extend Velero's backup and restore capabilities with additional plugins. #### Limitations From e5ca14cdb683cd2f05269f410d908a8dc89f8c44 Mon Sep 17 00:00:00 2001 From: Evans Mungai Date: Thu, 20 Nov 2025 12:43:22 +0000 Subject: [PATCH 3/5] Mention velero plugins in DR section Signed-off-by: Evans Mungai --- docs/vendor/embedded-disaster-recovery.mdx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/vendor/embedded-disaster-recovery.mdx b/docs/vendor/embedded-disaster-recovery.mdx index 8e6565af46..324a60e2d8 100644 --- a/docs/vendor/embedded-disaster-recovery.mdx +++ b/docs/vendor/embedded-disaster-recovery.mdx @@ -158,7 +158,17 @@ To configure Velero Backup and Restore custom resources for Embedded Cluster dis post.hook.restore.velero.io/wait-for-ready: 'true' # waits for the pod to be ready before running the post-restore hook ``` -1. Save and the promote the release to a development channel for testing. +1. Save and the promote the release to a development channel for testing. + +### Extend Disaster Recovery with Custom Velero Plugins + +> Introduced in Embedded Cluster v2.13.0 + +You can extend Velero's backup and restore capabilities by configuring custom Velero plugins in the Embedded Cluster Config. This is useful if you need to add support for specific backup scenarios, such as backing up databases like PostgreSQL, MySQL, or other stateful applications that require specialized plugins. + +To configure custom Velero plugins, use the `extensions.velero.plugins` key in the Embedded Cluster Config. Each plugin requires a name and a publicly accessible container image. + +For more information about configuring Velero plugins, including requirements, limitations, and examples, see [Configure Velero Plugins](/reference/embedded-config#configure-velero-plugins) in _Embedded Cluster Config_. ### Enable the Disaster Recovery Feature for Your Customers From f93e8eb47faf9550e2c562d79523fed4d3d6b5bd Mon Sep 17 00:00:00 2001 From: Evans Mungai Date: Thu, 20 Nov 2025 12:47:35 +0000 Subject: [PATCH 4/5] Minor edits to disaster recovery docs Signed-off-by: Evans Mungai --- docs/vendor/embedded-disaster-recovery.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/vendor/embedded-disaster-recovery.mdx b/docs/vendor/embedded-disaster-recovery.mdx index 324a60e2d8..071e90b673 100644 --- a/docs/vendor/embedded-disaster-recovery.mdx +++ b/docs/vendor/embedded-disaster-recovery.mdx @@ -164,7 +164,7 @@ To configure Velero Backup and Restore custom resources for Embedded Cluster dis > Introduced in Embedded Cluster v2.13.0 -You can extend Velero's backup and restore capabilities by configuring custom Velero plugins in the Embedded Cluster Config. This is useful if you need to add support for specific backup scenarios, such as backing up databases like PostgreSQL, MySQL, or other stateful applications that require specialized plugins. +You can extend Velero's backup and restore capabilities by configuring custom Velero plugins in the Embedded Cluster Config. This is useful if you need to add support for specific backup scenarios, such as backing up databases like PostgreSQL, MySQL, or other stateful applications that require advanced disaster recovery capabilities. To configure custom Velero plugins, use the `extensions.velero.plugins` key in the Embedded Cluster Config. Each plugin requires a name and a publicly accessible container image. From f7747005159ba01e43f80cb8de4145cc2d7042d0 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Thu, 20 Nov 2025 15:29:40 -0700 Subject: [PATCH 5/5] docs edits --- docs/reference/embedded-config.mdx | 11 +++++++---- docs/vendor/embedded-disaster-recovery.mdx | 4 +--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/reference/embedded-config.mdx b/docs/reference/embedded-config.mdx index f1b8917fba..17d56864eb 100644 --- a/docs/reference/embedded-config.mdx +++ b/docs/reference/embedded-config.mdx @@ -269,12 +269,14 @@ spec: > Introduced in Embedded Cluster v2.13.0 -If your license has disaster recovery enabled, the Velero built-in addon will be deployed and you can configure custom Velero plugins using the `extensions.velero.plugins` key. This allows you to extend Velero's backup and restore capabilities with additional plugins. +If the customer license has the **Allow Disaster Recovery (Alpha)** option enabled, you can add custom Velero plugins in the `extensions.velero.plugins` key to extend Velero's backup and restore capabilities. For example, you can add support for backing up databases like PostgreSQL, MySQL, or other stateful applications that require advanced disaster recovery capabilities. -#### Limitations +Each plugin that you add to the `extensions.velero.plugins` key must have a name and a publicly accessible container image. For more information about the Velero plugin system, including how to create custom plugins, see [Velero plugin system](https://velero.io/docs/v1.17/overview-plugins/) in the Velero documentation. + +#### Requirements -* The image must be available publicly. Images behind authentication are not supported. -* Disaster recovery must be enabled in your license for Velero plugins to work. +* The image for the Velero plugin must be available publicly. Images behind authentication are not supported. +* The **Allow Disaster Recovery (Alpha)** option must be enabled in the license for Velero plugins to work. For more information about how to enable the Embedded Cluster disaster recovery feature, see [Disaster Recovery for Embedded Cluster (Alpha)](/vendor/embedded-disaster-recovery). #### Example @@ -284,6 +286,7 @@ kind: Config spec: extensions: velero: + # Each plugin requires a name and publicly accessible container image plugins: - name: velero-plugin-postgresql image: myvendor/velero-postgresql:v1.0.0 diff --git a/docs/vendor/embedded-disaster-recovery.mdx b/docs/vendor/embedded-disaster-recovery.mdx index 071e90b673..8192befbfb 100644 --- a/docs/vendor/embedded-disaster-recovery.mdx +++ b/docs/vendor/embedded-disaster-recovery.mdx @@ -166,9 +166,7 @@ To configure Velero Backup and Restore custom resources for Embedded Cluster dis You can extend Velero's backup and restore capabilities by configuring custom Velero plugins in the Embedded Cluster Config. This is useful if you need to add support for specific backup scenarios, such as backing up databases like PostgreSQL, MySQL, or other stateful applications that require advanced disaster recovery capabilities. -To configure custom Velero plugins, use the `extensions.velero.plugins` key in the Embedded Cluster Config. Each plugin requires a name and a publicly accessible container image. - -For more information about configuring Velero plugins, including requirements, limitations, and examples, see [Configure Velero Plugins](/reference/embedded-config#configure-velero-plugins) in _Embedded Cluster Config_. +To configure custom Velero plugins, use the `extensions.velero.plugins` key in the Embedded Cluster Config. For more information, see [Configure Velero Plugins](/reference/embedded-config#configure-velero-plugins) in _Embedded Cluster Config_. ### Enable the Disaster Recovery Feature for Your Customers