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 (type == null) {
type = discoveryType(service, record);
}
switch (type) {
case HttpEndpoint.TYPE:
manageHttpService(record, service);
break;
default:
manageUnknownService(record, service, type);
break;
}
return record;
}