To make possible to use micronaut-kubernetes with graalvm is necessary to add the following typehint
@TypeHint(
value = {
io.micronaut.kubernetes.client.v1.Port.class,
io.micronaut.kubernetes.client.v1.Address.class,
io.micronaut.kubernetes.client.v1.KubernetesObject.class,
io.micronaut.kubernetes.client.v1.Metadata.class,
io.micronaut.kubernetes.client.v1.endpoints.Endpoints.class,
io.micronaut.kubernetes.client.v1.endpoints.EndpointsList.class,
io.micronaut.kubernetes.client.v1.endpoints.EndpointsSubset.class,
io.micronaut.kubernetes.client.v1.services.Service.class,
io.micronaut.kubernetes.client.v1.services.ServiceList.class,
io.micronaut.kubernetes.client.v1.services.ServiceSpec.class,
io.micronaut.kubernetes.client.v1.pods.ContainerStatus.class,
io.micronaut.kubernetes.client.v1.pods.Pod.class,
io.micronaut.kubernetes.client.v1.pods.PodStatus.class,
io.micronaut.kubernetes.client.v1.secrets.Secret.class,
io.micronaut.kubernetes.client.v1.secrets.SecretList.class,
io.micronaut.kubernetes.client.v1.configmaps.ConfigMap.class,
io.micronaut.kubernetes.client.v1.configmaps.ConfigMapList.class,
io.micronaut.kubernetes.client.v1.configmaps.ConfigMapWatchEvent.class,
},
typeNames = {
"io.micronaut.caffeine.cache.SSAW",
"io.micronaut.caffeine.cache.PSAW"
},
accessType = {
TypeHint.AccessType.ALL_DECLARED_CONSTRUCTORS,
TypeHint.AccessType.ALL_PUBLIC_METHODS,
TypeHint.AccessType.ALL_DECLARED_FIELDS
}
)
public class Application {
public static void main(String[] args) {
Micronaut.run(Application.class);
}
}
it would be great to add this settings to reflection-config.json to make it easier to use.