-
Notifications
You must be signed in to change notification settings - Fork 564
Native image
Helidon supports ahead of time compilation using GraalVM native image.
The following table shows support of native-image
in Helidon modules (all module names are prefixed with helidon-
).
Status:
✅ - native-image
is supported and tested
👍 - native-image
should work, not part of regular tests (yet)
🔶 - native-image
works partially (description provided)
⏳ - native-image
does not work (and we are working on it!)
🛑 - native-image
does not work (and will not work for now)
❓ - native-image
not yet tested
Module | Description |
native-image status |
---|---|---|
webserver |
HTTP server | ✅ |
media-jsonp-server |
JSON-P suppport | ✅ |
media-jsonb-server |
JSON-B suppport | 👍 |
media-jsonb-server |
Jackson suppport | 👍 |
config |
Configuration | ✅ |
config-yaml |
YAML file support | ✅ |
config-object-mapping |
Object mapping support | 🛑 |
metrics |
Metric support | ✅ |
health |
Health check support | ✅ |
health-checks |
Health checks (built-in) | ✅ |
tracing |
Tracing builder | 👍 |
tracing-zipkin |
Zipkin tracing support | 👍 |
tracing-jaeger |
Jaeger tracing support | 👍 |
security |
Security | 👍 |
security-providers-abac |
ABAC provider | 👍 |
security-providers-http-auth |
HTTP Basic authentication provider | 👍 |
security-providers-http-sign |
HTTP Signatures provider | 👍 |
security-providers-oidc |
Open ID Connect provider | 👍 |
org.glassfish.jersey.core:jersey-client |
Jersey HTTP Client *1 | 🔶 |
org.glassfish.jersey.inject:jersey-hk2 |
Jersey HK2 *2 | 🔶 |
security-integration-jersey-client |
Security propagation | 👍 |
tracing-jersey-client |
Tracing propagation | 👍 |
microprofile-server |
MicroProfile server | ⏳ |
*1: Jersey HTTP Client: Jersey core currently contains a dependency on "rendered image writer" - this depends on Image I/O. As a result, you can build such an image on an environment that supports Image I/O (such as a MacOS or a Linux distribution with X). Unfortunately this is not supported when building a native image within a Docker (as is one option in our quickstart example)
*2: Jersey HK2: This is required for the Jersey client to work. We have seen this working without issues, though there is quite a wide filter to include classes for reflection. This results in long image builds.