Class KubernetesServiceImporter

java.lang.Object
io.vertx.servicediscovery.kubernetes.KubernetesServiceImporter
All Implemented Interfaces:
ServiceImporter

public class KubernetesServiceImporter extends Object implements ServiceImporter
A discovery bridge listening for kubernetes services and publishing them in the Vert.x service discovery. This bridge only supports the importation of services from kubernetes in vert.x (and not the opposite).

The bridge is configured using:

* the oauth token (using the content of `/var/run/secrets/kubernetes.io/serviceaccount/token` by default) * the namespace in which the service are searched (defaults to `default`).

Be aware that the application must have access to Kubernetes and must be able to read the chosen namespace.

Record are created from Kubernetes Service. The service type is deduced from the `service-type` label. If not set, the service is imported as `unknown`. Only `http-endpoint` are supported for now.

Author:
Clement Escoffier
  • Field Details

  • Constructor Details

    • KubernetesServiceImporter

      public KubernetesServiceImporter()
  • Method Details

    • start

      public void start(Vertx vertx, ServicePublisher publisher, JsonObject configuration, Promise<Void> completion)
      Description copied from interface: ServiceImporter
      Starts the importer.
      Specified by:
      start in interface ServiceImporter
      Parameters:
      vertx - the vertx instance
      publisher - the service publisher instance
      configuration - the bridge configuration if any
      completion - a future on which the bridge must report the completion of the starting
    • close

      public void close(Handler<Void> completionHandler)
      Description copied from interface: ServiceImporter
      Closes the importer
      Specified by:
      close in interface ServiceImporter
      Parameters:
      completionHandler - the handle to be notified when importer is closed, may be null