@Singleton
@Requires(env="k8s") @Requires(property="kubernetes.client.discovery.enabled",notEquals="false",defaultValue="true")
public class KubernetesDiscoveryClient
extends java.lang.Object
implements io.micronaut.discovery.DiscoveryClient
DiscoveryClient
implementation for Kubernetes using the API.Modifier and Type | Field and Description |
---|---|
protected static org.slf4j.Logger |
LOG |
static java.lang.String |
SERVICE_ID |
Constructor and Description |
---|
KubernetesDiscoveryClient(io.micronaut.kubernetes.client.reactor.CoreV1ApiReactorClient client,
KubernetesConfiguration configuration,
KubernetesConfiguration.KubernetesDiscoveryConfiguration discoveryConfiguration,
java.util.List<KubernetesServiceConfiguration> serviceConfigurations,
java.util.List<KubernetesServiceInstanceProvider> instanceProviders,
KubernetesServiceInstanceList instanceList)
Creates discovery client that supports the discovery modes.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
java.lang.String |
getDescription() |
org.reactivestreams.Publisher<java.util.List<io.micronaut.discovery.ServiceInstance>> |
getInstances(java.lang.String serviceId) |
org.reactivestreams.Publisher<java.util.List<java.lang.String>> |
getServiceIds() |
public static final java.lang.String SERVICE_ID
protected static final org.slf4j.Logger LOG
@Inject public KubernetesDiscoveryClient(io.micronaut.kubernetes.client.reactor.CoreV1ApiReactorClient client, KubernetesConfiguration configuration, KubernetesConfiguration.KubernetesDiscoveryConfiguration discoveryConfiguration, java.util.List<KubernetesServiceConfiguration> serviceConfigurations, java.util.List<KubernetesServiceInstanceProvider> instanceProviders, KubernetesServiceInstanceList instanceList)
client
- An HTTP Client to query the Kubernetes API.configuration
- The configuration propertiesdiscoveryConfiguration
- The discovery configuration propertiesserviceConfigurations
- The manual service discovery configurationsinstanceProviders
- The service instance provider implementationsinstanceList
- The KubernetesServiceInstanceList
public org.reactivestreams.Publisher<java.util.List<io.micronaut.discovery.ServiceInstance>> getInstances(java.lang.String serviceId)
getInstances
in interface io.micronaut.discovery.DiscoveryClient
public org.reactivestreams.Publisher<java.util.List<java.lang.String>> getServiceIds()
getServiceIds
in interface io.micronaut.discovery.DiscoveryClient
@NonNull public java.lang.String getDescription()
getDescription
in interface io.micronaut.core.naming.Described
public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable