Skip to content

Commit 9917621

Browse files
committed
chore: use background hostname for admin tasks
1 parent 82849ba commit 9917621

20 files changed

+153
-4
lines changed

src/main/kotlin/com/coder/gateway/CoderRemoteConnectionHandle.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,13 @@ class CoderRemoteConnectionHandle {
141141
port = 22
142142
authType = AuthType.OPEN_SSH
143143
}
144-
val accessor = HighLevelHostAccessor.create(credentials, true)
144+
val backgroundCredentials = RemoteCredentialsHolder().apply {
145+
setHost(workspace.hostname)
146+
userName = "coder"
147+
port = 22
148+
authType = AuthType.OPEN_SSH
149+
}
150+
val accessor = HighLevelHostAccessor.create(backgroundCredentials, true)
145151

146152
// Deploy if we need to.
147153
val ideDir = this.deploy(workspace, accessor, indicator, timeout)

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

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,6 @@ class CoderCLIManager(
256256
val isRemoving = workspaceNames.isEmpty()
257257
val proxyArgs =
258258
listOfNotNull(
259-
"CODER_SSH_USAGE_APP=jetbrains",
260259
escape(localBinaryPath.toString()),
261260
"--global-config",
262261
escape(coderConfigPath.toString()),
@@ -280,7 +279,15 @@ class CoderCLIManager(
280279
transform = {
281280
"""
282281
Host ${getHostName(deploymentURL, it)}
283-
ProxyCommand ${proxyArgs.joinToString(" ")} $it
282+
ProxyCommand CODER_SSH_USAGE_APP=jetbrains ${proxyArgs.joinToString(" ")} $it
283+
ConnectTimeout 0
284+
StrictHostKeyChecking no
285+
UserKnownHostsFile /dev/null
286+
LogLevel ERROR
287+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
288+
289+
Host ${getBackgroundHostName(deploymentURL, it)}
290+
ProxyCommand CODER_SSH_USAGE_APP=disable ${proxyArgs.joinToString(" ")} $it
284291
ConnectTimeout 0
285292
StrictHostKeyChecking no
286293
UserKnownHostsFile /dev/null
@@ -463,5 +470,13 @@ class CoderCLIManager(
463470
): String {
464471
return "coder-jetbrains--$workspaceName--${url.safeHost()}"
465472
}
473+
474+
@JvmStatic
475+
fun getBackgroundHostName(
476+
url: URL,
477+
workspaceName: String,
478+
): String {
479+
return getHostName(url, workspaceName) + "--bg"
480+
}
466481
}
467482
}

src/main/kotlin/com/coder/gateway/views/steps/CoderWorkspaceProjectIDEStepView.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ class CoderWorkspaceProjectIDEStepView(
214214
} else {
215215
IDECellRenderer(CoderGatewayBundle.message("gateway.connector.view.coder.connect-ssh"))
216216
}
217-
val executor = createRemoteExecutor(CoderCLIManager.getHostName(data.client.url, name))
217+
val executor = createRemoteExecutor(CoderCLIManager.getBackgroundHostName(data.client.url, name))
218218

219219
if (ComponentValidator.getInstance(tfProject).isEmpty) {
220220
logger.info("Installing remote path validator...")

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,11 @@ Host coder-jetbrains--foo-bar--test.coder.invalid
1010
UserKnownHostsFile /dev/null
1111
LogLevel ERROR
1212
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
13+
Host coder-jetbrains--foo-bar--test.coder.invalid--bg
14+
ProxyCommand CODER_SSH_USAGE_APP=disable /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
15+
ConnectTimeout 0
16+
StrictHostKeyChecking no
17+
UserKnownHostsFile /dev/null
18+
LogLevel ERROR
19+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
1320
# --- END CODER JETBRAINS test.coder.invalid

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,11 @@ Host coder-jetbrains--foo-bar--test.coder.invalid
66
UserKnownHostsFile /dev/null
77
LogLevel ERROR
88
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
9+
Host coder-jetbrains--foo-bar--test.coder.invalid--bg
10+
ProxyCommand CODER_SSH_USAGE_APP=disable /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
11+
ConnectTimeout 0
12+
StrictHostKeyChecking no
13+
UserKnownHostsFile /dev/null
14+
LogLevel ERROR
15+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
916
# --- END CODER JETBRAINS test.coder.invalid

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,11 @@ Host coder-jetbrains--foo-bar--test.coder.invalid
1111
UserKnownHostsFile /dev/null
1212
LogLevel ERROR
1313
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
14+
Host coder-jetbrains--foo-bar--test.coder.invalid--bg
15+
ProxyCommand CODER_SSH_USAGE_APP=disable /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
16+
ConnectTimeout 0
17+
StrictHostKeyChecking no
18+
UserKnownHostsFile /dev/null
19+
LogLevel ERROR
20+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
1421
# --- END CODER JETBRAINS test.coder.invalid

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,11 @@ Host coder-jetbrains--foo-bar--test.coder.invalid
1010
UserKnownHostsFile /dev/null
1111
LogLevel ERROR
1212
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
13+
Host coder-jetbrains--foo-bar--test.coder.invalid--bg
14+
ProxyCommand CODER_SSH_USAGE_APP=disable /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
15+
ConnectTimeout 0
16+
StrictHostKeyChecking no
17+
UserKnownHostsFile /dev/null
18+
LogLevel ERROR
19+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
1320
# --- END CODER JETBRAINS test.coder.invalid

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,11 @@ Host coder-jetbrains--foo-bar--test.coder.invalid
1717
UserKnownHostsFile /dev/null
1818
LogLevel ERROR
1919
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
20+
Host coder-jetbrains--foo-bar--test.coder.invalid--bg
21+
ProxyCommand CODER_SSH_USAGE_APP=disable /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio foo-bar
22+
ConnectTimeout 0
23+
StrictHostKeyChecking no
24+
UserKnownHostsFile /dev/null
25+
LogLevel ERROR
26+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
2027
# --- END CODER JETBRAINS test.coder.invalid

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,11 @@ Host coder-jetbrains--foo--test.coder.invalid
66
UserKnownHostsFile /dev/null
77
LogLevel ERROR
88
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
9+
Host coder-jetbrains--foo--test.coder.invalid--bg
10+
ProxyCommand CODER_SSH_USAGE_APP=disable /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio --disable-autostart foo
11+
ConnectTimeout 0
12+
StrictHostKeyChecking no
13+
UserKnownHostsFile /dev/null
14+
LogLevel ERROR
15+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
916
# --- END CODER JETBRAINS test.coder.invalid

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,13 @@ Host coder-jetbrains--extra--test.coder.invalid
88
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
99
ServerAliveInterval 5
1010
ServerAliveCountMax 3
11+
Host coder-jetbrains--extra--test.coder.invalid--bg
12+
ProxyCommand CODER_SSH_USAGE_APP=disable /tmp/coder-gateway/test.coder.invalid/coder-linux-amd64 --global-config /tmp/coder-gateway/test.coder.invalid/config ssh --stdio extra
13+
ConnectTimeout 0
14+
StrictHostKeyChecking no
15+
UserKnownHostsFile /dev/null
16+
LogLevel ERROR
17+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
18+
ServerAliveInterval 5
19+
ServerAliveCountMax 3
1120
# --- END CODER JETBRAINS test.coder.invalid

0 commit comments

Comments
 (0)
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