public static ServiceSpec getOrCreateSpec(Service entity) { ServiceSpec spec = entity.getSpec(); if (spec == null) { spec = new ServiceSpec(); entity.setSpec(spec); } return spec; }
public String updateService(@NotNull String id, Service entity) throws Exception { // lets set the IP ServiceSpec spec = entity.getSpec(); if (spec == null) { spec = new ServiceSpec(); entity.setSpec(spec); } if (!HEADLESS_PORTAL_IP.equals(spec.getPortalIP())) { spec.setPortalIP(getHostName()); } // lets ensure there's a default namespace set String namespace = KubernetesHelper.getNamespace(entity); if (Strings.isBlank(namespace)) { getOrCreateMetadata(entity).setNamespace(DEFAULT_NAMESPACE); } model.updateService(id, entity); return null; }
@Test public void testRecordCreation() { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(1524); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); Record record = KubernetesServiceImporter.createRecord(new JsonObject(Json.encodeToBuffer(service))); assertThat(record).isNotNull(); assertThat(record.getName()).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.name")).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.namespace")).isEqualTo("my-project"); assertThat(record.getMetadata().getString("kubernetes.uuid")).isEqualTo("uuid"); assertThat(record.getType()).isEqualTo(ServiceType.UNKNOWN); assertThat(record.getLocation().getInteger("port")).isEqualTo(1524); }
@Test public void testRecordCreation() { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(1524); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); Record record = KubernetesServiceImporter.createRecord(new JsonObject(Json.encodeToBuffer(service))); assertThat(record).isNotNull(); assertThat(record.getName()).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.name")).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.namespace")).isEqualTo("my-project"); assertThat(record.getMetadata().getString("kubernetes.uuid")).isEqualTo("uuid"); assertThat(record.getType()).isEqualTo(ServiceType.UNKNOWN); assertThat(record.getLocation().getInteger("port")).isEqualTo(1524); }
@Test public void testHttpWithSSLRecordCreation() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); labels.put("ssl", "true"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); Record record = KubernetesServiceImporter.createRecord(Json.encodeToBuffer(service).toJsonObject()); assertThat(record).isNotNull(); assertThat(record.getName()).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.name")).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.namespace")).isEqualTo("my-project"); assertThat(record.getMetadata().getString("kubernetes.uuid")).isEqualTo("uuid"); assertThat(record.getType()).isEqualTo(HttpEndpoint.TYPE); assertThat(record.getLocation().getInteger("port")).isEqualTo(8080); assertThat(record.getLocation().getBoolean("ssl")).isTrue(); }
@Test public void testHttpWithSSLRecordCreation() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); labels.put("ssl", "true"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); Record record = KubernetesServiceImporter.createRecord(Json.encodeToBuffer(service).toJsonObject()); assertThat(record).isNotNull(); assertThat(record.getName()).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.name")).isEqualTo("my-service"); assertThat(record.getMetadata().getString("kubernetes.namespace")).isEqualTo("my-project"); assertThat(record.getMetadata().getString("kubernetes.uuid")).isEqualTo("uuid"); assertThat(record.getType()).isEqualTo(HttpEndpoint.TYPE); assertThat(record.getLocation().getInteger("port")).isEqualTo(8080); assertThat(record.getLocation().getBoolean("ssl")).isTrue(); }
protected Service createService(final String namespace, final String serviceName, Map<String, String> labels) { labels = normalizeLabels(labels); final Service service = new Service(); final ObjectMeta metadata = new ObjectMeta(); metadata.setNamespace(normalizeNamespace(namespace)); metadata.setName(normalizeServiceName(serviceName)); metadata.setLabels(labels); service.setMetadata(metadata); service.setSpec(this.createServiceSpec(labels)); return service; }
protected Service createService(final String namespace, final String serviceName, Map<String, String> labels) { labels = normalizeLabels(labels); final Service service = new Service(); final ObjectMeta metadata = new ObjectMeta(); metadata.setNamespace(normalizeNamespace(namespace)); metadata.setName(normalizeServiceName(serviceName)); metadata.setLabels(labels); service.setMetadata(metadata); service.setSpec(this.createServiceSpec(labels)); return service; }
private Service getHttpService() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getService96() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("hello-minikube"); metadata.setUid("37c57c1e-deb0-11e8-a8ee-0800274f8294"); metadata.setNamespace("issue96"); metadata.setLabels(labels); metadata.getAdditionalProperties().put("run", "hello-minikube"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getHttpService() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getService96() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("hello-minikube"); metadata.setUid("37c57c1e-deb0-11e8-a8ee-0800274f8294"); metadata.setNamespace("issue96"); metadata.setLabels(labels); metadata.getAdditionalProperties().put("run", "hello-minikube"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getHttpService() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-http-service"); metadata.setUid("uuid-1"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
service.setSpec(spec);
private Service getHttpService() { Map<String, String> labels = new LinkedHashMap<>(); labels.put("service-type", "http-endpoint"); ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-http-service"); metadata.setUid("uuid-1"); metadata.setNamespace("my-project"); metadata.setLabels(labels); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(80)); port.setPort(8080); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getSimpleService() { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid-2"); metadata.setNamespace("my-project"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(1524); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getExternalService(int port) { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); ServiceSpec serviceSpec = new ServiceSpec(); ServicePort servicePort = new ServicePort(); servicePort.setPort(port); serviceSpec.setType("ExternalName"); serviceSpec.setExternalName("my-external-service"); serviceSpec.setPorts(Collections.singletonList(servicePort)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(serviceSpec); return service; }
private Service getSimpleService() { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid-2"); metadata.setNamespace("my-project"); ServiceSpec spec = new ServiceSpec(); ServicePort port = new ServicePort(); port.setTargetPort(new IntOrString(8080)); port.setPort(1524); spec.setPorts(Collections.singletonList(port)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(spec); return service; }
private Service getExternalService(int port) { ObjectMeta metadata = new ObjectMeta(); metadata.setName("my-service"); metadata.setUid("uuid"); metadata.setNamespace("my-project"); ServiceSpec serviceSpec = new ServiceSpec(); ServicePort servicePort = new ServicePort(); servicePort.setPort(port); serviceSpec.setType("ExternalName"); serviceSpec.setExternalName("my-external-service"); serviceSpec.setPorts(Collections.singletonList(servicePort)); Service service = new Service(); service.setMetadata(metadata); service.setSpec(serviceSpec); return service; }