Class ServiceBindingProcessor
java.lang.Object
io.quarkus.kubernetes.service.binding.deployment.ServiceBindingProcessor
Processor that handles the generation of ServiceBinding resources.
Generated ServiceBinding rules:
1. .metadata.name:
When no user configuration is present then the combination [app.name] - [qualifier kind] - [qualifier name] will be used.
Examples:
- app-postgresql-default
- app-mysql-default
- app-mongodb-default
2. .spec.service[*].name:
Since services are qualified using apiVersion, we don't need to carry over the [qualifier kind]. In this case the name is
just [qualifier name].*
Notes:
The following pairs are equivalent:
quarkus.kubernetes-service-binding.services.postgresql-default.xxx=yyy
quarkus.kubernetes-service-binding.services.postgresql.xxx=yyy
quarkus.kubernetes-service-binding.services.postgresql-persondb.xxx=yyy
quarkus.kubernetes-service-binding.services.persondb.xxx=yyy
When service are auto bound the minimal from (e.g. persondb) will be used.
Users are still able to tune things using the [kind]-[name] combo to avoid naming clashes.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static StringapiVersion(String name) protected static Optional<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> createRequirementFromConfig(String applicationName, String serviceId, KubernetesServiceBindingConfig config) protected static Optional<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> createRequirementFromConfig(String applicationName, String defaultsLookupKey, String serviceId, String resourceName, KubernetesServiceBindingConfig config) protected static Optional<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> createRequirementFromQualifier(String applicationName, KubernetesServiceBindingConfig config, io.quarkus.kubernetes.service.binding.spi.ServiceBindingQualifierBuildItem qualifier) List<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> createServiceBindingDecorators(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, KubernetesServiceBindingConfig config, List<io.quarkus.kubernetes.service.binding.spi.ServiceBindingQualifierBuildItem> qualifiers) List<io.quarkus.kubernetes.spi.DecoratorBuildItem> createServiceBindingDecorators(KubernetesServiceBindingConfig serviceBindingConfig, List<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> services, List<io.quarkus.kubernetes.spi.KubernetesResourceMetadataBuildItem> resources) protected static StringvoidregisterServiceBindingAsOptional(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesOptionalResourceDefinitionBuildItem> optionalKinds)
-
Field Details
-
DEFAULTS
-
-
Constructor Details
-
ServiceBindingProcessor
public ServiceBindingProcessor()
-
-
Method Details
-
registerServiceBindingAsOptional
public void registerServiceBindingAsOptional(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.kubernetes.spi.KubernetesOptionalResourceDefinitionBuildItem> optionalKinds) -
createServiceBindingDecorators
public List<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> createServiceBindingDecorators(io.quarkus.deployment.builditem.ApplicationInfoBuildItem applicationInfo, KubernetesServiceBindingConfig config, List<io.quarkus.kubernetes.service.binding.spi.ServiceBindingQualifierBuildItem> qualifiers) -
createServiceBindingDecorators
public List<io.quarkus.kubernetes.spi.DecoratorBuildItem> createServiceBindingDecorators(KubernetesServiceBindingConfig serviceBindingConfig, List<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> services, List<io.quarkus.kubernetes.spi.KubernetesResourceMetadataBuildItem> resources) -
createRequirementFromConfig
protected static Optional<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> createRequirementFromConfig(String applicationName, String serviceId, KubernetesServiceBindingConfig config) - Parameters:
applicationName- The name of the application.serviceId- The key of the service.config- The config instance.- Returns:
- The service binding requirement that corresponds to the matching entry, or empty if no service with serviceId was found in config.
-
createRequirementFromConfig
protected static Optional<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> createRequirementFromConfig(String applicationName, String defaultsLookupKey, String serviceId, String resourceName, KubernetesServiceBindingConfig config) - Parameters:
applicationName- The name of the application.defaultsLookupKey- The key to use for looking up default apiVersion/kind).serviceId- The key of the service.resourceName- The name of the target resource.config- The config instance.- Returns:
- The service binding requirement that corresponds to the matching entry, or empty if no service with serviceId was found in config.
-
createRequirementFromQualifier
protected static Optional<io.quarkus.kubernetes.service.binding.spi.ServiceBindingRequirementBuildItem> createRequirementFromQualifier(String applicationName, KubernetesServiceBindingConfig config, io.quarkus.kubernetes.service.binding.spi.ServiceBindingQualifierBuildItem qualifier) - Parameters:
applicationName- The name of the application.config- The config instance.qualifier- The qualifier that will be converted to a requirement.- Returns:
- The service binding requirement that corresponds to the config entry that matches the qualifier, or the defaults for the qualifier. Returns empty if none of the above was found.
-
getDefaultQualifiedKind
-
apiVersion
-
kind
-