Merge branch 'bugfix/KASM-7678-terraform-updates-for-gcp' into 'develop'

Resolve KASM-7678 "Bugfix/ terraform updates for gcp"

Closes KASM-7678

See merge request kasm-technologies/internal/terraform!23
This commit is contained in:
Richard Koliser 2025-09-07 05:14:32 +00:00 committed by GitLab
commit 1cc2cd2d3c
No known key found for this signature in database
13 changed files with 18 additions and 16 deletions

View file

@ -3,7 +3,7 @@
These projects are intended to be starting examples and for automating Kasm Workspaces deployments via terraform.
Administators should review the projects and add additional customizations and security enhancements as desired.
> ***NOTE:*** All of these deployments have been tested and validated with both [Terraform](https://www.terraform.io/) and [OpenTofu](https://opentofu.org/)
> ***NOTE:*** All of these deployments have been tested and validated with both [Terraform](https://www.terraform.io/) and [OpenTofu](https://opentofu.org/). For production deployments, we strongly advise using the [official workspace release](https://kasmweb.com/downloads). Please ensure you update the `kasm_build` and `kasm_version` variables accordingly. The current environment is specifically for testing the developer preview build of Kasm Workspaces.
# AWS
- [Multi-Server Single Region](aws/standard/README.md)

View file

@ -19,6 +19,7 @@ ZONE
output "ssh_keys" {
description = "SSH Keys to be used with your Kasm Deployment"
value = module.ssh_keys.ssh_key_info
sensitive = true
}
#########################################################################
#

View file

@ -15,7 +15,7 @@ manager_token = "changeme"
service_registration_token = "changeme"
## Kasm download URL
kasm_build = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.bbc15c.tar.gz"
kasm_build = "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_backend/branches/develop/kasm_workspaces_develop.tar.gz"
## VM Public Access subnets
web_access_cidrs = ["0.0.0.0/0"]
@ -83,5 +83,5 @@ aws_default_tags = {
Deployed_by = "Terraform"
Deployment_type = "Multi-Region"
Service_name = "Kasm Workspaces"
Kasm_version = "1.17.0"
Kasm_version = "developer_preview"
}

View file

@ -380,6 +380,6 @@ variable "aws_default_tags" {
type = map(any)
default = {
Service_name = "Kasm Workspaces"
Kasm_version = "1.14"
Kasm_version = "1.18"
}
}

View file

@ -49,12 +49,12 @@ manager_token = "changeme"
service_registration_token = "changeme"
## Kasm download URL
kasm_build = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.bbc15c.tar.gz"
kasm_build = "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_backend/branches/develop/kasm_workspaces_develop.tar.gz"
## Default tags for all AWS resources
aws_default_tags = {
Deployed_by = "Terraform"
Deployment_type = "Multi-Server"
Service_name = "Kasm Workspaces"
Kasm_version = "1.17.0"
Kasm_version = "developer_preview"
}

View file

@ -21,4 +21,4 @@ allow_ssh_cidrs = ["0.0.0.0/0"]
allow_kasm_web_cidrs = ["0.0.0.0/0"]
## Kasm download URL
kasm_build_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.bbc15c.tar.gz"
kasm_build_url = "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_backend/branches/develop/kasm_workspaces_develop.tar.gz"

View file

@ -122,7 +122,7 @@ No resources.
| <a name="input_kasm_manager_token"></a> [kasm\_manager\_token](#input\_kasm\_manager\_token) | The manager token value for Agents to authenticate to webapps. No special characters | `string` | `""` | no |
| <a name="input_kasm_project_name"></a> [kasm\_project\_name](#input\_kasm\_project\_name) | Kasm deployment project name (separate from GCP Project id or Project Name) | `string` | `""` | no |
| <a name="input_kasm_service_token"></a> [kasm\_service\_token](#input\_kasm\_service\_token) | The service registration token value for Guac RDP servers to authenticate to webapps. No special characters | `string` | `""` | no |
| <a name="input_kasm_source_image"></a> [kasm\_source\_image](#input\_kasm\_source\_image) | The source VM Image information to use for deploying Kasm. Recommended to use Ubuntu 20.04 Minimal. You can either explicitly define the source image to use, or the image project and family so that Terraform always chooses the latest. | <pre>object({<br> source_image = optional(string, null)<br> project = optional(string, null)<br> family = optional(string, null)<br> })</pre> | <pre>{<br> "family": "ubuntu-minimal-2004-lts",<br> "project": "ubuntu-os-cloud"<br>}</pre> | no |
| <a name="input_kasm_source_image"></a> [kasm\_source\_image](#input\_kasm\_source\_image) | The source VM Image information to use for deploying Kasm. Recommended to use Ubuntu 22.04 Minimal. You can either explicitly define the source image to use, or the image project and family so that Terraform always chooses the latest. | <pre>object({<br> source_image = optional(string, null)<br> project = optional(string, null)<br> family = optional(string, null)<br> })</pre> | <pre>{<br> "family": "ubuntu-minimal-2204-lts",<br> "project": "ubuntu-os-cloud"<br>}</pre> | no |
| <a name="input_kasm_user_password"></a> [kasm\_user\_password](#input\_kasm\_user\_password) | The standard (non administrator) user password. No special characters | `string` | `""` | no |
| <a name="input_kasm_version"></a> [kasm\_version](#input\_kasm\_version) | Kasm version to deploy | `string` | `""` | no |
| <a name="input_kasm_vpc_subnet"></a> [kasm\_vpc\_subnet](#input\_kasm\_vpc\_subnet) | VPC Subnet CIDR range. All other Subnets will be automatically calculated from this seed value. | `string` | `"10.0.0.0/16"` | no |
@ -240,7 +240,7 @@ No resources.
| <a name="input_kasm_manager_token"></a> [kasm\_manager\_token](#input\_kasm\_manager\_token) | The manager token value for Agents to authenticate to webapps. No special characters | `string` | `""` | no |
| <a name="input_kasm_project_name"></a> [kasm\_project\_name](#input\_kasm\_project\_name) | Kasm deployment project name (separate from GCP Project id or Project Name) | `string` | `""` | no |
| <a name="input_kasm_service_token"></a> [kasm\_service\_token](#input\_kasm\_service\_token) | The service registration token value for Guac RDP servers to authenticate to webapps. No special characters | `string` | `""` | no |
| <a name="input_kasm_source_image"></a> [kasm\_source\_image](#input\_kasm\_source\_image) | The source VM Image information to use for deploying Kasm. Recommended to use Ubuntu 20.04 Minimal. You can either explicitly define the source image to use, or the image project and family so that Terraform always chooses the latest. | <pre>object({<br> source_image = optional(string, null)<br> project = optional(string, null)<br> family = optional(string, null)<br> })</pre> | <pre>{<br> "family": "ubuntu-minimal-2004-lts",<br> "project": "ubuntu-os-cloud"<br>}</pre> | no |
| <a name="input_kasm_source_image"></a> [kasm\_source\_image](#input\_kasm\_source\_image) | The source VM Image information to use for deploying Kasm. Recommended to use Ubuntu 22.04 Minimal. You can either explicitly define the source image to use, or the image project and family so that Terraform always chooses the latest. | <pre>object({<br> source_image = optional(string, null)<br> project = optional(string, null)<br> family = optional(string, null)<br> })</pre> | <pre>{<br> "family": "ubuntu-minimal-2204-lts",<br> "project": "ubuntu-os-cloud"<br>}</pre> | no |
| <a name="input_kasm_user_password"></a> [kasm\_user\_password](#input\_kasm\_user\_password) | The standard (non administrator) user password. No special characters | `string` | `""` | no |
| <a name="input_kasm_version"></a> [kasm\_version](#input\_kasm\_version) | Kasm version to deploy | `string` | `""` | no |
| <a name="input_kasm_vpc_subnet"></a> [kasm\_vpc\_subnet](#input\_kasm\_vpc\_subnet) | VPC Subnet CIDR range. All other Subnets will be automatically calculated from this seed value. | `string` | `"10.0.0.0/16"` | no |

View file

@ -81,6 +81,7 @@ variable "allow_stopping_for_update" {
default = false
}
## If `destroy` doesn't work, please change the default to true, `apply`, and then try `destroy` again.
variable "instance_delete_protection" {
description = "Prevent instance from accidental deletion"
type = bool

View file

@ -15,7 +15,7 @@ terraform {
}
tls = {
source = "hashicorp/tls"
version = "~> 2.0"
version = "~> 4.0"
}
}
}

View file

@ -23,9 +23,9 @@ show_passwords = true
## Kasm variables
kasm_domain_name = "example.kasmweb.com"
kasm_project_name = ""
deployment_type = "Multi-Region" # Valid values Multi-Region or Multi-Server
kasm_version = "1.17.0"
kasm_download_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.bbc15c.tar.gz"
deployment_type = "Multi-Server" # Valid values Multi-Region or Multi-Server
kasm_version = "developer_preview"
kasm_download_url = "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_backend/branches/develop/kasm_workspaces_develop.tar.gz"
## Kasm VM instance configurations
# Webapp

View file

@ -692,7 +692,7 @@ variable "kasm_source_image" {
default = {
project = "ubuntu-os-cloud"
family = "ubuntu-minimal-2004-lts"
family = "ubuntu-minimal-2204-lts"
}
}

View file

@ -40,4 +40,4 @@ kasm_server_memory = 2
kasm_server_hdd_size = 120
## Kasm download URL
kasm_build_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.bbc15c.tar.gz"
kasm_build_url = "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_backend/branches/develop/kasm_workspaces_develop.tar.gz"

View file

@ -2,7 +2,7 @@
oci_domain_name = "kasm.contoso.com"
project_name = "contoso"
vcn_subnet_cidr = "10.0.0.0/16"
kasm_build_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.bbc15c.tar.gz"
kasm_build_url = "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_backend/branches/develop/kasm_workspaces_develop.tar.gz"
## OCI Authentication variables
tenancy_ocid = ""