AdoptOpenJDK / TSC

The AdoptOpenJDK Technical Steering Committee - Also acts as the knowledge portal for the Adopt OpenJDK GitHub projects
70 stars 33 forks source link

Discuss options and details around Adoptium Marketplace #209

Closed smlambert closed 3 years ago

smlambert commented 3 years ago

Based on some conversation both in working group, transition meetings and the Adoptium community call, let's put down some additional details about an Adoptium marketplace and start to flush out implementation details and challenges.

What is a marketplace?

Criteria?

How can these be served up?

It may be useful to look at the diagram from https://github.com/AdoptOpenJDK/TSC/issues/158#issuecomment-641708282 where the JDK production swim lane is owned by the member who in the publish stage pushes to a releases repo.

Then the installers and docker images swim lane could (potentially) be a mechanism of the marketplace rather than expect members to each deliver unique solutions for these artifacts.

aahlenst commented 3 years ago

a place where member distributors can market their binaries, essentially a centralized location on a website

We should document what vendors can expect because that also influences the design of the website. I assume that the more we treat the vendor's binaries like Temurin, the more attractive the marketplace will be.

Criteria?

:+1:

(And: no bickering like "our binary is better than yours" :smirk: )

How can these be served up?

That's a great proposal. I like to expand it with some details (my proposal, some parts might be controversial, therefore up for discussion):

The Linux packages are already being prepared to work like that. MSI (Windows), PKG (macOS) would need separate jobs that aren't embedded into the build pipeline. Notarization on macOS might need some attention because resigning might break the jmods.

tellison commented 3 years ago

I will add this topic to the Adoptium WG agenda for discussion

karianna commented 3 years ago

CC @johnoliver as he starts to think about API design

smlambert commented 3 years ago

some notes from working group call on Thursday March 25th:

smlambert commented 3 years ago

Notes from Thursday, April 1st WG call:

smlambert commented 3 years ago

Additional note raised in Community call regarding APIv4 planning:

karianna commented 3 years ago

Further to this @johnoliver believes the new API at Adoptium could map an Adoptium API request to the vendor API or implement a binary discovery mechanism in the case where there is no API available. There would not necessarily be a need to ask vendors to store their binaries in GitHub releases.

karianna commented 3 years ago

Another option is to back onto foojay.io's API (pros and cons to that).

tellison commented 3 years ago

We have to let vendors serve up their own binaries. Adoptium is just one of the vendors. So conceptually there is the current role and a new role for our API when moved to Adoptium:

The "market API" is likely a new path through the same api.adoptium.net - that’s an implementation detail :-) But it should be clear when you are asking for information about the available binaries listed in the vendor marketplace, and when you are asking about info for Temurin binaries. As such, I would suggest not trying to update all the existing API paths to accommodate other vendors' information. Just populate a new marketplace catalog and include Temurin in there.

karianna commented 3 years ago

I think we're going to need some concrete examples in the form of HTTP Get requests to ensure we are walking the correct line in each case.

gdams commented 3 years ago

closing as this has now moved to https://github.com/adoptium/adoptium/issues/7