You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
1.9 KiB
HCL
77 lines
1.9 KiB
HCL
terraform {
|
|
required_version = ">= 1.0"
|
|
|
|
required_providers {
|
|
coder = {
|
|
source = "coder/coder"
|
|
version = ">= 0.17"
|
|
}
|
|
}
|
|
}
|
|
|
|
variable "agent_id" {
|
|
type = string
|
|
description = "The ID of a Coder agent."
|
|
}
|
|
|
|
variable "resource_id" {
|
|
type = string
|
|
description = "The ID of the primary Coder resource (e.g. VM)."
|
|
}
|
|
|
|
variable "admin_username" {
|
|
type = string
|
|
default = "Administrator"
|
|
}
|
|
|
|
variable "admin_password" {
|
|
type = string
|
|
default = "coderRDP!"
|
|
sensitive = true
|
|
}
|
|
|
|
resource "coder_script" "windows-rdp" {
|
|
agent_id = var.agent_id
|
|
display_name = "windows-rdp"
|
|
icon = "/icon/desktop.svg"
|
|
|
|
script = templatefile("${path.module}/powershell-installation-script.tftpl", {
|
|
admin_username = var.admin_username
|
|
admin_password = var.admin_password
|
|
|
|
# Wanted to have this be in the powershell template file, but Terraform
|
|
# doesn't allow recursive calls to the templatefile function. Have to feed
|
|
# results of the JS template replace into the powershell template
|
|
patch_file_contents = templatefile("${path.module}/devolutions-patch.js", {
|
|
CODER_USERNAME = var.admin_username
|
|
CODER_PASSWORD = var.admin_password
|
|
})
|
|
})
|
|
|
|
run_on_start = true
|
|
}
|
|
|
|
resource "coder_app" "windows-rdp" {
|
|
agent_id = var.agent_id
|
|
slug = "web-rdp"
|
|
display_name = "Web RDP"
|
|
url = "http://localhost:7171"
|
|
icon = "https://svgur.com/i/158F.svg"
|
|
subdomain = true
|
|
|
|
healthcheck {
|
|
url = "http://localhost:7171"
|
|
interval = 5
|
|
threshold = 15
|
|
}
|
|
}
|
|
|
|
resource "coder_app" "rdp-docs" {
|
|
agent_id = var.agent_id
|
|
display_name = "Local RDP"
|
|
slug = "rdp-docs"
|
|
icon = "https://raw.githubusercontent.com/matifali/logos/main/windows.svg"
|
|
url = "https://coder.com/docs/ides/remote-desktops#rdp-desktop"
|
|
external = true
|
|
}
|