Skip to content

Factor pluggable modules out of runtime/service #3569

@dimas-b

Description

@dimas-b

This is a proposal to refactor inter-module dependencies in order to allow easier selection of pluggable features in downstream builds.

  • Move pluggable (optional) module dependencies out of runtime/services into runtime/server
  • Move the majority of integration tests into new sub-modules under the pluggable components
    • Example: persistence/relational-jdbc/tests
    • Prior art: extensions/auth/opa/tests
  • Run "smoke tests" for the default set of plugins under the runtime/server module (e.g. validating PostgreSQL integration, but without extensive code coverage, which will be done under persistence/relational-jdbc/tests).

The functionality provided by the runtime/server module will not be altered by this change.

Pros:

  • It will be easier to select a sub-set of optional features to include in downstream builds (some of which may not need all of the pluggable features)
  • The runtime/service module becomes lean and focused on Polaris fundamentals.

Cons:

  • CI time may increase due to having to perform more Quarkus builds for integration tests (might be mitigated by parallel execution).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions