Skip to content

Commit 5b12758

Browse files
committed
use flag over env var
1 parent 82849ba commit 5b12758

20 files changed

+31
-19
lines changed

src/main/kotlin/com/coder/gateway/cli/CoderCLIManager.kt

+3-1
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ fun ensureCLI(
111111
*/
112112
data class Features(
113113
val disableAutostart: Boolean = false,
114+
val reportWorkspaceUsage: Boolean = false,
114115
)
115116

116117
/**
@@ -256,7 +257,6 @@ class CoderCLIManager(
256257
val isRemoving = workspaceNames.isEmpty()
257258
val proxyArgs =
258259
listOfNotNull(
259-
"CODER_SSH_USAGE_APP=jetbrains",
260260
escape(localBinaryPath.toString()),
261261
"--global-config",
262262
escape(coderConfigPath.toString()),
@@ -265,6 +265,7 @@ class CoderCLIManager(
265265
"ssh",
266266
"--stdio",
267267
if (settings.disableAutostart && feats.disableAutostart) "--disable-autostart" else null,
268+
if (feats.reportWorkspaceUsage) "--usage-app=jetbrains" else null,
268269
)
269270
val extraConfig =
270271
if (settings.sshConfigOptions.isNotBlank()) {
@@ -447,6 +448,7 @@ class CoderCLIManager(
447448
Features(
448449
// Autostart with SSH was added in 2.5.0.
449450
disableAutostart = version >= SemVer(2, 5, 0),
451+
reportWorkspaceUsage = version >= SemVer(2, 13, 0),
450452
)
451453
}
452454
}

src/test/fixtures/outputs/append-blank-newlines.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# --- START CODER JETBRAINS test.coder.invalid
66
Host coder-jetbrains--foo-bar--test.coder.invalid
7-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
7+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
88
ConnectTimeout 0
99
StrictHostKeyChecking no
1010
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/append-blank.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo-bar--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/append-no-blocks.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Host test2
55

66
# --- START CODER JETBRAINS test.coder.invalid
77
Host coder-jetbrains--foo-bar--test.coder.invalid
8-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
8+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
99
ConnectTimeout 0
1010
StrictHostKeyChecking no
1111
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/append-no-newline.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Host test2
44
Port 443
55
# --- START CODER JETBRAINS test.coder.invalid
66
Host coder-jetbrains--foo-bar--test.coder.invalid
7-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
7+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
88
ConnectTimeout 0
99
StrictHostKeyChecking no
1010
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/append-no-related-blocks.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ some jetbrains config
1111

1212
# --- START CODER JETBRAINS test.coder.invalid
1313
Host coder-jetbrains--foo-bar--test.coder.invalid
14-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
14+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
1515
ConnectTimeout 0
1616
StrictHostKeyChecking no
1717
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/disable-autostart.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio --disable-autostart foo
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio --disable-autostart foo
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/extra-config.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--extra--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio extra
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio extra
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/header-command-windows.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--header--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command "\"C:\Program Files\My Header Command\HeaderCommand.exe\" --url=\"%%CODER_URL%%\" --test=\"foo bar\"" ssh --stdio header
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command "\"C:\Program Files\My Header Command\HeaderCommand.exe\" --url=\"%%CODER_URL%%\" --test=\"foo bar\"" ssh --stdio header
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/header-command.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--header--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command 'my-header-command --url="$CODER_URL" --test="foo bar" --literal='\''$CODER_URL'\''' ssh --stdio header
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config --header-command 'my-header-command --url="$CODER_URL" --test="foo bar" --literal='\''$CODER_URL'\''' ssh --stdio header
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/multiple-workspaces.conf

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null
77
LogLevel ERROR
88
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
99
Host coder-jetbrains--bar--test.coder.invalid
10-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio bar
10+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio bar
1111
ConnectTimeout 0
1212
StrictHostKeyChecking no
1313
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/no-disable-autostart.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/replace-end-no-newline.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Host test
33
Host test2
44
Port 443 # --- START CODER JETBRAINS test.coder.invalid
55
Host coder-jetbrains--foo-bar--test.coder.invalid
6-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
6+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
77
ConnectTimeout 0
88
StrictHostKeyChecking no
99
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/replace-end.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Host test2
44
Port 443
55
# --- START CODER JETBRAINS test.coder.invalid
66
Host coder-jetbrains--foo-bar--test.coder.invalid
7-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
7+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
88
ConnectTimeout 0
99
StrictHostKeyChecking no
1010
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/replace-middle-ignore-unrelated.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ some coder config
55
# ------------END-CODER------------
66
# --- START CODER JETBRAINS test.coder.invalid
77
Host coder-jetbrains--foo-bar--test.coder.invalid
8-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
8+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
99
ConnectTimeout 0
1010
StrictHostKeyChecking no
1111
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/replace-middle.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Host test
22
Port 80
33
# --- START CODER JETBRAINS test.coder.invalid
44
Host coder-jetbrains--foo-bar--test.coder.invalid
5-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
5+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
66
ConnectTimeout 0
77
StrictHostKeyChecking no
88
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/replace-only.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo-bar--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null

src/test/fixtures/outputs/replace-start.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# --- START CODER JETBRAINS test.coder.invalid
22
Host coder-jetbrains--foo-bar--test.coder.invalid
3-
ProxyCommand CODER_SSH_USAGE_APP=jetbrains /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
44
ConnectTimeout 0
55
StrictHostKeyChecking no
66
UserKnownHostsFile /dev/null
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# --- START CODER JETBRAINS test.coder.invalid
2+
Host coder-jetbrains--foo--test.coder.invalid
3+
ProxyCommand /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo --usage-app=jetbrains
4+
ConnectTimeout 0
5+
StrictHostKeyChecking no
6+
UserKnownHostsFile /dev/null
7+
LogLevel ERROR
8+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
9+
# --- END CODER JETBRAINS test.coder.invalid

src/test/kotlin/com/coder/gateway/cli/CoderCLIManagerTest.kt

+1
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,7 @@ internal class CoderCLIManagerTest {
345345
},
346346
SSHTest(listOf("foo"), null, "disable-autostart", "blank", "", true, Features(true)),
347347
SSHTest(listOf("foo"), null, "no-disable-autostart", "blank", "", true, Features(false)),
348+
SSHTest(listOf("foo"), null, "report-usage", "blank", "", true, Features(false, true)),
348349
SSHTest(
349350
listOf("extra"),
350351
null,

0 commit comments

Comments
 (0)