diff --git a/site/content/docs/main/api-types/backupstoragelocation.md b/site/content/docs/main/api-types/backupstoragelocation.md index c5e1d4157..e5836610a 100644 --- a/site/content/docs/main/api-types/backupstoragelocation.md +++ b/site/content/docs/main/api-types/backupstoragelocation.md @@ -33,6 +33,7 @@ The configurable parameters are as follows: #### Main config parameters +{{< table caption="Main config parameters" >}} | Key | Type | Default | Meaning | | --- | --- | --- | --- | | `provider` | String | Required Field | The name for whichever object storage provider will be used to store the backups. See [your object storage provider's plugin documentation][0] for the appropriate value to use. | @@ -44,6 +45,6 @@ The configurable parameters are as follows: | `accessMode` | String | `ReadWrite` | How Velero can access the backup storage location. Valid values are `ReadWrite`, `ReadOnly`. | | `backupSyncPeriod` | metav1.Duration | Optional Field | How frequently Velero should synchronize backups in object storage. Default is Velero's server backup sync period. Set this to `0s` to disable sync. | | `validationFrequency` | metav1.Duration | Optional Field | How frequently Velero should validate the object storage . Default is Velero's server validation frequency. Set this to `0s` to disable validation. Default 1 minute. | - +{{ }} [0]: ../supported-providers.md diff --git a/site/content/docs/main/api-types/volumesnapshotlocation.md b/site/content/docs/main/api-types/volumesnapshotlocation.md index aef5f4053..eee8da7c2 100644 --- a/site/content/docs/main/api-types/volumesnapshotlocation.md +++ b/site/content/docs/main/api-types/volumesnapshotlocation.md @@ -32,10 +32,11 @@ The configurable parameters are as follows: #### Main config parameters +{{< table caption="Main config parameters" >}} | Key | Type | Default | Meaning | | --- | --- | --- | --- | | `provider` | String | Required Field | The name for whichever storage provider will be used to create/store the volume snapshots. See [your volume snapshot provider's plugin documentation][0] for the appropriate value to use. | | `config` | map[string]string | None (Optional) | Provider-specific configuration keys/values to be passed to the volume snapshotter plugin. See [your volume snapshot provider's plugin documentation][0] for details. | - +{{}} [0]: ../supported-providers.md diff --git a/site/content/docs/main/customize-installation.md b/site/content/docs/main/customize-installation.md index 41c57bb62..90a6a5065 100644 --- a/site/content/docs/main/customize-installation.md +++ b/site/content/docs/main/customize-installation.md @@ -102,13 +102,14 @@ velero client config set features= At installation, Velero sets default resource requests and limits for the Velero pod and the restic pod, if you using the [restic integration](/docs/main/restic/). -
| Setting | Velero pod defaults | restic pod defaults |
|---|---|---|
| CPU request | 500m | 500m |
| Memory requests | 128Mi | 512Mi |
| CPU limit | 1000m (1 CPU) | 1000m (1 CPU) |
| Memory limit | 256Mi | 1024Mi |
| Do | Don't |
|---|---|
| This `command` starts a proxy. | This command will start a proxy. |
| Do | Don't |
|---|---|
| You can explore the API using a browser. | The API can be explored using a browser. |
| The YAML file specifies the replica count. | The replica count is specified in the YAML file. |
| Do | Don't |
|---|---|
| To create a ReplicaSet, ... | In order to create a ReplicaSet, ... |
| See the configuration file. | Please see the configuration file. |
| View the Pods. | With this next command, we'll view the Pods. |
| Do | Don't |
|---|---|
| You can create a Deployment by ... | We'll create a Deployment by ... |
| In the preceding output, you can see... | In the preceding output, we can see ... |
| Do | Don't |
|---|---|
| For example, ... | e.g., ... |
| That is, ... | i.e., ... |
| Do | Don't |
|---|---|
| Version 1.4 includes ... | In version 1.4, we have added ... |
| Kubernetes provides a new feature for ... | We provide a new feature ... |
| This page teaches you how to use Pods. | In this page, we are going to learn about Pods. |
| Do | Don't |
|---|---|
| Internally, ... | Under the hood, ... |
| Create a new cluster. | Turn up a new cluster. |
| Do | Don't |
|---|---|
| In version 1.4, ... | In the current version, ... |
| The Federation feature provides ... | The new Federation feature provides ... |
| Do | Don't |
|---|---|
| The Pod has two containers. | The pod has two containers. |
| The Deployment is responsible for ... | The Deployment object is responsible for ... |
| A PodList is a list of Pods. | A Pod List is a list of pods. |
| The two ContainerPorts ... | The two ContainerPort objects ... |
| The two ContainerStateTerminated objects ... | The two ContainerStateTerminateds ... |
| Do | Don't |
|---|---|
| Click **Fork**. | Click "Fork". |
| Select **Other**. | Select "Other". |
| Do | Don't |
|---|---|
| A _cluster_ is a set of nodes ... | A "cluster" is a set of nodes ... |
| These components form the _control plane_. | These components form the **control plane**. |
| Do | Don't |
|---|---|
| Open the `envars.yaml` file. | Open the envars.yaml file. |
| Go to the `/docs/tutorials` directory. | Go to the /docs/tutorials directory. |
| Open the `/_data/concepts.yaml` file. | Open the /\_data/concepts.yaml file. |
| Do | Don't |
|---|---|
| events are recorded with an associated "stage." | events are recorded with an associated "stage". |
| The copy is called a "fork." | The copy is called a "fork". |
` tag. In a Markdown
document, use the backtick (`` ` ``).
-
-Do Don't
-The `kubectl run` command creates a Deployment. The "kubectl run" command creates a Deployment.
-For declarative management, use `kubectl apply`. For declarative management, use "kubectl apply".
-Use single backticks to enclose inline code. For example, `var example = true`. Use two asterisks (`**`) or an underscore (`_`) to enclose inline code. For example, **var example = true**.
-Use triple backticks (\`\`\`) before and after a multi-line block of code for fenced code blocks. Use multi-line blocks of code to create diagrams, flowcharts, or other illustrations.
-Use meaningful variable names that have a context. Use variable names such as 'foo','bar', and 'baz' that are not meaningful and lack context.
-Remove trailing spaces in the code. Add trailing spaces in the code, where these are important, because a screen reader will read out the spaces as well.
-
+{{< table caption="Do and Don't - Use code style for filenames, directories, paths, object field names and namespaces" >}}
+|Do|Don't|
+|--- |--- |
+|The `kubectl run` command creates a Deployment.|The "kubectl run" command creates a Deployment.|
+|For declarative management, use `kubectl apply`.|For declarative management, use "kubectl apply".|
+|Use single backticks to enclose inline code. For example, `var example = true`.|Use two asterisks (`**`) or an underscore (`_`) to enclose inline code. For example, **var example = true**.|
+|Use triple backticks (\`\`\`) before and after a multi-line block of code for fenced code blocks.|Use multi-line blocks of code to create diagrams, flowcharts, or other illustrations.|
+|Use meaningful variable names that have a context.|Use variable names such as 'foo','bar', and 'baz' that are not meaningful and lack context.|
+|Remove trailing spaces in the code.|Add trailing spaces in the code, where these are important, because a screen reader will read out the spaces as well.|
+{{< /table >}}
### Starting a sentence with a component tool or component name
-
-Do Don't
-The `kubeadm` tool bootstraps and provisions machines in a cluster. `kubeadm` tool bootstraps and provisions machines in a cluster.
-The kube-scheduler is the default scheduler for Kubernetes. kube-scheduler is the default scheduler for Kubernetes.
-
+{{< table caption="Do and Don't - Starting a sentence with a component tool or component name" >}}
+|Do|Don't|
+|--- |--- |
+|The `kubeadm` tool bootstraps and provisions machines in a cluster.|`kubeadm` tool bootstraps and provisions machines in a cluster.|
+|The kube-scheduler is the default scheduler for Kubernetes.|kube-scheduler is the default scheduler for Kubernetes.|
+{{< /table >}}
### Use normal style for string and integer field values
For field values of type string or integer, use normal style without quotation marks.
-
-Do Don't
-Set the value of `imagePullPolicy` to `Always`. Set the value of `imagePullPolicy` to "Always".
-Set the value of `image` to `nginx:1.16`. Set the value of `image` to nginx:1.16.
-Set the value of the `replicas` field to `2`. Set the value of the `replicas` field to 2.
-
+{{< table caption="Do and Don't - Use normal style for string and integer field values" >}}
+|Do|Don't|
+|--- |--- |
+|Set the value of `imagePullPolicy` to `Always`.|Set the value of `imagePullPolicy` to "Always".|
+|Set the value of `image` to `nginx:1.16`.|Set the value of `image` to nginx:1.16.|
+|Set the value of the `replicas` field to `2`.|Set the value of the `replicas` field to 2.|
+{{< /table >}}
## Code snippet formatting
### Don't include the command prompt
-
-Do Don't
-kubectl get pods $ kubectl get pods
-
+{{< table caption="Do and Don't - Don't include the command prompt" >}}
+|Do|Don't|
+|--- |--- |
+|kubectl get pods|$ kubectl get pods|
+{{< /table >}}
### Separate commands from output
@@ -249,46 +260,51 @@ nginx 1/1 Running 0 13s 10.200.0.4 worker0
A list of Velero-specific terms and words to be used consistently across the site.
-
-Trem Useage
-Kubernetes Kubernetes should always be capitalized.
-Docker Docker should always be capitalized.
-Velero Velero should always be capitalized.
-VMware VMware should always be correctly capitalized.
-On-premises On-premises or on-prem rather than on-premise or other variations.
-Backup Backup rather than back up, back-up or other variations.
-Plugin Plugin rather than plug-in or other variations.
-Allowlist Use allowlist instead of whitelist.
-Denylist Use denylist instead of blacklist.
-
+{{< table caption="Velero.io word list" >}}
+|Trem|Useage|
+|--- |--- |
+|Kubernetes|Kubernetes should always be capitalized.|
+|Docker|Docker should always be capitalized.|
+|Velero|Velero should always be capitalized.|
+|VMware|VMware should always be correctly capitalized.|
+|On-premises|On-premises or on-prem rather than on-premise or other variations.|
+|Backup|Backup rather than back up, back-up or other variations.|
+|Plugin|Plugin rather than plug-in or other variations.|
+|Allowlist|Use allowlist instead of whitelist.|
+|Denylist|Use denylist instead of blacklist.|
+{{< /table >}}
## Markdown elements
### Headings
People accessing this documentation may use a screen reader or other assistive technology (AT). [Screen readers](https://en.wikipedia.org/wiki/Screen_reader) are linear output devices, they output items on a page one at a time. If there is a lot of content on a page, you can use headings to give the page an internal structure. A good page structure helps all readers to easily navigate the page or filter topics of interest.
-
-Do Don't
-Include a title on each page or blog post. Include more than one title headings (#) in a page.
-Use ordered headings to provide a meaningful high-level outline of your content. Use headings level 4 through 6, unless it is absolutely necessary. If your content is that detailed, it may need to be broken into separate articles.
-Use sentence case for headings. For example, **Extend kubectl with plugins** Use title case for headings. For example, **Extend Kubectl With Plugins**
-
+{{< table caption="Do and Don't - Headings" >}}
+|Do|Don't|
+|--- |--- |
+|Include a title on each page or blog post.|Include more than one title headings (#) in a page.|
+|Use ordered headings to provide a meaningful high-level outline of your content.|Use headings level 4 through 6, unless it is absolutely necessary. If your content is that detailed, it may need to be broken into separate articles.|
+|Use sentence case for headings. For example, **Extend kubectl with plugins**|Use title case for headings. For example, **Extend Kubectl With Plugins**|
+{{< /table >}}
### Paragraphs
-
-Do Don't
-Try to keep paragraphs under 6 sentences. Write long-winded paragraphs.
-Use three hyphens (`---`) to create a horizontal rule for breaks in paragraph content. Use horizontal rules for decoration.
-
+{{< table caption="Do and Don't - Paragraphs" >}}
+
+|Do|Don't|
+|--- |--- |
+|Try to keep paragraphs under 6 sentences.|Write long-winded paragraphs.|
+|Use three hyphens (`---`) to create a horizontal rule for breaks in paragraph content.|Use horizontal rules for decoration.|
+{{< /table >}}
### Links
-
-Do Don't
-Write hyperlinks that give you context for the content they link to. For example: Certain ports are open on your machines. See [check required ports](#check-required-ports) for more details. Use ambiguous terms such as “click here”. For example: Certain ports are open on your machines. See [here](#check-required-ports) for more details.
-Write Markdown-style links: `[link text](URL)`. For example: `[community meeting agenda](https://hackmd.io/Jq6F5zqZR7S80CeDWUklkA)` and the output is [community meeting agenda](https://hackmd.io/Jq6F5zqZR7S80CeDWUklkA). Write HTML-style links: `Visit our tutorial!`
-
+{{< table caption="Do and Don't - Links" >}}
+|Do|Don't|
+|--- |--- |
+|Write hyperlinks that give you context for the content they link to. For example: Certain ports are open on your machines. See [check required ports](#check-required-ports) for more details.|Use ambiguous terms such as “click here”. For example: Certain ports are open on your machines. See [here](#check-required-ports) for more details.|
+|Write Markdown-style links: `[link text](URL)`. For example: `[community meeting agenda](https://hackmd.io/Jq6F5zqZR7S80CeDWUklkA)` and the output is [community meeting agenda](https://hackmd.io/Jq6F5zqZR7S80CeDWUklkA).|Write HTML-style links: `Visit our tutorial!`|
+{{< /table >}}
### Lists
@@ -312,6 +328,17 @@ Website navigation links can also be marked up as list items; after all they are
### Tables
-The semantic purpose of a data table is to present tabular data. Sighted users can quickly scan the table but a screen reader goes through line by line. A table caption is used to create a descriptive title for a data table. Assistive technologies (AT) use the HTML table caption element to identify the table contents to the user within the page structure. For example, ``. To make tables accessible, use HTML formatting to create tables.
+The semantic purpose of a data table is to present tabular data. Sighted users can quickly scan the table but a screen reader goes through line by line. A table [caption](https://www.w3schools.com/tags/tag_caption.asp) is used to create a descriptive title for a data table. Assistive technologies (AT) use the HTML table caption element to identify the table contents to the user within the page structure.
-If you need to create a table and style table data with markdown, add `markdown="span"` to all `` where the markdown interpreter should be applied.
+If you need to create a table, create the table in markdown and use the table [Hugo shortcode](https://gohugo.io/content-management/shortcodes/) to include a caption.
+
+```
+{{* table caption="Configuration parameters" >}}
+Parameter | Description | Default
+:---------|:------------|:-------
+`timeout` | The timeout for requests | `30s`
+`logLevel` | The log level for log output | `INFO`
+{{< /table */>}}
+
+```
+**Note:** This shortcode does not support markdown reference-style links. Use inline-style links in tables. See more information about [markdown link styles](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#links).
diff --git a/site/content/docs/main/supported-providers.md b/site/content/docs/main/supported-providers.md
index 42eeb825f..7c07931b5 100644
--- a/site/content/docs/main/supported-providers.md
+++ b/site/content/docs/main/supported-providers.md
@@ -7,26 +7,31 @@ Velero supports a variety of storage providers for different backup and snapshot
## Velero supported providers
+{{< table caption="Velero supported providers" >}}
+
| Provider | Object Store | Volume Snapshotter | Plugin Provider Repo | Setup Instructions |
|-----------------------------------|---------------------|------------------------------|-----------------------------------------|-------------------------------|
-| [Amazon Web Services (AWS)][7] | AWS S3 | AWS EBS | [Velero plugin for AWS][8] | [AWS Plugin Setup][35] |
-| [Google Cloud Platform (GCP)][11] | Google Cloud Storage| Google Compute Engine Disks | [Velero plugin for GCP][12] | [GCP Plugin Setup][36] |
-| [Microsoft Azure][9] | Azure Blob Storage | Azure Managed Disks | [Velero plugin for Microsoft Azure][10] | [Azure Plugin Setup][37] |
-| [VMware vSphere][39] | 🚫 | vSphere Volumes | [VMware vSphere][39] | [vSphere Plugin Setup][40] |
-| [Container Storage Interface (CSI)][44]| 🚫 | CSI Volumes | [Velero plugin for CSI][44] | [CSI Plugin Setup][45] |
+| [Amazon Web Services (AWS)](https://aws.amazon.com) | AWS S3 | AWS EBS | [Velero plugin for AWS](https://github.com/vmware-tanzu/velero-plugin-for-aws) | [AWS Plugin Setup](https://github.com/vmware-tanzu/velero-plugin-for-aws#setup) |
+| [Google Cloud Platform (GCP)](https://cloud.google.com) | Google Cloud Storage| Google Compute Engine Disks | [Velero plugin for GCP](https://github.com/vmware-tanzu/velero-plugin-for-gcp) | [GCP Plugin Setup](https://github.com/vmware-tanzu/velero-plugin-for-gcp#setup) |
+| [Microsoft Azure](https://azure.com) | Azure Blob Storage | Azure Managed Disks | [Velero plugin for Microsoft Azure](https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure) | [Azure Plugin Setup](https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure#setup) |
+| [VMware vSphere](https://github.com/vmware-tanzu/velero-plugin-for-vsphere) | 🚫 | vSphere Volumes | [VMware vSphere](https://github.com/vmware-tanzu/velero-plugin-for-vsphere) | [vSphere Plugin Setup](https://github.com/vmware-tanzu/velero-plugin-for-vsphere#installing-the-plugin) |
+| [Container Storage Interface (CSI)](https://github.com/vmware-tanzu/velero-plugin-for-csi/)| 🚫 | CSI Volumes | [Velero plugin for CSI](https://github.com/vmware-tanzu/velero-plugin-for-csi/) | [CSI Plugin Setup](website-guidelines.md) |
+{{< /table >}}
-Contact: [#Velero Slack][28], [GitHub Issues][29]
+Contact: [#Velero Slack](https://kubernetes.slack.com/messages/velero), [GitHub Issues](https://github.com/vmware-tanzu/velero/issues)
## Community supported providers
+{{< table caption="Community supported providers" >}}
| Provider | Object Store | Volume Snapshotter | Plugin Documentation | Contact |
|---------------------------|------------------------------|------------------------------------|------------------------|---------------------------------|
-| [AlibabaCloud][21] | Alibaba Cloud OSS | Alibaba Cloud | [AlibabaCloud][22] | [GitHub Issue][23] |
-| [DigitalOcean][15] | DigitalOcean Object Storage | DigitalOcean Volumes Block Storage | [StackPointCloud][16] | |
-| [Hewlett Packard][24] | 🚫 | HPE Storage | [Hewlett Packard][25] | [Slack][26], [GitHub Issue][27] |
-| [OpenEBS][17] | 🚫 | OpenEBS CStor Volume | [OpenEBS][18] | [Slack][19], [GitHub Issue][20] |
-| [Portworx][31] | 🚫 | Portworx Volume | [Portworx][32] | [Slack][33], [GitHub Issue][34] |
-| [Storj][41] | Storj Object Storage | 🚫 | [Storj][42] | [GitHub Issue][43] |
+| [AlibabaCloud](https://www.alibabacloud.com/) | Alibaba Cloud OSS | Alibaba Cloud | [AlibabaCloud](https://github.com/AliyunContainerService/velero-plugin) | [GitHub Issue](https://github.com/AliyunContainerService/velero-plugin/issues) |
+| [DigitalOcean](https://www.digitalocean.com/) | DigitalOcean Object Storage | DigitalOcean Volumes Block Storage | [StackPointCloud](https://github.com/StackPointCloud/ark-plugin-digitalocean) | |
+| [Hewlett Packard](https://www.hpe.com/us/en/storage.html) | 🚫 | HPE Storage | [Hewlett Packard](https://github.com/hpe-storage/velero-plugin) | [Slack](https://slack.hpedev.io/), [GitHub Issue](https://github.com/hpe-storage/velero-plugin/issues) |
+| [OpenEBS](https://openebs.io/) | 🚫 | OpenEBS CStor Volume | [OpenEBS](https://github.com/openebs/velero-plugin) | [Slack](https://openebs-community.slack.com/), [GitHub Issue](https://github.com/openebs/velero-plugin/issues) |
+| [Portworx](https://portworx.com/) | 🚫 | Portworx Volume | [Portworx](https://docs.portworx.com/scheduler/kubernetes/ark.html) | [Slack](https://portworx.slack.com/messages/px-k8s), [GitHub Issue](https://github.com/portworx/ark-plugin/issues) |
+| [Storj](https://storj.io) | Storj Object Storage | 🚫 | [Storj](https://github.com/storj-thirdparty/velero-plugin) | [GitHub Issue](https://github.com/storj-thirdparty/velero-plugin/issues) |
+{{< /table >}}
## S3-Compatible object store providers
@@ -56,40 +61,7 @@ In the case you want to take volume snapshots but didn't find a plugin for your
[4]: https://github.com/StackPointCloud/ark-plugin-digitalocean
[5]: http://www.noobaa.com/
[6]: https://github.com/vmware-tanzu/velero-plugin-for-aws/blob/main/backupstoragelocation.md
-[7]: https://aws.amazon.com
-[8]: https://github.com/vmware-tanzu/velero-plugin-for-aws
-[9]: https://azure.com
-[10]: https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure
-[11]: https://cloud.google.com
-[12]: https://github.com/vmware-tanzu/velero-plugin-for-gcp
-[15]: https://www.digitalocean.com/
-[16]: https://github.com/StackPointCloud/ark-plugin-digitalocean
-[17]: https://openebs.io/
-[18]: https://github.com/openebs/velero-plugin
-[19]: https://openebs-community.slack.com/
-[20]: https://github.com/openebs/velero-plugin/issues
-[21]: https://www.alibabacloud.com/
-[22]: https://github.com/AliyunContainerService/velero-plugin
-[23]: https://github.com/AliyunContainerService/velero-plugin/issues
-[24]: https://www.hpe.com/us/en/storage.html
[25]: https://github.com/hpe-storage/velero-plugin
-[26]: https://slack.hpedev.io/
-[27]: https://github.com/hpe-storage/velero-plugin/issues
-[28]: https://kubernetes.slack.com/messages/velero
-[29]: https://github.com/vmware-tanzu/velero/issues
[30]: restic.md
-[31]: https://portworx.com/
-[32]: https://docs.portworx.com/scheduler/kubernetes/ark.html
-[33]: https://portworx.slack.com/messages/px-k8s
-[34]: https://github.com/portworx/ark-plugin/issues
-[35]: https://github.com/vmware-tanzu/velero-plugin-for-aws#setup
[36]: https://github.com/vmware-tanzu/velero-plugin-for-gcp#setup
-[37]: https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure#setup
[38]: https://www.cloudian.com/
-[39]: https://github.com/vmware-tanzu/velero-plugin-for-vsphere
-[40]: https://github.com/vmware-tanzu/velero-plugin-for-vsphere#installing-the-plugin
-[41]: https://storj.io
-[42]: https://github.com/storj-thirdparty/velero-plugin
-[43]: https://github.com/storj-thirdparty/velero-plugin/issues
-[44]: https://github.com/vmware-tanzu/velero-plugin-for-csi/
-[45]: https://velero.io/docs/v1.4/csi/
diff --git a/site/content/docs/main/website-guidelines.md b/site/content/docs/main/website-guidelines.md
index af5bfc8ec..d14bc2f96 100644
--- a/site/content/docs/main/website-guidelines.md
+++ b/site/content/docs/main/website-guidelines.md
@@ -25,7 +25,7 @@ For more information on how to run the website locally, please see our [Hugo doc
## Adding a blog post
-To add a blog post, create a new markdown (.MD) file in the `/site/content/posts/` folder. A blog poost requires the following front matter.
+To add a blog post, create a new markdown (.MD) file in the `/site/content/posts/` folder. A blog post requires the following front matter.
```yaml
title: "Title of the blog"
@@ -42,4 +42,4 @@ tags: ['Velero Team', 'Nolan Brubaker']
Include the `author_name` value in tags field so the page that lists the author's posts will work properly, for example https://velero.io/tags/carlisia-campos/.
-Ideally each blog will have a unique image to use on the blog home page, but if you do not include an image, the default Velero logo will be used instead. Use an image that is less than 70KB and add it to the `/site/static/img/posts` folder.
+Ideally each blog will have a unique image to use on the blog home page, but if you do not include an image, the default Velero logo will be used instead. Use an image that is less than 70KB and add it to the `/site/static/img/posts` folder.
diff --git a/site/content/docs/v1.4/api-types/backupstoragelocation.md b/site/content/docs/v1.4/api-types/backupstoragelocation.md
index 948be0894..a980eae2b 100644
--- a/site/content/docs/v1.4/api-types/backupstoragelocation.md
+++ b/site/content/docs/v1.4/api-types/backupstoragelocation.md
@@ -33,6 +33,7 @@ The configurable parameters are as follows:
#### Main config parameters
+{{< table caption="Main config parameters" >}}
| Key | Type | Default | Meaning |
| --- | --- | --- | --- |
| `provider` | String | Required Field | The name for whichever object storage provider will be used to store the backups. See [your object storage provider's plugin documentation][0] for the appropriate value to use. |
@@ -43,6 +44,6 @@ The configurable parameters are as follows:
| `config` | map[string]string | None (Optional) | Provider-specific configuration keys/values to be passed to the object store plugin. See [your object storage provider's plugin documentation][0] for details. |
| `accessMode` | String | `ReadWrite` | How Velero can access the backup storage location. Valid values are `ReadWrite`, `ReadOnly`. |
| `backupSyncPeriod` | metav1.Duration | Optional Field | How frequently Velero should synchronize backups in object storage. Default is Velero's server backup sync period. Set this to `0s` to disable sync. |
-
+{{
}}
[0]: ../supported-providers.md
diff --git a/site/content/docs/v1.4/api-types/volumesnapshotlocation.md b/site/content/docs/v1.4/api-types/volumesnapshotlocation.md
index aef5f4053..eee8da7c2 100644
--- a/site/content/docs/v1.4/api-types/volumesnapshotlocation.md
+++ b/site/content/docs/v1.4/api-types/volumesnapshotlocation.md
@@ -32,10 +32,11 @@ The configurable parameters are as follows:
#### Main config parameters
+{{< table caption="Main config parameters" >}}
| Key | Type | Default | Meaning |
| --- | --- | --- | --- |
| `provider` | String | Required Field | The name for whichever storage provider will be used to create/store the volume snapshots. See [your volume snapshot provider's plugin documentation][0] for the appropriate value to use. |
| `config` | map[string]string | None (Optional) | Provider-specific configuration keys/values to be passed to the volume snapshotter plugin. See [your volume snapshot provider's plugin documentation][0] for details. |
-
+{{}}
[0]: ../supported-providers.md
diff --git a/site/content/docs/v1.4/customize-installation.md b/site/content/docs/v1.4/customize-installation.md
index 6d4fcc4d8..3a54a4ceb 100644
--- a/site/content/docs/v1.4/customize-installation.md
+++ b/site/content/docs/v1.4/customize-installation.md
@@ -93,13 +93,14 @@ velero client config set features=
At installation, Velero sets default resource requests and limits for the Velero pod and the restic pod, if you using the [restic integration](/docs/main/restic/). In Velero versions before 1.4.2, restic pod defaults were not set at install.
-
- Setting Velero pod defaults restic pod defaults (Velero 1.4.2 and later)
- CPU request 500m 500m
- Memory requests 128Mi 512Mi
- CPU limit 1000m (1 CPU) 1000m (1 CPU)
- Memory limit 256Mi 1024Mi
-
+{{< table caption="Velero Customize resource requests and limits defaults" >}}
+|Setting|Velero pod defaults|restic pod defaults|
+|--- |--- |--- |
+|CPU request|500m|500m|
+|Memory requests|128Mi|512Mi|
+|CPU limit|1000m (1 CPU)|1000m (1 CPU)|
+|Memory limit|256Mi|1024Mi|
+{{< /table >}}
### Install with custom resource requests and limits
diff --git a/site/content/docs/v1.4/supported-providers.md b/site/content/docs/v1.4/supported-providers.md
index ae1d25e55..7c07931b5 100644
--- a/site/content/docs/v1.4/supported-providers.md
+++ b/site/content/docs/v1.4/supported-providers.md
@@ -7,26 +7,31 @@ Velero supports a variety of storage providers for different backup and snapshot
## Velero supported providers
+{{< table caption="Velero supported providers" >}}
+
| Provider | Object Store | Volume Snapshotter | Plugin Provider Repo | Setup Instructions |
|-----------------------------------|---------------------|------------------------------|-----------------------------------------|-------------------------------|
-| [Amazon Web Services (AWS)][7] | AWS S3 | AWS EBS | [Velero plugin for AWS][8] | [AWS Plugin Setup][35] |
-| [Google Cloud Platform (GCP)][11] | Google Cloud Storage| Google Compute Engine Disks | [Velero plugin for GCP][12] | [GCP Plugin Setup][36] |
-| [Microsoft Azure][9] | Azure Blob Storage | Azure Managed Disks | [Velero plugin for Microsoft Azure][10] | [Azure Plugin Setup][37] |
-| [VMware vSphere][39] | 🚫 | vSphere Volumes | [VMware vSphere][39] | [vSphere Plugin Setup][40] |
-| [Container Storage Interface (CSI)]| 🚫 | CSI Volumes | [Velero plugin for CSI][44] | [CSI Plugin Setup][45] |
+| [Amazon Web Services (AWS)](https://aws.amazon.com) | AWS S3 | AWS EBS | [Velero plugin for AWS](https://github.com/vmware-tanzu/velero-plugin-for-aws) | [AWS Plugin Setup](https://github.com/vmware-tanzu/velero-plugin-for-aws#setup) |
+| [Google Cloud Platform (GCP)](https://cloud.google.com) | Google Cloud Storage| Google Compute Engine Disks | [Velero plugin for GCP](https://github.com/vmware-tanzu/velero-plugin-for-gcp) | [GCP Plugin Setup](https://github.com/vmware-tanzu/velero-plugin-for-gcp#setup) |
+| [Microsoft Azure](https://azure.com) | Azure Blob Storage | Azure Managed Disks | [Velero plugin for Microsoft Azure](https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure) | [Azure Plugin Setup](https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure#setup) |
+| [VMware vSphere](https://github.com/vmware-tanzu/velero-plugin-for-vsphere) | 🚫 | vSphere Volumes | [VMware vSphere](https://github.com/vmware-tanzu/velero-plugin-for-vsphere) | [vSphere Plugin Setup](https://github.com/vmware-tanzu/velero-plugin-for-vsphere#installing-the-plugin) |
+| [Container Storage Interface (CSI)](https://github.com/vmware-tanzu/velero-plugin-for-csi/)| 🚫 | CSI Volumes | [Velero plugin for CSI](https://github.com/vmware-tanzu/velero-plugin-for-csi/) | [CSI Plugin Setup](website-guidelines.md) |
+{{< /table >}}
-Contact: [#Velero Slack][28], [GitHub Issues][29]
+Contact: [#Velero Slack](https://kubernetes.slack.com/messages/velero), [GitHub Issues](https://github.com/vmware-tanzu/velero/issues)
## Community supported providers
+{{< table caption="Community supported providers" >}}
| Provider | Object Store | Volume Snapshotter | Plugin Documentation | Contact |
|---------------------------|------------------------------|------------------------------------|------------------------|---------------------------------|
-| [AlibabaCloud][21] | Alibaba Cloud OSS | Alibaba Cloud | [AlibabaCloud][22] | [GitHub Issue][23] |
-| [DigitalOcean][15] | DigitalOcean Object Storage | DigitalOcean Volumes Block Storage | [StackPointCloud][16] | |
-| [Hewlett Packard][24] | 🚫 | HPE Storage | [Hewlett Packard][25] | [Slack][26], [GitHub Issue][27] |
-| [OpenEBS][17] | 🚫 | OpenEBS CStor Volume | [OpenEBS][18] | [Slack][19], [GitHub Issue][20] |
-| [Portworx][31] | 🚫 | Portworx Volume | [Portworx][32] | [Slack][33], [GitHub Issue][34] |
-| [Storj][41] | Storj Object Storage | 🚫 | [Storj][42] | [GitHub Issue][43] |
+| [AlibabaCloud](https://www.alibabacloud.com/) | Alibaba Cloud OSS | Alibaba Cloud | [AlibabaCloud](https://github.com/AliyunContainerService/velero-plugin) | [GitHub Issue](https://github.com/AliyunContainerService/velero-plugin/issues) |
+| [DigitalOcean](https://www.digitalocean.com/) | DigitalOcean Object Storage | DigitalOcean Volumes Block Storage | [StackPointCloud](https://github.com/StackPointCloud/ark-plugin-digitalocean) | |
+| [Hewlett Packard](https://www.hpe.com/us/en/storage.html) | 🚫 | HPE Storage | [Hewlett Packard](https://github.com/hpe-storage/velero-plugin) | [Slack](https://slack.hpedev.io/), [GitHub Issue](https://github.com/hpe-storage/velero-plugin/issues) |
+| [OpenEBS](https://openebs.io/) | 🚫 | OpenEBS CStor Volume | [OpenEBS](https://github.com/openebs/velero-plugin) | [Slack](https://openebs-community.slack.com/), [GitHub Issue](https://github.com/openebs/velero-plugin/issues) |
+| [Portworx](https://portworx.com/) | 🚫 | Portworx Volume | [Portworx](https://docs.portworx.com/scheduler/kubernetes/ark.html) | [Slack](https://portworx.slack.com/messages/px-k8s), [GitHub Issue](https://github.com/portworx/ark-plugin/issues) |
+| [Storj](https://storj.io) | Storj Object Storage | 🚫 | [Storj](https://github.com/storj-thirdparty/velero-plugin) | [GitHub Issue](https://github.com/storj-thirdparty/velero-plugin/issues) |
+{{< /table >}}
## S3-Compatible object store providers
@@ -56,40 +61,7 @@ In the case you want to take volume snapshots but didn't find a plugin for your
[4]: https://github.com/StackPointCloud/ark-plugin-digitalocean
[5]: http://www.noobaa.com/
[6]: https://github.com/vmware-tanzu/velero-plugin-for-aws/blob/main/backupstoragelocation.md
-[7]: https://aws.amazon.com
-[8]: https://github.com/vmware-tanzu/velero-plugin-for-aws
-[9]: https://azure.com
-[10]: https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure
-[11]: https://cloud.google.com
-[12]: https://github.com/vmware-tanzu/velero-plugin-for-gcp
-[15]: https://www.digitalocean.com/
-[16]: https://github.com/StackPointCloud/ark-plugin-digitalocean
-[17]: https://openebs.io/
-[18]: https://github.com/openebs/velero-plugin
-[19]: https://openebs-community.slack.com/
-[20]: https://github.com/openebs/velero-plugin/issues
-[21]: https://www.alibabacloud.com/
-[22]: https://github.com/AliyunContainerService/velero-plugin
-[23]: https://github.com/AliyunContainerService/velero-plugin/issues
-[24]: https://www.hpe.com/us/en/storage.html
[25]: https://github.com/hpe-storage/velero-plugin
-[26]: https://slack.hpedev.io/
-[27]: https://github.com/hpe-storage/velero-plugin/issues
-[28]: https://kubernetes.slack.com/messages/velero
-[29]: https://github.com/vmware-tanzu/velero/issues
[30]: restic.md
-[31]: https://portworx.com/
-[32]: https://docs.portworx.com/scheduler/kubernetes/ark.html
-[33]: https://portworx.slack.com/messages/px-k8s
-[34]: https://github.com/portworx/ark-plugin/issues
-[35]: https://github.com/vmware-tanzu/velero-plugin-for-aws#setup
[36]: https://github.com/vmware-tanzu/velero-plugin-for-gcp#setup
-[37]: https://github.com/vmware-tanzu/velero-plugin-for-microsoft-azure#setup
[38]: https://www.cloudian.com/
-[39]: https://github.com/vmware-tanzu/velero-plugin-for-vsphere
-[40]: https://github.com/vmware-tanzu/velero-plugin-for-vsphere#installing-the-plugin
-[41]: https://storj.io
-[42]: https://github.com/storj-thirdparty/velero-plugin
-[43]: https://github.com/storj-thirdparty/velero-plugin/issues
-[44]: https://github.com/vmware-tanzu/velero-plugin-for-csi/
-[45]: https://velero.io/docs/v1.4/csi/
diff --git a/site/layouts/shortcodes/table.html b/site/layouts/shortcodes/table.html
new file mode 100644
index 000000000..5c7ec6b6a
--- /dev/null
+++ b/site/layouts/shortcodes/table.html
@@ -0,0 +1,10 @@
+
+{{ $hasCaption := isset .Params "caption" }}
+{{ $caption := .Get "caption" }}
+{{ $captionEl := printf "%s " $caption }}
+{{ $table := .Inner | markdownify }}
+{{ $html := cond $hasCaption ($table | replaceRE "" $captionEl) $table | safeHTML }}
+{{ $html }}