The Site Deployment Module for Citrix® Virtual Apps and Desktops aims to provide a simplified way to deploy a functional site. This module also offers flexibility and options to customize the site. A single command can be used to deploy the entire site without worrying about all of the technical details. Please note that this module is still in tech preview.
- PowerShell with version
5.0
or higher - PowerShell
Az
module with version9.0.0
or higher - Terraform with version
1.1.0
or higher
- Make a copy of the
azure.tfvars.json.example
and theinputs.tfvars.json.example
files. Then rename the new files toazure.tfvars.json
andinputs.tfvars.json
respectively - Review and customize the input variable values in
inputs.tfvars.json
to make sure that the parameters are set to desired values. For input value descriptions, you may find them in/terraform/variables.tf
file. - Set CVAD installer ISO file path variables:
- If you have CVAD installer locally, please set
cvad_installer_iso_file_path
variable to the full path to local CVAD installer and setis_cvad_installer_stored_locally
totrue
. - If you don't have the CVAD installer locally, please set
is_cvad_installer_stored_locally
variable tofalse
, setcvad_installer_iso_file_path
variable to the URL of the CVAD installer, and setcvad_installer_iso_file_md5
to the installer ISO file's MD5 value
- If you have CVAD installer locally, please set
- Please open a PowerShell session with Administrator privilege
- Run the following command in the PowerShell session to set the execution policy
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
- Run
New-ActiveDirectoryAppRegistration.ps1
script with the requiredAzureSubscriptionId
parameter, the optionalAzureTenantId
parameter, and the optionalAzureApplicationName
to create an Azure App Registration for Citrix Virtual Apps and Desktops (CVAD) deployment
./New-ActiveDirectoryAppRegistration.ps1 -AzureSubscriptionId <Your Azure Subscription Id> [-AzureTenantId <Your Azure Subscription Tenant Id>] [-AzureApplicationName <Your New Azure App Registration Name>]
- Run the
New-CvadDeployment.ps1
script with the optional-AutoApprove
flag for skipping Terraform plan verification to complete the deployment. You may also add the-PreserveAzureCredential
flag to save Azure credential inazure.tfvars.json
file, if this flag is not specified, the Azure credential will be removed once the deployment completed. The optional-ShowSessionLaunchPassword
argument may be added to show passwords for session launch or site management. The-ShowSessionLaunchPassword
flag should only be added if it is safe to store credentials in the package folder.
./New-CvadDeployment.ps1 [-AutoApprove] [-PreserveAzureCredential] [-ShowSessionLaunchPassword]
- Make sure you are using the same environment that used for the deployment
- Please open a PowerShell session with Administrator privilege
- Please run the following command in the PowerShell session to set the execution policy
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
- Run the
Remove-CvadDeployment.ps1
script for resource deletion. The optionalAutoApprove
flag can be added for skipping Terraform plan verification. You may also add the-PreserveAzureCredential
flag to save Azure credential inazure.tfvars.json
file, if this flag is not specified, the Azure credential will be removed once the deployment completed.
./Remove-CvadDeployment.ps1 [-AutoApprove] [-PreserveAzureCredential]
The code in this repository makes use of the following packages:
- Hashicorp Terraform (https://github.com/hashicorp/terraform)
- Plugin for Terraform Provider for Citrix® (https://github.com/citrix/terraform-provider-citrix)
- Terraform Provider Archive (https://github.com/hashicorp/terraform-provider-archive)
- Terraform Provider for Azure (https://github.com/hashicorp/terraform-provider-azurerm)
- Terraform Provider: Local (https://github.com/hashicorp/terraform-provider-local)
- Terraform Provider Random (https://github.com/hashicorp/terraform-provider-random)
This project is Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2023. Citrix Systems, Inc. All Rights Reserved.