public abstract class AbstractKubernetesServiceInstanceProvider extends java.lang.Object implements KubernetesServiceInstanceProvider
Modifier and Type | Class and Description |
---|---|
static class |
AbstractKubernetesServiceInstanceProvider.PortBinder
Utility class for transparent access to
V1EndpointPort and V1ServicePort . |
Modifier and Type | Field and Description |
---|---|
protected static org.slf4j.Logger |
LOG |
static java.lang.String |
SECURE_LABEL |
Constructor and Description |
---|
AbstractKubernetesServiceInstanceProvider() |
Modifier and Type | Method and Description |
---|---|
static io.micronaut.discovery.ServiceInstance |
buildServiceInstance(java.lang.String serviceId,
AbstractKubernetesServiceInstanceProvider.PortBinder servicePort,
java.lang.String address,
io.kubernetes.client.openapi.models.V1ObjectMeta metadata)
Builds service instance.
|
static java.util.function.Predicate<io.kubernetes.client.common.KubernetesObject> |
compositePredicate(java.util.function.Predicate<io.kubernetes.client.common.KubernetesObject>... predicates)
Creates composite of predicates.
|
protected static java.util.function.Predicate<io.kubernetes.client.common.KubernetesObject> |
discoveryConfigurationFilter(KubernetesConfiguration.KubernetesDiscoveryConfiguration discoveryConfiguration)
Creates filter predicate for Kubernetes objects based on provided
KubernetesConfiguration.KubernetesDiscoveryConfiguration . |
static boolean |
hasValidPortConfiguration(java.util.List<AbstractKubernetesServiceInstanceProvider.PortBinder> ports,
KubernetesServiceConfiguration serviceConfiguration)
Validates the necessity of having port configuration based on number of declared
ports . |
static boolean |
isMetadataSecure(io.kubernetes.client.openapi.models.V1ObjectMeta objectMeta) |
static boolean |
isPortSecure(AbstractKubernetesServiceInstanceProvider.PortBinder servicePort)
Attempts to guess whether this port should be connected to using SSL.
|
protected static java.util.function.Predicate<io.kubernetes.client.common.KubernetesObject> |
serviceConfigurationDiscoveryFilter(KubernetesServiceConfiguration serviceConfiguration,
KubernetesConfiguration.KubernetesDiscoveryConfiguration discoveryConfiguration)
Creates service specific filter based on
KubernetesServiceConfiguration . |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getInstances, getMode, getServiceIds
public static final java.lang.String SECURE_LABEL
protected static final org.slf4j.Logger LOG
public AbstractKubernetesServiceInstanceProvider()
protected static java.util.function.Predicate<io.kubernetes.client.common.KubernetesObject> discoveryConfigurationFilter(KubernetesConfiguration.KubernetesDiscoveryConfiguration discoveryConfiguration)
KubernetesConfiguration.KubernetesDiscoveryConfiguration
.discoveryConfiguration
- configurationprotected static java.util.function.Predicate<io.kubernetes.client.common.KubernetesObject> serviceConfigurationDiscoveryFilter(KubernetesServiceConfiguration serviceConfiguration, KubernetesConfiguration.KubernetesDiscoveryConfiguration discoveryConfiguration)
KubernetesServiceConfiguration
.serviceConfiguration
- service configurationdiscoveryConfiguration
- discovery configurationpublic static io.micronaut.discovery.ServiceInstance buildServiceInstance(java.lang.String serviceId, @Nullable AbstractKubernetesServiceInstanceProvider.PortBinder servicePort, java.lang.String address, io.kubernetes.client.openapi.models.V1ObjectMeta metadata)
serviceId
- service idservicePort
- servicePortaddress
- addressmetadata
- metadatapublic static boolean isPortSecure(AbstractKubernetesServiceInstanceProvider.PortBinder servicePort)
servicePort
- the AbstractKubernetesServiceInstanceProvider.PortBinder
public static boolean isMetadataSecure(io.kubernetes.client.openapi.models.V1ObjectMeta objectMeta)
objectMeta
- the V1ObjectMeta
V1ObjectMeta.getLabels()
named SECURE_LABEL
and with value "true";
false otherwisepublic static boolean hasValidPortConfiguration(@Nullable java.util.List<AbstractKubernetesServiceInstanceProvider.PortBinder> ports, KubernetesServiceConfiguration serviceConfiguration)
ports
.ports
- list of portsserviceConfiguration
- service configuration@SafeVarargs public static java.util.function.Predicate<io.kubernetes.client.common.KubernetesObject> compositePredicate(java.util.function.Predicate<io.kubernetes.client.common.KubernetesObject>... predicates)
predicates
- predicates