diff --git a/CHANGELOG.md b/CHANGELOG.md
index 236f0e205..dc53cbd56 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,8 @@ ENHANCEMENTS:
* Split log entries with [Log chunk X of Y] for better readability. ([[#3992](https://github.com/microsoft/AzureTRE/issues/3992)
* Expose APP_SERVICE_SKU build variable to allow enablement of App Gateway WAF ([#4111](https://github.com/microsoft/AzureTRE/pull/4111))
* Update Terraform to use Azure AD authentication rather than storage account keys ([#4103](https://github.com/microsoft/AzureTRE/issues/4103))
+* Update obsolete Terraform properties ([#4136](https://github.com/microsoft/AzureTRE/issues/4136))
+* Update Guacamole version and dependencies ([#4140](https://github.com/microsoft/AzureTRE/issues/4140))
BUG FIXES:
- Update KeyVault references in API to use the version so Terraform cascades the update ([#4112](https://github.com/microsoft/AzureTRE/pull/4112))
diff --git a/templates/workspace_services/guacamole/guacamole-server/docker/Dockerfile b/templates/workspace_services/guacamole/guacamole-server/docker/Dockerfile
index c1ab1ca34..702028694 100644
--- a/templates/workspace_services/guacamole/guacamole-server/docker/Dockerfile
+++ b/templates/workspace_services/guacamole/guacamole-server/docker/Dockerfile
@@ -11,9 +11,9 @@ RUN bash /tmp/maven_package_and_exit_succesfully.sh
FROM scratch as test-results
COPY --from=client_build /target/surefire-reports/* /
-FROM guacamole/guacd:1.5.3
+FROM guacamole/guacd:1.5.5
-ARG GUACAMOLE_AZURE_VERSION=0.3.4
+ARG GUACAMOLE_AZURE_VERSION=0.4.0
ENV DEBIAN_FRONTEND=noninteractive
@@ -26,7 +26,7 @@ RUN apk add --update --no-cache wget openssh openjdk11-jre \
ENV CATALINA_BASE=/usr/share/tomcat9/
RUN TOMCAT_ARCHIVE="tomcat.tar.gz" && \
- TOMCAT_VER="9.0.83" && \
+ TOMCAT_VER="9.0.97" && \
wget -O "$TOMCAT_ARCHIVE" -N "https://archive.apache.org/dist/tomcat/tomcat-9/v${TOMCAT_VER}/bin/apache-tomcat-${TOMCAT_VER}.tar.gz" --progress=dot:giga && \
tar xzf "$TOMCAT_ARCHIVE" && \
rm -f "$TOMCAT_ARCHIVE" && \
@@ -57,14 +57,14 @@ RUN wget -O "${GUACAMOLE_HOME}/guacamole.war" "http://apache.org/dyn/closer.cgi?
ENV OAUTH2_PROXY_HOME=/etc/oauth2-proxy
RUN OAUTH2_PROXY_ARCHIVE=oauth2-proxy.tar.gz && \
- wget -O "$OAUTH2_PROXY_ARCHIVE" "https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v7.4.0/oauth2-proxy-v7.4.0.linux-amd64.tar.gz" --progress=dot:giga && \
+ wget -O "$OAUTH2_PROXY_ARCHIVE" "https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v7.7.1/oauth2-proxy-v7.7.1.linux-amd64.tar.gz" --progress=dot:giga && \
mkdir -p "$OAUTH2_PROXY_HOME" && \
tar zxpf "$OAUTH2_PROXY_ARCHIVE" -C "$OAUTH2_PROXY_HOME" --strip-components=1 && \
rm -f "$OAUTH2_PROXY_ARCHIVE"
COPY ./docker/index.jsp "$CATALINA_BASE"/webapps/ROOT/index.jsp
-RUN wget -O "/tmp/applicationinsights-agent.jar" "https://github.com/microsoft/ApplicationInsights-Java/releases/download/3.4.18/applicationinsights-agent-3.4.18.jar" --progress=dot:giga
+RUN wget -O "/tmp/applicationinsights-agent.jar" "https://github.com/microsoft/ApplicationInsights-Java/releases/download/3.6.2/applicationinsights-agent-3.6.2.jar" --progress=dot:giga
ENV CATALINA_OPTS="$CATALINA_OPTS -javaagent:/tmp/applicationinsights-agent.jar"
ENTRYPOINT [ "/init" ]
diff --git a/templates/workspace_services/guacamole/guacamole-server/docker/version.txt b/templates/workspace_services/guacamole/guacamole-server/docker/version.txt
index de77196f4..3e2f46a3a 100644
--- a/templates/workspace_services/guacamole/guacamole-server/docker/version.txt
+++ b/templates/workspace_services/guacamole/guacamole-server/docker/version.txt
@@ -1 +1 @@
-__version__ = "0.8.6"
+__version__ = "0.9.0"
diff --git a/templates/workspace_services/guacamole/guacamole-server/guacamole-auth-azure/pom.xml b/templates/workspace_services/guacamole/guacamole-server/guacamole-auth-azure/pom.xml
index 513c5a5d5..f0ff33ecf 100644
--- a/templates/workspace_services/guacamole/guacamole-server/guacamole-auth-azure/pom.xml
+++ b/templates/workspace_services/guacamole/guacamole-server/guacamole-auth-azure/pom.xml
@@ -6,7 +6,7 @@
org.apache.guacamole
guacamole-auth-tre
- 0.3.4
+ 0.4.0
jar
guacamole-azure-tre
@@ -48,18 +48,18 @@
com.azure
azure-security-keyvault-secrets
- 4.8.4
+ 4.9.0
com.azure
azure-identity
- 1.13.0
+ 1.14.0
org.json
json
- 20231013
+ 20240303
org.apache.httpcomponents
@@ -135,7 +135,7 @@
org.apache.maven.plugins
maven-dependency-plugin
- 3.6.0
+ 3.8.1
copy-dependencies
@@ -153,7 +153,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- 3.1.2
+ 3.5.2
@@ -162,7 +162,7 @@
maven-clean-plugin
- 3.3.1
+ 3.4.0
@@ -171,11 +171,11 @@
maven-compiler-plugin
- 3.11.0
+ 3.13.0
maven-jar-plugin
- 3.3.0
+ 3.4.2
diff --git a/templates/workspace_services/guacamole/porter.yaml b/templates/workspace_services/guacamole/porter.yaml
index 4f2bce5f8..ee5bc0440 100644
--- a/templates/workspace_services/guacamole/porter.yaml
+++ b/templates/workspace_services/guacamole/porter.yaml
@@ -1,7 +1,7 @@
---
schemaVersion: 1.0.0
name: tre-service-guacamole
-version: 0.11.0
+version: 0.12.0
description: "An Azure TRE service for Guacamole"
dockerfile: Dockerfile.tmpl
registry: azuretre
diff --git a/templates/workspaces/base/terraform/.terraform.lock.hcl b/templates/workspaces/base/terraform/.terraform.lock.hcl
index 3b9b42801..4d6d7dab3 100644
--- a/templates/workspaces/base/terraform/.terraform.lock.hcl
+++ b/templates/workspaces/base/terraform/.terraform.lock.hcl
@@ -3,8 +3,9 @@
provider "registry.terraform.io/azure/azapi" {
version = "1.15.0"
- constraints = "1.15.0"
+ constraints = ">= 1.15.0, 1.15.0"
hashes = [
+ "h1:Y7ruMuPh8UJRTRl4rm+cdpGtmURx2taqiuqfYaH3o48=",
"h1:gIOgxVmFSxHrR+XOzgUEA+ybOmp8kxZlZH3eYeB/eFI=",
"zh:0627a8bc77254debc25dc0c7b62e055138217c97b03221e593c3c56dc7550671",
"zh:2fe045f07070ef75d0bec4b0595a74c14394daa838ddb964e2fd23cc98c40c34",