This page lists every artefact published by Knock, the Java Modules packages they export, the public SPI, the HTTP endpoints, and the build commands.

Maven artefacts

All artefacts share the version 0.3.0 under the io.vidocq.knock group.

Artefact Recommended scope Role

knock-mp-health-api

compile

Vidocq fork of the MicroProfile Health 4.0 API with a module-info.java.

knock-api

compile

Knock SPI (ProbeType, HealthCheckRegistry, Knock); re-exports spec types.

knock-core

runtime

Standalone runtime: registry, aggregator, JSON-P serialiser, KnockHealthService.

knock-cdi-vauban

runtime

CDI auto-registration at context start (@Observes @Initialized(ApplicationScoped.class), generated Vauban wiring).

knock-jaxrs

runtime

Jakarta REST /health* resource (deployed on Cassini).

knock-tck (the official MicroProfile Health 4.0 TCK runner) is not published to Maven Central: it joins the reactor only under the tck Maven profile and cannot be declared as a dependency.

Exported Java Modules packages

Module Exported packages

knock-api

io.vidocq.knock.spi (ProbeType, HealthCheckRegistry, Knock)

knock-core

io.vidocq.knock.runtime (HealthCheckRegistries, KnockHealthService, HealthReport)

knock-jaxrs

io.vidocq.knock.jaxrs (KnockHealthResource)

Internal packages (io.vidocq.knock.internal, io.vidocq.knock.cdi.internal) are not exported. knock-core provides org.eclipse.microprofile.health.spi.HealthCheckResponseProvider via provides and META-INF/services.

Public SPI (knock-api)

Type Role

ProbeType (enum)

LIVENESS, READINESS, STARTUP, ALL — selects the checks to report.

HealthCheckRegistry (interface)

Register checks and retrieve them by probe type: register(ProbeType type, String name, HealthCheck check), unregister(String name), getChecks(ProbeType type).

Knock (class)

Module metadata constants.

Standalone instances come from the exported factory HealthCheckRegistries.newRegistry() (in knock-core); the KnockHealthCheckRegistry implementation lives in the unexported io.vidocq.knock.internal package. Under CDI the registry is provided as a managed bean (KnockCdiHealthCheckRegistry, injectable as HealthCheckRegistry).

Endpoints

Endpoint Probe HTTP status

GET /health

ProbeType.ALL

200 UP / 503 DOWN

GET /health/live

ProbeType.LIVENESS

200 UP / 503 DOWN

GET /health/ready

ProbeType.READINESS

200 UP / 503 DOWN

GET /health/started

ProbeType.STARTUP

200 UP / 503 DOWN

Dependency versions

Dependency Version

MicroProfile Health (upstream reference)

4.0.1

Jakarta JSON-P API

2.1.3

Jakarta REST API

4.0.0

Jakarta CDI API

4.1.0

Jakarta Inject API

2.0.1

Jakarta Annotation API

3.0.0

Commands

sdk env
./mvnw -ntp install -DskipTests        # full build, skip tests
./mvnw test                             # unit tests
./run-official-tck-mp-health-4.0.sh     # TCK smoke test
./run-official-tck-mp-health-4.0.sh all # full TCK suite

Compatibility

  • Java 25, Maven 3.9.16.

  • Strict Java Modules, named modules only.

  • MicroProfile Health 4.0.

  • Zero third-party libraries — Jakarta / MicroProfile specs only.

  • Compatible with GraalVM native-image and jlink minimal images.

See also