mirror of
https://github.com/kasmtech/terraform.git
synced 2026-01-23 02:24:11 +00:00
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:
commit
a27368ea3d
15 changed files with 59 additions and 59 deletions
|
|
@ -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/> Service_name = "Kasm Workspaces"<br/> Kasm_version = "1.12"<br/>}</pre> |
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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"]
|
||||
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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/> Service_name = "Kasm Workspaces"<br/> Kasm_version = "1.12"<br/>}</pre> |
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"]` |
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
@ -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."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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` |
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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/> cpus = 2<br/> memory = 2<br/> hdd_size_gb = 50<br/>}</pre> |
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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."
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue