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 re-using 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>"}