Skip to content
41 changes: 40 additions & 1 deletion dogfood/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,37 @@ data "coder_parameter" "region" {
# }
}

data "coder_parameter" "jetbrains_ide" {
type = "list(string)"
name = "jetbrains_ide"
display_name = "JetBrains IDE"
icon = "/icon/gateway.svg"
mutable = true
default = jsonencode([
"GO",
"232.9559.64",
"https://download.jetbrains.com/go/goland-2023.2.1.tar.gz"
])
option {
icon = "/icon/goland.svg"
name = "GoLand"
value = jsonencode([
"GO",
"232.9559.64",
"https://download.jetbrains.com/go/goland-2023.2.1.tar.gz"
])
}
option {
icon = "/icon/webstorm.svg"
name = "WebStorm"
value = jsonencode([
"WS",
"232.9559.54",
"https://download.jetbrains.com/webstorm/WebStorm-2023.2.1.tar.gz"
])
}
}

provider "docker" {
host = lookup(local.docker_host, data.coder_parameter.region.value)
}
Expand Down Expand Up @@ -189,7 +220,6 @@ resource "coder_agent" "dev" {
repo_dir="$${repo_dir/#~\//$HOME\/}"
if [ ! -d "$repo_dir" ]; then
mkdir -p "$repo_dir"

git clone https://github.com/coder/coder "$repo_dir"
fi

Expand Down Expand Up @@ -242,6 +272,15 @@ resource "coder_app" "filebrowser" {
share = "owner"
}

resource "coder_app" "gateway" {
agent_id = coder_agent.dev.id
display_name = data.coder_parameter.jetbrains_ide.option[index(data.coder_parameter.jetbrains_ide.option.*.value, data.coder_parameter.jetbrains_ide.value)].name
slug = "gateway"
url = "jetbrains-gateway://connect#type=coder&workspace=${data.coder_workspace.me.name}&agent=dev&folder=${replace(data.coder_parameter.repo_dir.value, "/^~\\//", "/home/coder/")}&url=${data.coder_workspace.me.access_url}&token=${data.coder_workspace.me.owner_session_token}&ide_product_code=${jsondecode(data.coder_parameter.jetbrains_ide.value)[0]}&ide_build_number=${jsondecode(data.coder_parameter.jetbrains_ide.value)[1]}&ide_download_link=${jsondecode(data.coder_parameter.jetbrains_ide.value)[2]}"
icon = data.coder_parameter.jetbrains_ide.option[index(data.coder_parameter.jetbrains_ide.option.*.value, data.coder_parameter.jetbrains_ide.value)].icon
external = true
}

resource "docker_volume" "home_volume" {
name = "coder-${data.coder_workspace.me.id}-home"
# Protect the volume from being deleted due to changes in attributes.
Expand Down
64 changes: 64 additions & 0 deletions site/static/icon/gateway.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy