Code Monkey home page Code Monkey logo

Comments (15)

djarbz avatar djarbz commented on August 24, 2024 1

Well shoot, I'll keep looking...

from modules.

djarbz avatar djarbz commented on August 24, 2024 1

This one looks promising!
https://data.services.jetbrains.com/products?code=GO&release.type=release

We can change the code=GO to match the selected IDE and under releases the first entry is the latest release with download links, version number, and build number, along with a bunch of other goodies!

from modules.

michaelbrewer avatar michaelbrewer commented on August 24, 2024 1

Default to fetch will slow down builds and not work for air gapped environments.

from modules.

djarbz avatar djarbz commented on August 24, 2024 1

@matifali

I found this endpoint that will return the info for a specific release/eap version.

https://data.services.jetbrains.com/products?code=GO&type=release&majorVersion=2024.1

from modules.

michaelbrewer avatar michaelbrewer commented on August 24, 2024

I am not sure if Jetbrians has a handy api to fetch the latest versions and build number.

from modules.

djarbz avatar djarbz commented on August 24, 2024

I found one! Shows all (recent) versions as well as a marker for the latest!

https://data.services.jetbrains.com/help-versions?product=go

from modules.

matifali avatar matifali commented on August 24, 2024

I found one! Shows all (recent) versions as well as a marker for the latest!

data.services.jetbrains.com/help-versions?product=go

This doesn't list the build number that is needed to construct the download URL.

from modules.

matifali avatar matifali commented on August 24, 2024

So we should be able to get the items using
download link: .[0].releases[0].downloads.linux.link
build: .[0].releases[0].build
version: .[0].releases[0].version

and HTTP provider.

from modules.

djarbz avatar djarbz commented on August 24, 2024

Looks like it, I'm wondering if we should default to the latest version and allow end users to optionally specify a specific version?

from modules.

djarbz avatar djarbz commented on August 24, 2024

Ok, so can we trigger the HTTP query pragmatically after the workspace owner selects and IDE and if they want the latest version? I'm not familiar enough with Terraform yet to know the inner workings of data access like that.

I also found this endpoint that will only provide the latest release, but we would need to call it for each IDE.
I think this would be a quick enough API call that we could default to latest with a fallback?
https://data.services.jetbrains.com/products/releases?code=GO&latest=true&type=release

Does this module even work in air gapped systems? Coder would need internet access to download the IDE anyways.
Unless the system has the IDE pre-installed? In which case, perhaps we should have a backend parameter to override the IDE, version, and build number?

from modules.

michaelbrewer avatar michaelbrewer commented on August 24, 2024

Air-gapped solutions would self-host terraform modules. But i like the idea that you can select for "latest" and it would dynamically look it up.

from modules.

michaelbrewer avatar michaelbrewer commented on August 24, 2024

Actually, I am not sure how air-gapped solutions would allow for JetBrains download in the first place. 😆. You would have to pre-install the idea on the running workspace.

from modules.

djarbz avatar djarbz commented on August 24, 2024

Actually, I am not sure how air-gapped solutions would allow for JetBrains download in the first place. 😆. You would have to pre-install the idea on the running workspace.

That's kind of what I was getting at... But if you are on an air gapped system with a pre-installed IDE, wouldn't it be easier to manually specify the Gateway link to match the version than to match what is specified in this module?

IMHO I don't think this module is useful in an air gapped system.

from modules.

matifali avatar matifali commented on August 24, 2024

#226 addresses points 2 and 3 but needs to handle 1. I need help finding an easy way to get details of a specific version. It can be done with parsing and some regex matching. So, reopening this issue. if anyone wants to do that.

from modules.

matifali avatar matifali commented on August 24, 2024

Great. This would work.
I won't be able to do this in next few weeks. Feel free to submit a PR.

from modules.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.