Skip to content

Commit dba44f3

Browse files
committed
chore: use background hostname for admin tasks
1 parent 329ee12 commit dba44f3

20 files changed

+153
-3
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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,15 @@ class CoderCLIManager(
281281
transform = {
282282
"""
283283
Host ${getHostName(deploymentURL, it)}
284-
ProxyCommand ${proxyArgs.joinToString(" ")} $it
284+
ProxyCommand CODER_SSH_USAGE_APP=jetbrains ${proxyArgs.joinToString(" ")} $it
285+
ConnectTimeout 0
286+
StrictHostKeyChecking no
287+
UserKnownHostsFile /dev/null
288+
LogLevel ERROR
289+
SetEnv CODER_SSH_SESSION_TYPE=JetBrains
290+
291+
Host ${getBackgroundHostName(deploymentURL, it)}
292+
ProxyCommand CODER_SSH_USAGE_APP=disable ${proxyArgs.joinToString(" ")} $it
285293
ConnectTimeout 0
286294
StrictHostKeyChecking no
287295
UserKnownHostsFile /dev/null
@@ -465,5 +473,13 @@ class CoderCLIManager(
465473
): String {
466474
return "coder-jetbrains--$workspaceName--${url.safeHost()}"
467475
}
476+
477+
@JvmStatic
478+
fun getBackgroundHostName(
479+
url: URL,
480+
workspaceName: String,
481+
): String {
482+
return getHostName(url, workspaceName) + "--bg"
483+
}
468484
}
469485
}

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