From fec656cd108395ce351c8082f7abeb6da984cdd9 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Sun, 16 Jul 2023 11:52:25 +0300 Subject: [PATCH 1/8] chore: add filebrowser to dogfood Apparently it isn't working on subpath and I had to use `subdomain=true` --- dogfood/main.tf | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dogfood/main.tf b/dogfood/main.tf index 6258e247d8a71..a93afb28402e0 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -176,6 +176,9 @@ resource "coder_agent" "dev" { curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/tmp/code-server --version 4.8.3 /tmp/code-server/bin/code-server --auth none --port 13337 >/tmp/code-server.log 2>&1 & + # Install and launch filebrowser + curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash + filebrowser --noauth --root /home/coder >/tmp/filebrowser.log 2>&1 & if [ ! -d ${data.coder_parameter.repo_dir.value} ]; then mkdir -p ${data.coder_parameter.repo_dir.value} @@ -213,6 +216,16 @@ resource "coder_app" "code-server" { } } +resource "coder_app" "filebrowser" { + agent_id = coder_agent.dev.id + display_name = "File Browser" + slug = "filebrowser" + url = "http://localhost:8080/" + icon = "https://raw.githubusercontent.com/matifali/logos/main/database.svg" + subdomain = true + share = "owner" +} + resource "docker_volume" "home_volume" { name = "coder-${data.coder_workspace.me.id}-home" # Protect the volume from being deleted due to changes in attributes. From e0d76734ad887424771b93904f03de7b5fe2ae5b Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Sun, 16 Jul 2023 11:54:11 +0300 Subject: [PATCH 2/8] set port explicitly --- dogfood/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index a93afb28402e0..8477b01882a8e 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -178,7 +178,7 @@ resource "coder_agent" "dev" { # Install and launch filebrowser curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash - filebrowser --noauth --root /home/coder >/tmp/filebrowser.log 2>&1 & + filebrowser --noauth --root /home/coder --port 8080 >/tmp/filebrowser.log 2>&1 & if [ ! -d ${data.coder_parameter.repo_dir.value} ]; then mkdir -p ${data.coder_parameter.repo_dir.value} From 8d41680cae7f19cadd56dc378a4cf044e95e6e99 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Sun, 16 Jul 2023 12:08:48 +0300 Subject: [PATCH 3/8] chnage `dir` of `coder_agnet` to `/home/coder` When the directory was set to `/home/coder/coder`, `startup_script` installs everything in the specified directory. As `/home/coder/coder` is a git repo so git complains about unstaged files and either we have to dlete those files to populate in .gitignore. --- dogfood/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 8477b01882a8e..f07177eca555b 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -86,7 +86,7 @@ resource "coder_agent" "dev" { arch = "amd64" os = "linux" - dir = data.coder_parameter.repo_dir.value + dir = "/home/coder" env = { GITHUB_TOKEN : data.coder_git_auth.github.access_token, OIDC_TOKEN : data.coder_workspace.me.owner_oidc_access_token, From c02bbe54e759b0cdb2220cc18d4adc0fce0cfcb4 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Sun, 16 Jul 2023 15:21:06 +0300 Subject: [PATCH 4/8] cd to coder repo dir --- dogfood/main.tf | 1 + 1 file changed, 1 insertion(+) diff --git a/dogfood/main.tf b/dogfood/main.tf index f07177eca555b..948c160f398f2 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -197,6 +197,7 @@ resource "coder_agent" "dev" { elif [ -f ~/personalize ]; then echo "~/personalize is not executable, skipping..." | tee -a ~/.personalize.log fi + cd ${data.coder_parameter.repo_dir.value} EOT } From 289a601438fbde75127a43d1d9d00d7b4ef5b423 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Mon, 17 Jul 2023 14:52:15 +0300 Subject: [PATCH 5/8] Update main.tf --- dogfood/main.tf | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 948c160f398f2..99f640fc07056 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -85,8 +85,7 @@ data "coder_workspace" "me" {} resource "coder_agent" "dev" { arch = "amd64" os = "linux" - - dir = "/home/coder" + dir = "${data.coder_parameter.repo_dir.value}" env = { GITHUB_TOKEN : data.coder_git_auth.github.access_token, OIDC_TOKEN : data.coder_workspace.me.owner_oidc_access_token, @@ -172,6 +171,9 @@ resource "coder_agent" "dev" { startup_script = <<-EOT set -eux -o pipefail + # change to home + cd /home/coder + # install and start code-server curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/tmp/code-server --version 4.8.3 /tmp/code-server/bin/code-server --auth none --port 13337 >/tmp/code-server.log 2>&1 & @@ -197,7 +199,10 @@ resource "coder_agent" "dev" { elif [ -f ~/personalize ]; then echo "~/personalize is not executable, skipping..." | tee -a ~/.personalize.log fi + + # chnage back to repo_dir cd ${data.coder_parameter.repo_dir.value} + EOT } @@ -221,7 +226,7 @@ resource "coder_app" "filebrowser" { agent_id = coder_agent.dev.id display_name = "File Browser" slug = "filebrowser" - url = "http://localhost:8080/" + url = "http://localhost:8080" icon = "https://raw.githubusercontent.com/matifali/logos/main/database.svg" subdomain = true share = "owner" From a70eeeda147326560b801c785b9fb1c4d00505ac Mon Sep 17 00:00:00 2001 From: Atif Ali Date: Mon, 17 Jul 2023 12:09:17 +0000 Subject: [PATCH 6/8] make fmt --- dogfood/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 99f640fc07056..6a3e01bbf07d6 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -85,7 +85,7 @@ data "coder_workspace" "me" {} resource "coder_agent" "dev" { arch = "amd64" os = "linux" - dir = "${data.coder_parameter.repo_dir.value}" + dir = data.coder_parameter.repo_dir.value env = { GITHUB_TOKEN : data.coder_git_auth.github.access_token, OIDC_TOKEN : data.coder_workspace.me.owner_oidc_access_token, From ca96debbb2e8ba703017863684e59b694ae812f4 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Mon, 17 Jul 2023 15:13:03 +0300 Subject: [PATCH 7/8] Update main.tf --- dogfood/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 6a3e01bbf07d6..59e36e676337c 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -200,7 +200,7 @@ resource "coder_agent" "dev" { echo "~/personalize is not executable, skipping..." | tee -a ~/.personalize.log fi - # chnage back to repo_dir + # change back to repo_dir cd ${data.coder_parameter.repo_dir.value} EOT From a21ea238689a251485142a5e9e87002b1136b2c2 Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Tue, 18 Jul 2023 16:16:32 +0300 Subject: [PATCH 8/8] incorporate suggestions --- dogfood/main.tf | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/dogfood/main.tf b/dogfood/main.tf index 59e36e676337c..554ba21eda07f 100644 --- a/dogfood/main.tf +++ b/dogfood/main.tf @@ -172,7 +172,7 @@ resource "coder_agent" "dev" { set -eux -o pipefail # change to home - cd /home/coder + cd "$HOME" # install and start code-server curl -fsSL https://code-server.dev/install.sh | sh -s -- --method=standalone --prefix=/tmp/code-server --version 4.8.3 @@ -180,7 +180,7 @@ resource "coder_agent" "dev" { # Install and launch filebrowser curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash - filebrowser --noauth --root /home/coder --port 8080 >/tmp/filebrowser.log 2>&1 & + filebrowser --noauth --root /home/coder --port 13338 >/tmp/filebrowser.log 2>&1 & if [ ! -d ${data.coder_parameter.repo_dir.value} ]; then mkdir -p ${data.coder_parameter.repo_dir.value} @@ -199,10 +199,6 @@ resource "coder_agent" "dev" { elif [ -f ~/personalize ]; then echo "~/personalize is not executable, skipping..." | tee -a ~/.personalize.log fi - - # change back to repo_dir - cd ${data.coder_parameter.repo_dir.value} - EOT } @@ -226,7 +222,7 @@ resource "coder_app" "filebrowser" { agent_id = coder_agent.dev.id display_name = "File Browser" slug = "filebrowser" - url = "http://localhost:8080" + url = "http://localhost:13338" icon = "https://raw.githubusercontent.com/matifali/logos/main/database.svg" subdomain = true share = "owner"