Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Commit

Permalink
v1.1 Release Documentation Update (#3)
Browse files Browse the repository at this point in the history
### Updated Documentation

Documentation has been updated for the new release of the Veeam Plugin for vCD (v1.1).

Signed-off-by: Chris Arceneaux <[email protected]>
  • Loading branch information
carceneaux authored Feb 13, 2020
1 parent a8bd3d6 commit 7c82f72
Show file tree
Hide file tree
Showing 16 changed files with 162 additions and 15 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Here are some resources to help you deploy & configure the plugin:

* [Getting Started Guide](https://veeamhub.github.io/veeam-plugin-for-vcd/)

[![Veeam Plugin for vCD Demonstration](https://img.youtube.com/vi/By4G_WH9k40/0.jpg)](https://www.youtube.com/watch?v=By4G_WH9k40)
[![Veeam Plugin for vCD Demonstration](https://img.youtube.com/vi/By4G_WH9k40/0.jpg)](https://www.youtube.com/watch?v=8oFbJMhHaak)

## ✍ Contributions

Expand Down
11 changes: 9 additions & 2 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ The Veeam Plugin for vCloud Director (vCD) allows the [Veeam vCD Self-Service Ba

This documentation will provide steps for Installing, Configuring, and Using the Veeam Plugin for vCD.

[If you're looking for instructions on how to **upgrade** the Veeam Plugin to the latest version, please click here.](plugin-upgrade-instructions.html)

{% note %}
IIS configuration (see step #2 below) must be performed any time you install/upgrade Enterprise Manager.
{% endnote %}

## Steps

1. [Install and Configure the Veeam vCD Self-Service Backup Portal (VSSP)](vssp-setup.md)
Expand All @@ -16,7 +22,8 @@ This documentation will provide steps for Installing, Configuring, and Using the

## Veeam Plugin Prerequisites

* Veeam Backup Enterprise Manager (EM) 9.5 Update 4b
* Supports vCloud Director (vCD) 9.1.0.2 - 9.7
* Veeam Backup Enterprise Manager (EM) 9.5 Update 4b _and newer_
* Supports vCloud Director (vCD) 9.1.0.2 - 10.x
* _vCD 10.x support requires EM 10.x_
* Valid SSL Certificates must be configured for both _EM_ and _vCD_
* Self-Signed SSL Certificates need to be trusted by the client before the plugin will work
1 change: 1 addition & 0 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# VEEAM PLUGIN FOR VCD

* [Introduction](README.md)
* [Upgrading the Veeam Plugin](plugin-upgrade-instructions.md)

## VEEAM SELF-SERVICE PORTAL

Expand Down
Binary file added docs/images/delete-veeam-plugin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/iis-configuration-script.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/iis-veeam-url-rewrite.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/portal-config-correct.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/python-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/set-veeam-portal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/veeam-portal-login.png
Binary file not shown.
6 changes: 3 additions & 3 deletions docs/plugin-deploy-plugin-manager.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@

## VMware Plugin Lifecycle Manager

As the [VMware Plugin Lifecycle Manager](https://github.com/vmware-samples/vcd-ext-samples/tree/customize-portal) comes pre-installed with vCloud Director 9.7, it's the easiest method for deploying the Veeam Plugin for vCD. It can also be installed for versions 9.1 & 9.5 using these [instructions](https://github.com/vmware-samples/vcd-ext-samples/tree/customize-portal).
As the [VMware Plugin Lifecycle Manager](https://github.com/vmware-samples/vcd-ext-samples/tree/customize-portal) comes pre-installed with vCloud Director 9.7 _and newer_, it's the easiest method for deploying the Veeam Plugin for vCD. It can also be installed for versions 9.1 & 9.5 using these [instructions](https://github.com/vmware-samples/vcd-ext-samples/tree/customize-portal).

### Requirements

* [VMware Plugin Lifecycle Manager](https://github.com/vmware-samples/vcd-ext-samples/tree/customize-portal)
* _Pre-Installed with vCloud Director 9.7_
* _Pre-Installed with vCloud Director 9.7 and newer_

### Deployment Steps

* [Download the current plugin](https://github.com/VeeamHub/veeam-plugin-for-vcd/releases/latest)
* `plugin.zip`
* Unzip the plugin files `veeam-vcd-plugin-X.X.X.zip`
* Open `Customize Portal` or `Plugin Lifecycle Management` from the drop-down in the vCD Provider Portal
* *Example:* `https://vcd.home.lab/provider`

Expand Down
5 changes: 3 additions & 2 deletions docs/plugin-deploy-python.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Python

This method of deploying the Veeam Plugin for vCD is best suited for vCloud Director 9.1 & 9.5 but it will work with version 9.7 as well. If vCD 9.7 is being used, it's highly recommended you use the [VMware Plugin Lifecycle Manager](plugin-deploy-plugin-manager.md) as it's the easiest deployment method.
This method of deploying the Veeam Plugin for vCD is best suited for vCloud Director 9.1 & 9.5 but it will work with version 9.7/10.x as well. If vCD 9.7/10.x is being used, it's highly recommended you use the [VMware Plugin Lifecycle Manager](plugin-deploy-plugin-manager.md) as it's the easiest deployment method.

*Please note that this method of deploying the plugin will make it visible to all vCD Tenants. If a Tenant's Organization is not [configured in the VSSP](https://helpcenter.veeam.com/docs/backup/em/em_configure_vcd_org.html?ver=95u4), that Tenant will simply be unable to login to the VSSP.*

Expand Down Expand Up @@ -37,6 +37,7 @@ _Sample `manage_plugin.json`:_
python3 ./manage_plugin.py register
```

* Upon successful deployment, the plugin will show up in the drop-down for vCD:
* After successfully running the script, refresh your browser window (or logout/login to vCD)
* Verify the plugin shows up in the drop-down for vCD entitled `Managed Backups`:

![vCD Drop-Down](images/vcd-dropdown.png)
2 changes: 1 addition & 1 deletion docs/plugin-deployment-methods.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Veeam Plugin for vCD deployment can be completed using many methods. In this documentation, listed are the two easiest methods. The method that you use will depend on the vCD version being used.

## vCloud Director 9.7
## vCloud Director 9.7 & 10.x

* [Uploading the Veeam Plugin using VMware Plugin Lifecycle Manager](plugin-deploy-plugin-manager.md)

Expand Down
80 changes: 80 additions & 0 deletions docs/plugin-upgrade-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Veeam Plugin for vCD

## How to upgrade the Veeam Plugin

These instructions are for Service Providers explaining how to upgrade the Veeam Plugin for vCD to the latest version. The upgrade process can be broken down into these simple steps:

1. Remove the current Veeam Plugin from vCD
2. [Follow normal plugin Installation/Configuration Steps](/#steps)

## Removing the Veeam Plugin from vCD

Removal of the Veeam Plugin from vCD depends on the version of vCD that you're running. If you're running vCD 9.7 _or newer_, the recommended method would be using the [VMware Plugin Lifecycle Manager](#using-vmware-plugin-lifecycle-manager). If you're running vCD 9.1 or 9.5, the recommended method would be using [Python](#using-python).

### Using VMware Plugin Lifecycle Manager

* Open `Customize Portal` or `Plugin Lifecycle Management` from the drop-down in the vCD Provider Portal
* *Example:* `https://vcd.home.lab/provider`

![vCD Drop-Down with Customize Portal](images/vcd-dropdown-with-customize.png)

* Mark the checkbox next to the `Veeam Self-Service Portal` plugin and click `DELETE`

![Delete Veeam Plugin](images/delete-veeam-plugin.png)

* Refresh your browser window (or logout/login to vCD)
* Verify the plugin no longer shows up in the drop-down for vCD

![VMware Plugin Lifecycle Manager](images/vcd-dropdown-plugin-manager.png)

* You can now proceed with the [normal plugin Installation/Configuration Steps](/#steps)

### Using Python

#### Requirements

* Python 3.4+
* Python libraries required:
* `requests`

#### Steps

* [Download the current plugin](https://github.com/VeeamHub/veeam-plugin-for-vcd/releases/latest)
* `veeam-vcd-plugin-X.X.X.zip`
* Unzip the plugin to your computer, open a terminal, & navigate to the plugin folder
* Modify the values in the `manage_plugin.json` accordingly for your vCD environment
* _System Administrator account is required_

_Sample `manage_plugin.json`:_

```json
{
"username": "administrator",
"org": "System",
"password": "P@$$w0rd",
"vcdUrlBase": "https://vmware.example.com"
}
```

* Execute the Python script below to list already install vCD plugins:

```text
python3 ./manage_plugin.py list
```

* Find plugin named `Veeam Self-Service Portal by Veeam` and copy the `ID` field as shown below

![Python List](images/python-list.png)

* Execute the Python script below to remove the plugin from vCD:

```text
python3 ./manage_plugin.py unregister <plugin-id>
```

* Refresh your browser window (or logout/login to vCD)
* Verify the plugin no longer shows up in the drop-down for vCD

![VMware Plugin Lifecycle Manager](images/vcd-dropdown-plugin-manager.png)

* You can now proceed with the [normal plugin Installation/Configuration Steps](/#steps)
5 changes: 1 addition & 4 deletions docs/plugin-usage-tenant.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ These instructions are for Tenants to explain the recommended method for using t

![vCD Drop-Down](images/vcd-dropdown.png)

* At the Veeam Portal, login using the same credentials as used for vCloud Director.
* *Check box `Remember me` so that credentials to be cached*

![VSSP Login](images/veeam-portal-login.png)
* Assuming the Service Provider has [enabled the Tenant Organization in the VSSP](https://helpcenter.veeam.com/docs/backup/em/em_configure_vcd_org.html?ver=95u4), the tenant will now be automatically logged in using the `veeam.sa` service account the plugin created underneath each vCD Tenant Organization.

* Once logged in, [Veeam Documentation](https://helpcenter.veeam.com/docs/backup/vsphere/vcloud_director.html?ver=95u4) should be referenced for further instructions if required.
65 changes: 63 additions & 2 deletions docs/vssp-iis-config.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,28 @@
# Veeam vCD Self-Service Backup Portal (VSSP)

{% note %}
The configuration below must be performed any time you install/upgrade Enterprise Manager.
{% endnote %}

## IIS Configuration

As a secure web application, we'll need to make a few minor adjustments to the Enterprise Manager (EM) web server to avoid [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) policy violations. Please follow these required steps:
As a secure web application, we'll need to make a few minor adjustments to the Enterprise Manager (EM) web server to avoid [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) policy violations.

### Automated Configuration

Included with the [Release Files](https://github.com/VeeamHub/veeam-plugin-for-vcd/releases/latest) is a PowerShell script to automate the IIS configuration. Using this script is super easy:

* Copy the `Set-IIS-Config.ps1` script to the Enterprise Manager server
* Edit the script and update the variables in the script accordingly to your environment

![IIS Configuration Script](images/iis-configuration-script.png)

* Run the script
* Upon successful completion of the script, your IIS configuration is complete and you can proceed to the next step: [Veeam Plugin Deployment](plugin-deployment-methods.html)

### Manual Configuration

Please follow the steps below:

* On your EM server, open `Internet Information Services (IIS) Manager`
* Navigate to the `VeeamBackup` site (see screenshot below) and open `HTTP Response Headers`
Expand All @@ -14,9 +34,50 @@ As a secure web application, we'll need to make a few minor adjustments to the E
* Access-Control-Allow-Headers: `*`
* Access-Control-Allow-Origin: `<vCD URL>`
* Access-Control-Expose-Headers: `*`
* Content-Security-Policy: `frame-ancestors <vCD FQDN>`
* X-Frame-Options: `ALLOW-FROM <vCD URL>`
* Content-Security-Policy: `frame-ancestors <vCD FQDN>`
* _Content-Security-Policy is not required for EM v10_

Note the screenshot below. In this example, the vCD public URL is `https://veeamvcd.duckdns.org`.

![IIS HTTP Headers](images/iis-http-headers.png)

#### Enterprise Manager v10

If version of Enterprise Manager you're running is v10 or newer, you'll also need the following additional configuration:

* On your EM server, open `Internet Information Services (IIS) Manager`
* Navigate to the `VeeamBackup` site (see screenshot below) and open `URL Rewrite`

![IIS Veeam Site URL Rewrite](images/iis-veeam-url-rewrite.png)

* Create the following `Precondition for Outbound Rules`:
* Name: `vCloud`
* Using: `Regular Expressions`
* Logical grouping: `Match All`
* Condition input: `{REQUEST_URI}`
* Check if input string: `Matches the Pattern`
* Pattern: `^.*/vCloud/.*$`
* Ignore case: _checkbox checked_
* Create the following `Outbound Rule`:
* Match
* Name: `Allow iframe for vCloud`
* Precondition: `vCloud`
* Matching scope: `Server Variable`
* Variable name: `RESPONSE_Content-Security-Policy`
* Variable value: `Matches the Pattern`
* Using: `Wildcards`
* Pattern: `*`
* Ignore case: _checkbox checked_
* Conditions
* Logical grouping: `Match All`
* Condition input: `{RESPONSE_Content-Security-Policy}`
* Check if input string: `Matches the Pattern`
* Pattern: `*;*;*;*;*;*;*;*;*;*;*;*;`
* Ignore case: _checkbox checked_
* Track capture groups across conditions: _checkbox checked_
* Action
* Action type: `Rewrite`
* Action Properties Value: `{C:1};{C:2};{C:3};{C:4};{C:5};{C:6};{C:7};{C:8};{C:9};{C:10};{C:11}; frame-ancestors <vCD FQDN>;`
* Example: _frame-ancestors veeamvcd.duckdns.org_
* Replace existing server variable value: _checkbox checked_

0 comments on commit 7c82f72

Please sign in to comment.