Closed aloubyansky closed 3 years ago
@aloubyansky I'm introducing a boolean pinned
column in the PLATFORM_RELEASE
table (as a hint to never be deleted at some point) and introducing a pinned-versions
attribute in the quarkus extension catalog descriptors for versions that should always be included/visible in the registry.
One question: Once we add 2.2.0.CR1
to the pinned-versions
, it is correct to assume that this version will still not be listed in https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-platforms/1.0-SNAPSHOT/quarkus-platforms-1.0-SNAPSHOT.json (because 2.2.1.Final
is released)?
One question: Once we add
2.2.0.CR1
to thepinned-versions
, it is correct to assume that this version will still not be listed in registry.quarkus.io/maven/io/quarkus/registry/quarkus-platforms/1.0-SNAPSHOT/quarkus-platforms-1.0-SNAPSHOT.json (because2.2.1.Final
is released)?
I think that's already answered in the description 😃
I think pinned should be enabled by default. In other words, we probably should not be deleting information about the platform releases. Given that we have a database to store that. Perhaps, we don't even need a column for that? We do need a notion of the recommended platform though.
Right, my idea here is to mark releases that are not supposed to disappear (think cleaning up the database after some time).
About having a recommended platform, there is a is_default
column in the platform creation ddl which is (manually) inverted in the productized environment
Today
https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-platforms/1.0-SNAPSHOT/quarkus-platforms-1.0-SNAPSHOT.json
recommends
2.2.1.Final
. Let's imagine that this version becomes the base for the RHBQ. While the RHBQ is in its delivery process and/or during its support period, the community moves on and starts recommending2.2.7.Final
or even2.3.1.Final
, what's important is2.2.1.Final
isn't listed as the recommended version for new projects or updates in the community registry anymore.While
https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-platforms/1.0-SNAPSHOT/quarkus-platforms-1.0-SNAPSHOT.json
may not mention
2.2.1.Final
anymore, it is critical thathttps://registry.quarkus.io/maven/io/quarkus/registry/quarkus-platforms/1.0-SNAPSHOT/quarkus-platforms-1.0-SNAPSHOT-2.2.1.Final.json
still works. Along with
https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/quarkus-non-platform-extensions-1.0-SNAPSHOT-2.2.1.Final.json
BTW, the following URL still works today although
2.2.0.CR1
isn't listed as recommended, which is a good thing:https://registry.quarkus.io/maven/io/quarkus/registry/quarkus-non-platform-extensions/1.0-SNAPSHOT/quarkus-non-platform-extensions-1.0-SNAPSHOT-2.2.0.CR1.json
We should support the same for the platforms. The reason it is critical is that, the RHBQ (in the example I described) will be mentioning
2.2.1.Final
as its upstream version. So the registry client will be querying registry.quarkus.io for platforms and non-platform extensions compatible with the2.2.1.Final
. The way it is today, the base upstream platform isn't available to the customers of RHBQ.