Skip to content

poc: build the registry from the upstream server library - #12195

Draft
gnugomez wants to merge 2 commits into
EclipseFdn:aws-mainfrom
gnugomez:poc/openvsx-eclipse-module
Draft

poc: build the registry from the upstream server library #12195
gnugomez wants to merge 2 commits into
EclipseFdn:aws-mainfrom
gnugomez:poc/openvsx-eclipse-module

Conversation

@gnugomez

@gnugomez gnugomez commented Jul 29, 2026

Copy link
Copy Markdown
Member

This repo becomes a Spring Boot app of its own, consuming eclipse-openvsx/openvsx's server as a library (composite build over the server/upstream submodule) and contributing deployment-specific code via auto-configuration — instead of deriving our image from the upstream one.

  • New server/ Gradle build: upstream's RegistryApplication as main class, the relocated org.eclipse.openvsx.eclipse code under org.eclipsefdn.openvsx.eclipse, registered only through AutoConfiguration.imports. Same endpoints, same ovsx.eclipse.* keys. ./gradlew runServer works like upstream's.
  • Dockerfile builds the bootJar itself on a plain JRE base; image layout, DEPLOYMENT_CONFIG flow, Helm charts and ESO are unchanged.
  • A negative test proves the app runs as a vanilla registry without the auto-configuration.

Paired upstream branch with the extraction seams: eclipse-openvsx/openvsx#2016.
Full write-up (seams, parity evidence, gotchas, productionizing): server/NOTES.md.

gnugomez added 2 commits July 30, 2026 10:07
New server/ Gradle build: it consumes eclipse-openvsx/openvsx's server project
as a library through a composite build over the upstream submodule (pinned to
the paired branch, -PopenvsxServerPath overrides it), with upstream's
RegistryApplication as main class and the Spring Boot version derived from the
upstream version catalog. The Docker image builds the bootJar itself on a
plain JRE base, replicating the previous upstream-derived image layout; Helm
charts, ESO secrets and DEPLOYMENT_CONFIG are unchanged. runServer works like
upstream's.
The org.eclipse.openvsx.eclipse code extracted upstream lands here as
org.eclipsefdn.openvsx.eclipse, wired exclusively through
EclipseFoundationAutoConfiguration against the upstream seams
(PublisherAgreementService, OAuth2LoginHandler). Same endpoints, same
ovsx.eclipse.* configuration keys; a dedicated Swagger UI group documents the
relocated endpoint. Integration tests boot the merged application against
Testcontainers PostgreSQL, and a negative test proves the registry stays
healthy with the auto-configuration excluded. server/NOTES.md carries the full
PoC write-up.
@gnugomez
gnugomez force-pushed the poc/openvsx-eclipse-module branch from 7db05b8 to 2c8d170 Compare July 30, 2026 08:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant