Skip to content

Commit

Permalink
Surface the Guacamole server-layout parameter (#4266)
Browse files Browse the repository at this point in the history
* Surface the Guacamole server-layout parameter
  • Loading branch information
jonnyry authored Jan 18, 2025
1 parent daef19b commit 5b99b59
Show file tree
Hide file tree
Showing 7 changed files with 29 additions and 2 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ ENHANCEMENTS:
* Update Guacamole dependencies ([[#4232](https://github.com/microsoft/AzureTRE/issues/4232)])
* Add option to force tunnel TRE's Firewall ([#4237](https://github.com/microsoft/AzureTRE/issues/4237))
* Add EventGrid diagnostics to identify airlock issues ([#4258](https://github.com/microsoft/AzureTRE/issues/4258))
* Surface the server-layout parameter of Guacamole [server-layout](https://guacamole.apache.org/doc/gug/configuring-guacamole.html#session-settings) ([#4234](https://github.com/microsoft/AzureTRE/issues/4234))

BUG FIXES:
* Update KeyVault references in API to use the version so Terraform cascades the update ([#4112](https://github.com/microsoft/AzureTRE/pull/4112))
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.9.3"
__version__ = "0.9.4"
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,13 @@ private static void setConfig(
config.setParameter("drive-path", System.getenv("GUAC_DRIVE_PATH"));
config.setParameter("disable-download", System.getenv("GUAC_DISABLE_DOWNLOAD"));
config.setParameter("disable-upload", System.getenv("GUAC_DISABLE_UPLOAD"));

String serverLayout = System.getenv("GUAC_SERVER_LAYOUT");
if (serverLayout != null) {
if (!serverLayout.isEmpty()) {
config.setParameter("server-layout", serverLayout);
}
}
}

private static JSONArray getVMsFromProjectAPI(final AzureTREAuthenticatedUser user) throws GuacamoleException {
Expand Down
6 changes: 6 additions & 0 deletions templates/workspace_services/guacamole/parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,12 @@
"env": "GUAC_ENABLE_DRIVE"
}
},
{
"name": "guac_server_layout",
"source": {
"env": "GUAC_SERVER_LAYOUT"
}
},
{
"name": "image_tag",
"source": {
Expand Down
10 changes: 9 additions & 1 deletion templates/workspace_services/guacamole/porter.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
schemaVersion: 1.0.0
name: tre-service-guacamole
version: 0.12.6
version: 0.12.7
description: "An Azure TRE service for Guacamole"
dockerfile: Dockerfile.tmpl
registry: azuretre
Expand Down Expand Up @@ -75,6 +75,11 @@ parameters:
type: boolean
default: true
env: GUAC_DISABLE_UPLOAD
- name: guac_server_layout
type: string
default: ""
env: GUAC_SERVER_LAYOUT
description: "Guacamole server keyboard layout (defaults to en-us-qwerty when not set)"
- name: is_exposed_externally
type: boolean
default: true
Expand Down Expand Up @@ -144,6 +149,7 @@ install:
guac_drive_path: ${ bundle.parameters.guac_drive_path }
guac_disable_download: ${ bundle.parameters.guac_disable_download }
guac_disable_upload: ${ bundle.parameters.guac_disable_upload }
guac_server_layout: ${ bundle.parameters.guac_server_layout }
is_exposed_externally: ${ bundle.parameters.is_exposed_externally }
tre_resource_id: ${ bundle.parameters.id }
aad_authority_url: ${ bundle.parameters.aad_authority_url }
Expand Down Expand Up @@ -177,6 +183,7 @@ upgrade:
guac_drive_path: ${ bundle.parameters.guac_drive_path }
guac_disable_download: ${ bundle.parameters.guac_disable_download }
guac_disable_upload: ${ bundle.parameters.guac_disable_upload }
guac_server_layout: ${ bundle.parameters.guac_server_layout }
is_exposed_externally: ${ bundle.parameters.is_exposed_externally }
tre_resource_id: ${ bundle.parameters.id }
aad_authority_url: ${ bundle.parameters.aad_authority_url }
Expand Down Expand Up @@ -210,6 +217,7 @@ uninstall:
guac_drive_path: ${ bundle.parameters.guac_drive_path }
guac_disable_download: ${ bundle.parameters.guac_disable_download }
guac_disable_upload: ${ bundle.parameters.guac_disable_upload }
guac_server_layout: ${ bundle.parameters.guac_server_layout }
is_exposed_externally: ${ bundle.parameters.is_exposed_externally }
tre_resource_id: ${ bundle.parameters.id }
aad_authority_url: ${ bundle.parameters.aad_authority_url }
Expand Down
4 changes: 4 additions & 0 deletions templates/workspace_services/guacamole/terraform/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ variable "guac_disable_upload" {
type = bool
description = "Disable upload to the Guacamole workspace"
}
variable "guac_server_layout" {
type = string
description = "Server keyboard layout"
}
variable "is_exposed_externally" {
type = bool
description = "Is the Guacamole workspace to be exposed externally?"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ resource "azurerm_linux_web_app" "guacamole" {
GUAC_DRIVE_PATH = var.guac_drive_path
GUAC_DISABLE_DOWNLOAD = var.guac_disable_download
GUAC_DISABLE_UPLOAD = var.guac_disable_upload
GUAC_SERVER_LAYOUT = var.guac_server_layout

AUDIENCE = "@Microsoft.KeyVault(SecretUri=${data.azurerm_key_vault_secret.workspace_client_id.id})"
ISSUER = local.issuer
Expand Down

0 comments on commit 5b99b59

Please sign in to comment.