static Record createRecord(JsonObject service) { JsonObject metadata = service.getJsonObject("metadata"); Record record = new Record() .setName(metadata.getString("name")); JsonObject labels = metadata.getJsonObject("labels"); if (labels != null) { labels.forEach(entry -> record.getMetadata().put(entry.getKey(), entry.getValue().toString())); } record.getMetadata().put("kubernetes.namespace", metadata.getString("namespace")); record.getMetadata().put("kubernetes.name", metadata.getString("name")); record.getMetadata().put(KUBERNETES_UUID, metadata.getString("uid")); String type = record.getMetadata().getString("service-type"); // If not set, try to discovery it if (type == null) { type = discoveryType(service, record); } switch (type) { case HttpEndpoint.TYPE: manageHttpService(record, service); break; // TODO Add JDBC client, redis and mongo default: manageUnknownService(record, service, type); break; } return record; }
assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(ServiceType.UNKNOWN); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(RedisDataSource.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(JDBCDataSource.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(MongoDataSource.TYPE);
assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(ServiceType.UNKNOWN); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(HttpEndpoint.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(RedisDataSource.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(JDBCDataSource.TYPE); assertThat(KubernetesServiceImporter.discoveryType(new JsonObject(Json.encodeToBuffer(service)), new Record())) .isEqualTo(MongoDataSource.TYPE);