diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0a842360f0e7307f67e8b55ab7d973a2fded4ee2..6176d17d326419af4b67edd210e6004d7d80dc9c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,7 +20,8 @@ build_docker:
   image: 'europe-north1-docker.pkg.dev/holi-shared/docker-hub-remote/docker:27'
   stage: "build"
   services:
-    - 'docker:27-dind'
+    - name: 'europe-north1-docker.pkg.dev/holi-shared/docker-hub-remote/docker:27-dind'
+      alias: 'docker'
   variables:
     # this could be fetched via terraform output ("gcr_location" in infra project), but then we would need an extra job for terraform
     ARTIFACT_IMAGE: 'europe-north1-docker.pkg.dev/holi-shared/docker/holi-chat-server'
@@ -40,7 +41,7 @@ build_docker:
 .deploy:
   stage: "deploy"
   image:
-    name: 'europe-north1-docker.pkg.dev/holi-shared/docker-hub-remote/hashicorp/terraform:1.6.6'
+    name: 'europe-north1-docker.pkg.dev/holi-shared/docker-hub-remote/hashicorp/terraform:1.9.8'
     # default entrypoint is terraform command, but we want to run shell scripts
     entrypoint: ["/bin/sh", "-c"]
   variables:
diff --git a/.terraform-version b/.terraform-version
index 9c6d6293b1a8f448def89c2d5bfa63b89a24e0cc..66beabb5795e7441046623a209a2c48f22e7d20a 100644
--- a/.terraform-version
+++ b/.terraform-version
@@ -1 +1 @@
-1.6.1
+1.9.8
diff --git a/terraform/environments/scripts/create-or-update-env.sh b/terraform/environments/scripts/create-or-update-env.sh
index 89d2951406f8c790079204b1a0fe0d1308130939..0a0e9df84968a168a5b6416f31f29335fa8c333c 100755
--- a/terraform/environments/scripts/create-or-update-env.sh
+++ b/terraform/environments/scripts/create-or-update-env.sh
@@ -13,6 +13,6 @@ TAG=$2
 
 TF_LOG_PATH=terraform-init.log terraform init
 TF_LOG_PATH=terraform-version.log terraform version
-TF_LOG_PATH=terraform-workspace.log terraform workspace new "$WORKSPACE" || terraform workspace select "$WORKSPACE"
+TF_LOG_PATH=terraform-workspace.log terraform workspace select -or-create=true "$WORKSPACE"
 TF_LOG_PATH=terraform-plan.log terraform plan -var="image_tag=$TAG" -out plan -no-color | tee tfplan.plain
 TF_LOG_PATH=terraform-apply.log terraform apply -auto-approve -parallelism=50 plan
\ No newline at end of file