Does the Jetbrains Gateway module only support AMD64 hosts?

When we try to use the Jetbrains Gateway module on an ARM64/AARCH64 host, the client hangs and we get this error inf the jetbrains stderr.log file on the worker: /home/coder/.cache/JetBrains/RemoteDev/dist/PY-251.23774.444/bin/remote-dev-server.sh: 80: /home/coder/.cache/JetBrains/RemoteDev/dist/PY-251.23774.444/bin/remote-dev-server: Exec format error It works OK on AMD64. Is this a known issue?
12 Replies
Codercord
Codercord2w ago
<#1362515873297858561>
Category
Help needed
Product
Coder (v2)
Platform
Linux
Logs
Please post any relevant logs/error messages.
Phorcys
Phorcys2w ago
hey @Diranged thanks for bringing this up!
Phorcys
Phorcys2w ago
we use JetBrains's data.services.jetbrains.com API to fetch the releases (example query for IntelliJ -> https://data.services.jetbrains.com/products/releases?code=IU&latest=true&type=release) by taking a look at the module code, we only get the download link from the linux field, but they also provide a linuxARM64 that we don't use
GitHub
modules/jetbrains-gateway/main.tf at d4b4ebd109baa75f6e7bcd49762a4e...
A collection of Terraform Modules to extend Coder templates. - coder/modules
Phorcys
Phorcys2w ago
we would need to change the module for this, considering it's a relatively low effort change, would you be interested in contributing this feature?
Diranged
DirangedOP2w ago
I wouldn't mind contributing - except that it's not clear to me how to write and test our own forked version of a terraform module. Sorry, terraform is not our typical toolkit here (we're more of a CDK/CloudFormation/native K8S shop)... It's not as simple as forking the module to a new public repo and then somehow pointing my main.tf at it, right?
Phorcys
Phorcys2w ago
it is! here is an example for the official repo
module "kasmvnc" {
source = "git::https://github.com/coder/modules.git//jetbrains-gateway"

folder = "/home/coder/example"
jetbrains_ides = ["CL", "GO", "IU", "PY", "WS"]
default = "GO"

agent_id = coder_agent.dev.id
count = data.coder_workspace.me.start_count
}
module "kasmvnc" {
source = "git::https://github.com/coder/modules.git//jetbrains-gateway"

folder = "/home/coder/example"
jetbrains_ides = ["CL", "GO", "IU", "PY", "WS"]
default = "GO"

agent_id = coder_agent.dev.id
count = data.coder_workspace.me.start_count
}
replace dev with your coder_agent's resource name
Diranged
DirangedOP2w ago
OK - that's great to know. If I get time next week, I'll try to work on that.. I wasn't aware it was that easy to fork these repos and improve them. Thank you.
Phorcys
Phorcys2w ago
definitely! make sure to ask any questions or let us know if you end up not having the time
Diranged
DirangedOP5d ago
@Phorcys Mornin... I've started a branch at https://github.com/coder/modules/compare/main...diranged:jetbrains_arm64 that seems like it works (in terms of installing the architecture appropriate code on the nodes). Before I try to polish anything, does this look vaguely correct? Or would your team want it to look different?
GitHub
Comparing coder:main...diranged:jetbrains_arm64 · coder/modules
A collection of Terraform Modules to extend Coder templates. - Comparing coder:main...diranged:jetbrains_arm64 · coder/modules
Phorcys
Phorcys3d ago
hey! this looks good to me there are some things that make it a bit repetitive but i think we need to review the structure of the module itself because that's what's causing problems in the first place could you send me a link to the PR once you create it? even if it's a draft PR at first this way I can subscribe to it
Diranged
DirangedOP2d ago
right now we're just running off this branch - and it seems to be working.. feel free to add comments and i can make adjustments

Did you find this page helpful?