Guacamole User Resources
- linuxvm - a Linux-based virtual machine
- windowsvm - A Windows-based virtual machine
Customising the user resources
The guacamole-azure-linuxvm and guacamole-azure-windowsvm folders follow a consistent layout.
To update one of these templates (or to create a new template based on these folders) to use different image details or VM sizes, there are a few files that need to be updated:
| File | Description |
|---|---|
porter.yaml |
This file describes the template and the name should be updated when creating a template based on the folder. This file also contains a custom data section that describes the VM properties.Additionally, the version needs to be updated to deploy an updated version |
template_schema.json |
This file controls the validation applied to the template, for example specifying the valid options for fields such as size and image |
Configuration
In porter.yaml, the custom section contains a couple of sub-sections (shown below)
custom:
vm_sizes:
"2 CPU | 8GB RAM": Standard_D2s_v5
"4 CPU | 16GB RAM": Standard_D4s_v5
"8 CPU | 32GB RAM": Standard_D8s_v5
"16 CPU | 64GB RAM": Standard_D16s_v5
image_options:
"Ubuntu 22.04 LTS":
source_image_reference:
publisher: canonical
offer: 0001-com-ubuntu-server-jammy
sku: 22_04-lts-gen2
version: latest
apt_sku: 22.04
install_ui: true
conda_config: false
# "Custom Image From Gallery":
# source_image_name: your-image
# install_ui: true
# conda_config: true
The vm_sizes section is a map of a custom SKU description to the SKU identifier.
The image_options section defined the possible image choices for the template (note that the name of the image used here needs to be included in the corresponding enum in template_schema.json).
Within the image definition in image_options there are a few properties that can be specified:
| Name | Description |
|---|---|
source_image_name |
Specify VM image to use by name (see notes below for identifying the image gallery containing the image) |
source_image_reference |
Specify VM image to use by publisher, offer, sku & version (e.g. for Azure Marketplace images) |
install_ui |
(Linux only) Set true to install desktop environment |
conda_config |
Set true to configure conda |
When specifying images using source_image_name, the image must be stored in an image gallery.
To enable reusing built user resource templates across environments where the image may vary, the image gallery is configured via the RP_BUNDLE_VALUES environment variable when deploying the TRE.
The RP_BUNDLE_VALUES variable is a JSON object, and the image_gallery_id property within it identifies the image gallery that contains the images specified by source_image_name:
RP_BUNDLE_VALUES='{"image_gallery_id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<your-rg>/providers/Microsoft.Compute/galleries/<your-gallery-name>"}