Merge branch 'create-1.13.0-branch-for-terraform-project-update-readme' into 'develop'

Update for 1.13.0 release

See merge request kasm-technologies/internal/terraform!11
This commit is contained in:
Richard Koliser 2023-05-02 04:10:35 +00:00
commit a27368ea3d
15 changed files with 59 additions and 59 deletions

View file

@ -86,7 +86,7 @@ Create a user via the IAM console that will be used for the terraform deployment
| `admin_password` | The Kasm Administrative user login password. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `user_password` | A Kasm standard (non-administrator) user password. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `manager_token` | The manager token value used by Kasm agents to authenticate to the Kasm WebApps. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `kasm_build` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"` |
| `kasm_build` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"` |
| `aws_default_tags` | A Map of all tags you wish to apply to all TF created resources in this deployment. | Map(Any) | <pre>{<br/>&nbsp;&nbsp;Service_name = "Kasm Workspaces"<br/>&nbsp;&nbsp;Kasm_version = "1.12"<br/>}</pre> |

View file

@ -10,7 +10,7 @@ user_password = "changeme"
admin_password = "changeme"
manager_token = "changeme"
kasm_build = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"
kasm_build = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"
ssh_access_cidrs = ["0.0.0.0/0"]
web_access_cidrs = ["0.0.0.0/0"]

View file

@ -162,23 +162,23 @@ variable "secondary_regions_settings" {
type = map(any)
validation {
condition = can([for region in var.secondary_regions_settings : regex("^([a-z]{2}-[a-z]{4,}-[\\d]{1})$", region.agent_region)])
condition = alltrue([for region in var.secondary_regions_settings : can(regex("^([a-z]{2}-[a-z]{4,}-[\\d]{1})$", region.agent_region))])
error_message = "Verify the regions in the secondary_regions_settings variable and ensure they are valid AWS regions in a valid format (e.g. us-east-1)."
}
validation {
condition = can([for ami_id in var.secondary_regions_settings : regex("^(ami-[a-f0-9]{17})", ami_id.agent_ec2_ami_id)])
condition = alltrue([for ami_id in var.secondary_regions_settings : can(regex("^(ami-[a-f0-9]{17})", ami_id.agent_ec2_ami_id))])
error_message = "Please verify that all of your Region's AMI IDs are in the correct format for AWS (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html)."
}
validation {
condition = can([for instance_type in var.secondary_regions_settings : regex("^(([a-z-]{1,3})(\\d{1,2})?(\\w{1,4})?)\\.(nano|micro|small|medium|metal|large|(2|3|4|6|8|9|10|12|16|18|24|32|48|56|112)?xlarge)", instance_type.agent_instance_type)])
condition = alltrue([for instance_type in var.secondary_regions_settings : can(regex("^(([a-z-]{1,3})(\\d{1,2})?(\\w{1,4})?)\\.(nano|micro|small|medium|metal|large|(2|3|4|6|8|9|10|12|16|18|24|32|48|56|112)?xlarge)", instance_type.agent_instance_type))])
error_message = "Check the Instance types used in your secondary_regions_settings and ensure they are valid AWS Instance types (https://aws.amazon.com/ec2/instance-types/)."
}
validation {
condition = can([for number_of_agents in var.secondary_regions_settings : number_of_agents.num_agents >= 0 && number_of_agents.num_agents <= 100 && floor(number_of_agents.num_agents) == number_of_agents.num_agents])
condition = alltrue([for number_of_agents in var.secondary_regions_settings : number_of_agents.num_agents >= 0 && number_of_agents.num_agents <= 100 && floor(number_of_agents.num_agents) == number_of_agents.num_agents])
error_message = "Check the number of agents in the secondary_regions_settings variable. Acceptable number of Kasm Agents range between 0-100."
}
validation {
condition = can([for subnet in var.secondary_regions_settings : cidrhost(subnet.agent_vpc_cidr, 0)])
condition = alltrue([for subnet in var.secondary_regions_settings : can(cidrhost(subnet.agent_vpc_cidr, 0))])
error_message = "Verify the VPC subnet in your secondary_regions_settings. They must all be valid IPv4 CIDRs."
}
}
@ -265,7 +265,7 @@ variable "ssh_access_cidrs" {
default = ["0.0.0.0/0"]
validation {
condition = can([for subnet in var.ssh_access_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.ssh_access_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the ssh_access_cidr variable is invalid."
}
}
@ -276,7 +276,7 @@ variable "web_access_cidrs" {
default = ["0.0.0.0/0"]
validation {
condition = can([for subnet in var.web_access_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.web_access_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the web_access_cidrs variable is invalid."
}
}

View file

@ -73,7 +73,7 @@ Create a user via the IAM console that will be used for the terraform deployment
| `user_password` | A Kasm standard (non-administrator) user password. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `manager_token` | The manager token value used by Kasm agents to authenticate to the Kasm WebApps. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `service_registration_token` | The service registration token value used by Guac RDP servers to authenticate to the Kasm Webapps. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `kasm_build` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"` |
| `kasm_build` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"` |
| `aws_default_tags` | A Map of all tags you wish to apply to all TF created resources in this deployment. | Map(Any) | <pre align=left>{<br/>&nbsp;&nbsp;Service_name = "Kasm Workspaces"<br/>&nbsp;&nbsp;Kasm_version = "1.12"<br/>}</pre> |

View file

@ -32,7 +32,7 @@ manager_token = "changeme"
service_registration_token = "changeme"
## Kasm download URL
kasm_build = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"
kasm_build = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"
## Default tags for all AWS resources
aws_default_tags = {

View file

@ -176,7 +176,7 @@ variable "ssh_access_cidrs" {
default = ["0.0.0.0/0"]
validation {
condition = can([for subnet in var.ssh_access_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.ssh_access_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the ssh_access_cidr variable is invalid."
}
}
@ -187,7 +187,7 @@ variable "web_access_cidrs" {
default = ["0.0.0.0/0"]
validation {
condition = can([for subnet in var.web_access_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.web_access_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the load_balancer_public_access variable is invalid."
}
}

View file

@ -53,7 +53,7 @@ This project will launch a droplet and allow connections using the ssh keys defi
| `vpc_subnet_cidr` | The VPC Subnet CIDR where you wish to deploy Kasm | String | `"10.0.0.0/24"` |
| `digital_ocean_droplet_slug` | The Default Digital Ocean Droplet Slug: https://slugs.do-api.dev/ | String | `"s-2vcpu-4gb-intel"` |
| `digital_ocean_image` | Default Image for Ubuntu 20.04 LTS with Docker | String | `"docker-20-04"` |
| `kasm_build_url` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"` |
| `kasm_build_url` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"` |
| `admin_password` | The Kasm Administrative user login password. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `user_password` | A Kasm standard (non-administrator) user password. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `allow_ssh_cidrs` | A list of subnets in CIDR notation allowed to SSH into your kasm servers | List(String) | `["10.0.0.0/16","172.217.22.14/32"]` |

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.12.0.d4fd8a.tar.gz"
kasm_build_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"

View file

@ -36,7 +36,7 @@ variable "ssh_key_fingerprints" {
type = list(string)
validation {
condition = can([for fingerprint in var.ssh_key_fingerprints : regex("^([a-f0-9]{2}:?){16}$", fingerprint)])
condition = alltrue([for fingerprint in var.ssh_key_fingerprints : can(regex("^([a-f0-9]{2}:?){16}$", fingerprint))])
error_message = "One of the SSH Key fingerprints is incorrectly formatted. It should be 16 colon-delimited hex bytes (e.g. 12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef)."
}
}
@ -108,7 +108,7 @@ variable "allow_ssh_cidrs" {
default = ["0.0.0.0/0"]
validation {
condition = can([for subnet in var.allow_ssh_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.allow_ssh_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the allow_ssh_cidrs list is invalid."
}
}
@ -119,7 +119,7 @@ variable "allow_kasm_web_cidrs" {
default = ["0.0.0.0/0"]
validation {
condition = can([for subnet in var.allow_kasm_web_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.allow_kasm_web_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the allow_ssh_cidrs list is invalid."
}
}

View file

@ -69,7 +69,7 @@ Create an SSL certificate that matches the desired domain for the deployment. e.
| `allow_web_cidrs` | A list of subnets in CIDR notation allowed Web access to your kasm servers | List(String) | `["0.0.0.0/0"]` |
| `admin_password` | The Kasm Administrative user login password. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `user_password` | A Kasm standard (non-administrator) user password. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `kasm_build_url` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"` |
| `kasm_build_url` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"` |
| `swap_size` | The amount of swap (in MB) to configure inside the Kasm servers. | Number | `2048` |
| `instance_shape` | The OCI instance shape to use for Kasm deployment. Kasm recommends using a Flex instance type. | String | `"VM.Standard.E4.Flex"` |
| `kasm_server_cpus` | The number of CPUs, memory in GB, and HDD size to use for Kasm WebApps. | Number | `4` |

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.12.0.d4fd8a.tar.gz"
kasm_build_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"

View file

@ -74,7 +74,7 @@ variable "private_key_path" {
sensitive = true
validation {
condition = can(fileexists(var.private_key_path))
condition = fileexists(var.private_key_path)
error_message = "The variable private_key_path must point to a valid OCI API Key file."
}
@ -119,7 +119,7 @@ variable "allow_ssh_cidrs" {
type = list(string)
validation {
condition = can([for subnet in var.allow_ssh_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.allow_ssh_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the allow_ssh_cidrs list is invalid."
}
}
@ -129,7 +129,7 @@ variable "allow_web_cidrs" {
type = list(string)
validation {
condition = can([for subnet in var.allow_web_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.allow_web_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the allow_web_cidrs list is invalid."
}
}
@ -140,7 +140,7 @@ variable "letsencrypt_cert_support_email" {
default = ""
validation {
condition = can(var.letsencrypt_cert_support_email == "" ? true : can(regex("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$", var.letsencrypt_cert_support_email)))
condition = var.letsencrypt_cert_support_email == "" ? true : can(regex("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$", var.letsencrypt_cert_support_email))
error_message = "The ssl_cert_support_email must be a valid email address format."
}
}
@ -151,7 +151,7 @@ variable "letsencrypt_server_type" {
default = ""
validation {
condition = can(contains(["staging", "prod", ""], var.letsencrypt_server_type))
condition = contains(["staging", "prod", ""], var.letsencrypt_server_type)
error_message = "Allowed values for the letsencrypt_server_type variable are: staging, prod, and empty string. For reference: Staging generates certificates that a browser will not trust, but are formatted correctly to apply to resources; while Prod generates valid, useable, trusted certificates. NOTE: Prod certificate generation is limited to 5 times per week, so if you are testing Kasm or intend to possibly re-deploy multiple times, it is recommended to use Staging (which has a much higher generation limit since it is intended for testing) until you are ready to deploy your 'final' version. If you have your own CA and are bringing your own certificates, then copy/paste then set this value to an empty string."
}
}
@ -162,12 +162,12 @@ variable "kasm_ssl_crt_path" {
default = ""
validation {
condition = can(var.kasm_ssl_crt_path == "" ? true : can(fileexists(var.kasm_ssl_crt_path)))
condition = var.kasm_ssl_crt_path == "" ? true : fileexists(var.kasm_ssl_crt_path)
error_message = "The variable kasm_ssl_crt_path must point to a valid OCI API Key file or be left empty (using Terraform-generated Lets Encrypt certificates)."
}
validation {
condition = can(var.kasm_ssl_crt_path == "" ? true : !can(regex("replaceme", file(var.kasm_ssl_crt_path))))
condition = var.kasm_ssl_crt_path == "" ? true : !can(regex("replaceme", file(var.kasm_ssl_crt_path)))
error_message = "You must enter a valid SSL Cert in the file located at the kasm_ssl_crt_path or be left empty (using Terraform-generated Lets Encrypt certificates)."
}
}
@ -179,12 +179,12 @@ variable "kasm_ssl_key_path" {
default = ""
validation {
condition = can(var.kasm_ssl_key_path == "" ? true : can(fileexists(var.kasm_ssl_key_path)))
condition = var.kasm_ssl_key_path == "" ? true : fileexists(var.kasm_ssl_key_path)
error_message = "The variable kasm_ssl_key_path must point to a valid OCI API Key file or be left empty (using Terraform-generated Lets Encrypt certificates)."
}
validation {
condition = can(var.kasm_ssl_key_path == "" ? true : !can(regex("replaceme", file(var.kasm_ssl_key_path))))
condition = var.kasm_ssl_key_path == "" ? true : !can(regex("replaceme", file(var.kasm_ssl_key_path)))
error_message = "You must enter a valid SSL Cert in the file located at the kasm_ssl_key_path or be left empty (using Terraform-generated Lets Encrypt certificates)."
}
}
@ -226,7 +226,7 @@ variable "kasm_server_cpus" {
type = number
validation {
condition = can(var.kasm_server_cpus >= 2)
condition = var.kasm_server_cpus >= 2
error_message = "Kasm Webapps should have at least 2 CPUs to ensure enough resources for Kasm services."
}
}
@ -236,7 +236,7 @@ variable "kasm_server_memory" {
type = number
validation {
condition = can(var.kasm_server_memory >= 2)
condition = var.kasm_server_memory >= 2
error_message = "Kasm Webapps should have at least 2 GB Memory to ensure enough resources for Kasm services."
}
}
@ -246,7 +246,7 @@ variable "kasm_server_hdd_size" {
type = number
validation {
condition = can(var.kasm_server_hdd_size >= 120)
condition = var.kasm_server_hdd_size >= 120
error_message = "Kasm Webapps should have at least a 120 GB HDD to ensure enough space Kasm Workspaces images."
}
}

View file

@ -77,7 +77,7 @@ Create an SSL certificate that matches the desired domain for the deployment. e.
| `user_password` | A Kasm standard (non-administrator) user password. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `manager_token` | The manager token value used by Kasm agents to authenticate to the Kasm WebApps. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `service_registration_token` | The service registration token value used by Guac RDP servers to authenticate to the Kasm Webapps. String from 12-30 characters in length with no special characters. | String | `"1qaz2wsx3EDC4RFV"` |
| `kasm_build_url` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"` |
| `kasm_build_url` | The download URL for the desired Kasm Workspaces version. | String | `"https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"` |
| `swap_size` | The amount of swap (in MB) to configure inside the Kasm servers. | Number | `2048` |
| `instance_shape` | The OCI instance shape to use for Kasm deployment. Kasm recommends using a Flex instance type. | String | `"VM.Standard.E4.Flex"` |
| `kasm_webapp_vm_settings` | The number of CPUs, memory in GB, and HDD size to use for Kasm WebApps. | Map(Any) | <pre align=left>{<br/>&nbsp;&nbsp;cpus = 2<br/>&nbsp;&nbsp;memory = 2<br/>&nbsp;&nbsp;hdd_size_gb = 50<br/>}</pre> |

View file

@ -1,7 +1,7 @@
## Kasm deployment settings
oci_domain_name = "kasm.contoso.com"
project_name = "contoso"
kasm_build_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.12.0.d4fd8a.tar.gz"
kasm_build_url = "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.13.0.002947.tar.gz"
vcn_subnet_cidr = "10.0.0.0/16"
## OCI Authentication variables

View file

@ -54,7 +54,7 @@ variable "private_key_path" {
sensitive = true
validation {
condition = can(fileexists(var.private_key_path))
condition = fileexists(var.private_key_path)
error_message = "The variable private_key_path must point to a valid OCI API Key file."
}
@ -118,7 +118,7 @@ variable "allow_ssh_cidrs" {
type = list(string)
validation {
condition = can([for subnet in var.allow_ssh_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.allow_ssh_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the allow_ssh_cidrs list is invalid."
}
}
@ -128,7 +128,7 @@ variable "allow_web_cidrs" {
type = list(string)
validation {
condition = can([for subnet in var.allow_web_cidrs : cidrhost(subnet, 0)])
condition = alltrue([for subnet in var.allow_web_cidrs : can(cidrhost(subnet, 0))])
error_message = "One of the subnets provided in the allow_web_cidrs list is invalid."
}
}
@ -139,7 +139,7 @@ variable "letsencrypt_cert_support_email" {
default = ""
validation {
condition = can(var.letsencrypt_cert_support_email == "" ? true : can(regex("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$", var.letsencrypt_cert_support_email)))
condition = var.letsencrypt_cert_support_email == "" ? true : can(regex("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$", var.letsencrypt_cert_support_email))
error_message = "The ssl_cert_support_email must be a valid email address format."
}
}
@ -150,7 +150,7 @@ variable "letsencrypt_server_type" {
default = ""
validation {
condition = can(contains(["staging", "prod", ""], var.letsencrypt_server_type))
condition = contains(["staging", "prod", ""], var.letsencrypt_server_type)
error_message = "Allowed values for the letsencrypt_server_type variable are: staging, prod. For reference: Staging generates certificates that a browser will not trust, but are formatted correctly to apply to resources; while Prod generates valid, useable, trusted certificates. NOTE: Prod certificate generation is limited to 5 times per week, so if you are testing Kasm or intend to possibly re-deploy multiple times, it is recommended to use Staging (which has a much higher generation limit since it is intended for testing) until you are ready to deploy your 'final' version."
}
}
@ -161,12 +161,12 @@ variable "kasm_ssl_crt_path" {
default = ""
validation {
condition = can(var.kasm_ssl_crt_path == "" ? true : can(fileexists(var.kasm_ssl_crt_path)))
condition = var.kasm_ssl_crt_path == "" ? true : can(fileexists(var.kasm_ssl_crt_path))
error_message = "The variable kasm_ssl_crt_path must point to a valid OCI API Key file."
}
validation {
condition = can(var.kasm_ssl_crt_path == "" ? true : !can(regex("replaceme", file(var.kasm_ssl_crt_path))))
condition = var.kasm_ssl_crt_path == "" ? true : !can(regex("replaceme", file(var.kasm_ssl_crt_path)))
error_message = "You must enter a valid SSL Cert in the file located at the kasm_ssl_crt_path."
}
}
@ -178,12 +178,12 @@ variable "kasm_ssl_key_path" {
default = ""
validation {
condition = can(var.kasm_ssl_key_path == "" ? true : can(fileexists(var.kasm_ssl_key_path)))
condition = var.kasm_ssl_key_path == "" ? true : can(fileexists(var.kasm_ssl_key_path))
error_message = "The variable kasm_ssl_key_path must point to a valid OCI API Key file."
}
validation {
condition = can(var.kasm_ssl_key_path == "" ? true : !can(regex("replaceme", file(var.kasm_ssl_key_path))))
condition = var.kasm_ssl_key_path == "" ? true : !can(regex("replaceme", file(var.kasm_ssl_key_path)))
error_message = "You must enter a valid SSL Cert in the file located at the kasm_ssl_key_path."
}
}
@ -303,15 +303,15 @@ variable "kasm_webapp_vm_settings" {
})
validation {
condition = can(var.kasm_webapp_vm_settings.cpus >= 2)
error_message = "Kasm Webapps should have at least 2 CPUs to ensure enough resources for Kasm services."
condition = var.kasm_webapp_vm_settings.cpus >= 1
error_message = "Kasm Webapps should have at least 1 CPUs to ensure enough resources for Kasm services."
}
validation {
condition = can(var.kasm_webapp_vm_settings.memory >= 2)
condition = var.kasm_webapp_vm_settings.memory >= 2
error_message = "Kasm Webapps should have at least 2 GB Memory to ensure enough resources for Kasm services."
}
validation {
condition = can(var.kasm_webapp_vm_settings.hdd_size_gb >= 50)
condition = var.kasm_webapp_vm_settings.hdd_size_gb >= 50
error_message = "Kasm Webapps should have at least a 50 GB HDD to meet OCI minimum requirements, and ensure enough space Kasm services."
}
}
@ -325,15 +325,15 @@ variable "kasm_database_vm_settings" {
})
validation {
condition = can(var.kasm_database_vm_settings.cpus >= 2)
error_message = "Kasm Webapps should have at least 2 CPUs to ensure enough resources for Kasm services."
condition = var.kasm_database_vm_settings.cpus >= 1
error_message = "Kasm Webapps should have at least 1 CPUs to ensure enough resources for Kasm services."
}
validation {
condition = can(var.kasm_database_vm_settings.memory >= 2)
condition = var.kasm_database_vm_settings.memory >= 2
error_message = "Kasm Webapps should have at least 2 GB Memory to ensure enough resources for Kasm services."
}
validation {
condition = can(var.kasm_database_vm_settings.hdd_size_gb >= 50)
condition = car.kasm_database_vm_settings.hdd_size_gb >= 50
error_message = "Kasm Webapps should have at least a 50 GB HDD to meet OCI minimum requirements, and ensure enough space Kasm services."
}
}
@ -347,15 +347,15 @@ variable "kasm_agent_vm_settings" {
})
validation {
condition = can(var.kasm_agent_vm_settings.cpus >= 2)
condition = var.kasm_agent_vm_settings.cpus >= 2
error_message = "Kasm Agents should have at least 2 CPUs to ensure enough resources for Kasm services. More CPU is definitely better for the Kasm Agent as it is the VM that runs your Kasm workspaces."
}
validation {
condition = can(var.kasm_agent_vm_settings.memory >= 2)
condition = var.kasm_agent_vm_settings.memory >= 2
error_message = "Kasm Agents should have at least 4 GB Memory to ensure enough resources for Kasm services. More Memory is definitely better for the Kasm Agent as it is the VM that runs your Kasm workspaces."
}
validation {
condition = can(var.kasm_agent_vm_settings.hdd_size_gb >= 120)
condition = var.kasm_agent_vm_settings.hdd_size_gb >= 120
error_message = "Kasm Agents should have at least a 120 GB HDD to meet OCI minimum requirements, and ensure enough space to pull the default Kasm workspace images."
}
}
@ -369,15 +369,15 @@ variable "kasm_guac_vm_settings" {
})
validation {
condition = can(var.kasm_guac_vm_settings.cpus >= 4)
error_message = "Kasm Guac RDP servers should have at least 4 CPUs to ensure enough resources for Kasm services."
condition = var.kasm_guac_vm_settings.cpus >= 2
error_message = "Kasm Guac RDP servers should have at least 2 CPUs to ensure enough resources for Kasm services."
}
validation {
condition = can(var.kasm_guac_vm_settings.memory >= 4)
error_message = "Kasm Guac RDP servers should have at least 4 GB Memory to ensure enough resources for Kasm services."
condition = var.kasm_guac_vm_settings.memory >= 2
error_message = "Kasm Guac RDP servers should have at least 2 GB Memory to ensure enough resources for Kasm services."
}
validation {
condition = can(var.kasm_guac_vm_settings.hdd_size_gb >= 50)
condition = var.kasm_guac_vm_settings.hdd_size_gb >= 50
error_message = "Kasm Guac RDP servers should have at least a 50 GB HDD to meet OCI minimum requirements, and ensure enough space Kasm services."
}
}