Initial commit
commit
7d89f2a56f
@ -0,0 +1,41 @@
|
|||||||
|
terraform {
|
||||||
|
required_version = ">= 1.0"
|
||||||
|
|
||||||
|
required_providers {
|
||||||
|
aws = {
|
||||||
|
source = "coder/coder"
|
||||||
|
version = ">= 0.11"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "agent_id" {
|
||||||
|
type = string
|
||||||
|
description = "The ID of a Coder agent."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "extensions" {
|
||||||
|
type = list(string)
|
||||||
|
description = "A list of extensions to install."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "port" {
|
||||||
|
type = number
|
||||||
|
description = "The port to run code-server on."
|
||||||
|
default = 13337
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "settings" {
|
||||||
|
type = map(string)
|
||||||
|
description = "A map of settings to apply to code-server."
|
||||||
|
}
|
||||||
|
|
||||||
|
data "http" "code-server-install" {
|
||||||
|
url = "https://raw.githubusercontent.com/coder/code-server/main/install.sh"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_script" "code-server" {
|
||||||
|
agent_id = var.agent_id
|
||||||
|
script = data.http.code-server-install.body
|
||||||
|
run_on_start = true
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
terraform {
|
||||||
|
required_version = ">= 1.0"
|
||||||
|
|
||||||
|
required_providers {
|
||||||
|
coder = {
|
||||||
|
source = "terraform.local/coder/coder"
|
||||||
|
version = ">= 0.12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "agent_id" {
|
||||||
|
type = string
|
||||||
|
description = "The ID of a Coder agent."
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "path" {
|
||||||
|
type = string
|
||||||
|
description = "The path to a script that will be ran on start enabling a user to personalize their workspace."
|
||||||
|
default = "~/personalize"
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "coder_script" "personalize" {
|
||||||
|
agent_id = var.agent_id
|
||||||
|
source = templatefile("run.sh", {
|
||||||
|
path: var.path,
|
||||||
|
})
|
||||||
|
display_name = "Personalize"
|
||||||
|
icon = "/emojis/1f58c.png"
|
||||||
|
run_on_start = true
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
PERSONALIZE_PATH=${path}
|
||||||
|
|
||||||
|
# If the personalize script doesn't exist, educate
|
||||||
|
# the user how they can customize their environment!
|
||||||
|
if [ ! -f ${PERSONALIZE_PATH}/personalize.sh ]; then
|
||||||
|
echo "✨ You don't have a personalize script!"
|
||||||
|
echo "Run \`touch ${PERSONALIZE_PATH}\` to create one."
|
||||||
|
echo "Developers typically install their favorite packages here that may not be included in the base image."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if the personalize script is executable, if not,
|
||||||
|
# try to make it executable and educate the user if it fails.
|
||||||
|
if [ ! -x ${PERSONALIZE_PATH}/personalize.sh ]; then
|
||||||
|
echo "🔐 Your personalize script isn't executable!"
|
||||||
|
echo "Run \`chmod +x ${PERSONALIZE_PATH}\` to make it executable."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run the personalize script!
|
||||||
|
exec $PERSONALIZE_PATH
|
@ -0,0 +1,30 @@
|
|||||||
|
terraform {
|
||||||
|
required_version = ">= 1.0"
|
||||||
|
|
||||||
|
required_providers {
|
||||||
|
aws = {
|
||||||
|
source = "coder/coder"
|
||||||
|
version = ">= 0.11"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
variable "agent_id" {
|
||||||
|
type = string
|
||||||
|
description = "The ID of a Coder agent."
|
||||||
|
}
|
||||||
|
|
||||||
|
data "coder_workspace" "me" {}
|
||||||
|
|
||||||
|
resource "coder_app" "vscode" {
|
||||||
|
agent_id = var.agent_id
|
||||||
|
external = true
|
||||||
|
url = join("", [
|
||||||
|
"vscode://coder.coder-remote/open?owner=",
|
||||||
|
data.coder_workspace.me.owner,
|
||||||
|
"&workspace=",
|
||||||
|
data.coder_workspace.me.name,
|
||||||
|
"&token=",
|
||||||
|
data.coder_workspace.me.owner_session_token,
|
||||||
|
])
|
||||||
|
}
|
Loading…
Reference in New Issue