Package io.vertx.servicediscovery.kubernetes

## 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 Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `KUBERNETES_UUID` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `KubernetesServiceImporter()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close​(Handler<Void> completionHandler)` | Closes the importer
    `void` | `start​(Vertx vertx, ServicePublisher publisher, JsonObject configuration, Promise<Void> completion)` | Starts the importer.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### KUBERNETES_UUID

          public static final String KUBERNETES_UUID

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### KubernetesServiceImporter

          public KubernetesServiceImporter()

  - ### Method Detail

    - #### 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`