chore: Use networking.k8s.io/v1 version of Ingresses for workspaces (#73)
Signed-off-by: Max Shaposhnik <mshaposh@redhat.com>pull/82/head
parent
159194c1be
commit
b0a50e91b4
|
|
@ -93,10 +93,6 @@
|
|||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>kubernetes-model-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>kubernetes-model-extensions</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>kubernetes-model-rbac</artifactId>
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ import io.fabric8.kubernetes.api.model.PodTemplateSpec;
|
|||
import io.fabric8.kubernetes.api.model.Secret;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.opentracing.Scope;
|
||||
import io.opentracing.Span;
|
||||
import io.opentracing.Tracer;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import io.fabric8.kubernetes.api.model.PodTemplateSpec;
|
|||
import io.fabric8.kubernetes.api.model.Secret;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import io.fabric8.kubernetes.api.model.Pod;
|
|||
import io.fabric8.kubernetes.api.model.Secret;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import static io.fabric8.kubernetes.api.model.DeletionPropagation.BACKGROUND;
|
|||
import static org.eclipse.che.workspace.infrastructure.kubernetes.Constants.CHE_WORKSPACE_ID_LABEL;
|
||||
import static org.eclipse.che.workspace.infrastructure.kubernetes.namespace.KubernetesObjectUtil.putLabel;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.client.KubernetesClientException;
|
||||
import io.fabric8.kubernetes.client.Watch;
|
||||
import io.fabric8.kubernetes.client.Watcher;
|
||||
|
|
@ -55,7 +55,8 @@ public class KubernetesIngresses {
|
|||
try {
|
||||
return clientFactory
|
||||
.create(workspaceId)
|
||||
.extensions()
|
||||
.network()
|
||||
.v1()
|
||||
.ingresses()
|
||||
.inNamespace(namespace)
|
||||
.withName(ingress.getMetadata().getName())
|
||||
|
|
@ -69,7 +70,8 @@ public class KubernetesIngresses {
|
|||
try {
|
||||
return clientFactory
|
||||
.create(workspaceId)
|
||||
.extensions()
|
||||
.network()
|
||||
.v1()
|
||||
.ingresses()
|
||||
.inNamespace(namespace)
|
||||
.withLabel(CHE_WORKSPACE_ID_LABEL, workspaceId)
|
||||
|
|
@ -88,7 +90,8 @@ public class KubernetesIngresses {
|
|||
Resource<Ingress> ingressResource =
|
||||
clientFactory
|
||||
.create(workspaceId)
|
||||
.extensions()
|
||||
.network()
|
||||
.v1()
|
||||
.ingresses()
|
||||
.inNamespace(namespace)
|
||||
.withName(name);
|
||||
|
|
@ -141,7 +144,8 @@ public class KubernetesIngresses {
|
|||
try {
|
||||
clientFactory
|
||||
.create(workspaceId)
|
||||
.extensions()
|
||||
.network()
|
||||
.v1()
|
||||
.ingresses()
|
||||
.inNamespace(namespace)
|
||||
.withLabel(CHE_WORKSPACE_ID_LABEL, workspaceId)
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ import io.fabric8.kubernetes.api.model.Pod;
|
|||
import io.fabric8.kubernetes.api.model.Secret;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.ServiceAccount;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.client.KubernetesClient;
|
||||
import io.fabric8.kubernetes.client.KubernetesClientException;
|
||||
import io.fabric8.kubernetes.client.Watch;
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@ import static org.eclipse.che.workspace.infrastructure.kubernetes.provision.TlsP
|
|||
|
||||
import io.fabric8.kubernetes.api.model.Secret;
|
||||
import io.fabric8.kubernetes.api.model.SecretBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressTLS;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressTLSBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressTLS;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressTLSBuilder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
package org.eclipse.che.workspace.infrastructure.kubernetes.provision;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import javax.inject.Singleton;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import static org.eclipse.che.workspace.infrastructure.kubernetes.Warnings.NOT_A
|
|||
|
||||
import io.fabric8.kubernetes.api.model.HasMetadata;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import io.fabric8.kubernetes.api.model.Container;
|
|||
import io.fabric8.kubernetes.api.model.ObjectMeta;
|
||||
import io.fabric8.kubernetes.api.model.Volume;
|
||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import io.fabric8.kubernetes.api.model.ContainerPortBuilder;
|
|||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.ServicePortBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import com.google.common.annotations.VisibleForTesting;
|
|||
import io.fabric8.kubernetes.api.model.IntOrString;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
|
|
|||
|
|
@ -13,19 +13,23 @@ package org.eclipse.che.workspace.infrastructure.kubernetes.server.external;
|
|||
|
||||
import static com.google.common.base.Strings.isNullOrEmpty;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.IntOrString;
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressPathBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressRuleValueBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackendBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRuleBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressSpecBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressPathBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressRuleValueBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackendBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRuleBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressServiceBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressServiceBackendBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressSpecBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.ServiceBackendPortBuilder;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import org.eclipse.che.api.core.model.workspace.config.ServerConfig;
|
||||
|
|
@ -43,12 +47,15 @@ public class ExternalServerIngressBuilder {
|
|||
private String path;
|
||||
private String name;
|
||||
private String serviceName;
|
||||
private IntOrString servicePort;
|
||||
private String servicePortName;
|
||||
private Integer servicePort;
|
||||
private Map<String, ? extends ServerConfig> serversConfigs;
|
||||
private String machineName;
|
||||
private Map<String, String> annotations;
|
||||
private Map<String, String> labels;
|
||||
|
||||
@VisibleForTesting static final String INGRESS_PATH_TYPE = "Prefix";
|
||||
|
||||
public ExternalServerIngressBuilder withHost(String host) {
|
||||
this.host = host;
|
||||
return this;
|
||||
|
|
@ -74,8 +81,13 @@ public class ExternalServerIngressBuilder {
|
|||
return this;
|
||||
}
|
||||
|
||||
public ExternalServerIngressBuilder withServicePort(String targetPortName) {
|
||||
this.servicePort = new IntOrString(targetPortName);
|
||||
public ExternalServerIngressBuilder withServicePort(Integer targetPort) {
|
||||
this.servicePort = targetPort;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ExternalServerIngressBuilder withServicePortName(String targetPortName) {
|
||||
this.servicePortName = targetPortName;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
@ -97,14 +109,26 @@ public class ExternalServerIngressBuilder {
|
|||
|
||||
public Ingress build() {
|
||||
|
||||
IngressBackend ingressBackend =
|
||||
new IngressBackendBuilder()
|
||||
.withServiceName(serviceName)
|
||||
.withNewServicePort(servicePort.getStrVal())
|
||||
ServiceBackendPortBuilder serviceBackendPortBuilder = new ServiceBackendPortBuilder();
|
||||
|
||||
// cannot set both port and name
|
||||
if (!isNullOrEmpty(servicePortName)) {
|
||||
serviceBackendPortBuilder.withName(servicePortName);
|
||||
} else if (servicePort != null) {
|
||||
serviceBackendPortBuilder.withNumber(servicePort);
|
||||
}
|
||||
|
||||
IngressServiceBackend ingressServiceBackend =
|
||||
new IngressServiceBackendBuilder()
|
||||
.withPort(serviceBackendPortBuilder.build())
|
||||
.withName(serviceName)
|
||||
.build();
|
||||
|
||||
IngressBackend ingressBackend =
|
||||
new IngressBackendBuilder().withService(ingressServiceBackend).build();
|
||||
|
||||
HTTPIngressPathBuilder httpIngressPathBuilder =
|
||||
new HTTPIngressPathBuilder().withBackend(ingressBackend);
|
||||
new HTTPIngressPathBuilder().withBackend(ingressBackend).withPathType(INGRESS_PATH_TYPE);
|
||||
|
||||
if (!isNullOrEmpty(path)) {
|
||||
httpIngressPathBuilder.withPath(path);
|
||||
|
|
@ -128,7 +152,7 @@ public class ExternalServerIngressBuilder {
|
|||
ingressAnnotations.putAll(
|
||||
Annotations.newSerializer().servers(serversConfigs).machineName(machineName).annotations());
|
||||
|
||||
return new io.fabric8.kubernetes.api.model.extensions.IngressBuilder()
|
||||
return new IngressBuilder()
|
||||
.withSpec(ingressSpec)
|
||||
.withMetadata(
|
||||
new ObjectMetaBuilder()
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import static java.util.Collections.emptyMap;
|
|||
|
||||
import com.google.common.base.Splitter;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import javax.inject.Inject;
|
||||
|
|
@ -124,7 +124,8 @@ public class IngressServerExposer<T extends KubernetesEnvironment>
|
|||
.withServiceName(serviceName)
|
||||
.withAnnotations(annotations)
|
||||
.withLabels(labels)
|
||||
.withServicePort(servicePort.getName())
|
||||
.withServicePortName(servicePort.getName())
|
||||
.withServicePort(servicePort.getPort())
|
||||
.withServers(servers)
|
||||
.build();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
*/
|
||||
package org.eclipse.che.workspace.infrastructure.kubernetes.server.external;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.Map;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ package org.eclipse.che.workspace.infrastructure.kubernetes.server.resolver;
|
|||
import com.google.common.collect.ArrayListMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ import static org.eclipse.che.workspace.infrastructure.kubernetes.server.Workspa
|
|||
import static org.eclipse.che.workspace.infrastructure.kubernetes.server.WorkspaceExposureType.NATIVE;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
import javax.inject.Singleton;
|
||||
|
|
|
|||
|
|
@ -11,13 +11,13 @@
|
|||
*/
|
||||
package org.eclipse.che.workspace.infrastructure.kubernetes.util;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.IntOrString;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.ServiceBackendPort;
|
||||
import java.util.Collection;
|
||||
import java.util.Optional;
|
||||
|
||||
|
|
@ -41,8 +41,8 @@ public class Ingresses {
|
|||
for (IngressRule rule : ingress.getSpec().getRules()) {
|
||||
for (HTTPIngressPath path : rule.getHttp().getPaths()) {
|
||||
IngressBackend backend = path.getBackend();
|
||||
if (backend.getServiceName().equals(service.getMetadata().getName())
|
||||
&& matchesServicePort(backend.getServicePort(), foundPort.get())) {
|
||||
if (backend.getService().getName().equals(service.getMetadata().getName())
|
||||
&& matchesServicePort(backend.getService().getPort(), foundPort.get())) {
|
||||
return Optional.of(rule);
|
||||
}
|
||||
}
|
||||
|
|
@ -51,11 +51,12 @@ public class Ingresses {
|
|||
return Optional.empty();
|
||||
}
|
||||
|
||||
private static boolean matchesServicePort(IntOrString backendPort, ServicePort servicePort) {
|
||||
if (backendPort.getStrVal() != null && backendPort.getStrVal().equals(servicePort.getName())) {
|
||||
private static boolean matchesServicePort(
|
||||
ServiceBackendPort backendPort, ServicePort servicePort) {
|
||||
if (backendPort.getName() != null && backendPort.getName().equals(servicePort.getName())) {
|
||||
return true;
|
||||
}
|
||||
if (backendPort.getIntVal() != null && backendPort.getIntVal().equals(servicePort.getPort())) {
|
||||
if (backendPort.getNumber() != null && backendPort.getNumber().equals(servicePort.getPort())) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -72,10 +72,12 @@ import io.fabric8.kubernetes.api.model.ServicePortBuilder;
|
|||
import io.fabric8.kubernetes.api.model.ServiceSpec;
|
||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||
import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressServiceBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.ServiceBackendPort;
|
||||
import io.opentracing.Tracer;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -1319,11 +1321,14 @@ public class KubernetesInternalRuntimeTest {
|
|||
final Ingress ingress = mock(Ingress.class);
|
||||
mockName(INGRESS_NAME, ingress);
|
||||
final IngressSpec spec = mock(IngressSpec.class);
|
||||
|
||||
final IngressBackend backend = mock(IngressBackend.class);
|
||||
when(backend.getServiceName()).thenReturn(SERVICE_NAME);
|
||||
when(backend.getServicePort()).thenReturn(new IntOrString(EXPOSED_PORT_1));
|
||||
when(spec.getBackend()).thenReturn(backend);
|
||||
final IngressServiceBackend ingressServiceBackend = mock(IngressServiceBackend.class);
|
||||
final ServiceBackendPort serviceBackendPort = mock(ServiceBackendPort.class);
|
||||
when(spec.getDefaultBackend()).thenReturn(backend);
|
||||
when(backend.getService()).thenReturn(ingressServiceBackend);
|
||||
when(ingressServiceBackend.getPort()).thenReturn(serviceBackendPort);
|
||||
when(ingressServiceBackend.getName()).thenReturn(SERVICE_NAME);
|
||||
when(serviceBackendPort.getNumber()).thenReturn(EXPOSED_PORT_1);
|
||||
|
||||
final IngressRule rule = mock(IngressRule.class);
|
||||
when(rule.getHost()).thenReturn(INGRESS_HOST);
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ import io.fabric8.kubernetes.api.model.Service;
|
|||
import io.fabric8.kubernetes.api.model.ServiceBuilder;
|
||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||
import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBuilder;
|
||||
import org.eclipse.che.api.core.ValidationException;
|
||||
import org.eclipse.che.api.workspace.server.model.impl.WarningImpl;
|
||||
import org.eclipse.che.api.workspace.server.spi.environment.InternalEnvironment;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ import static org.testng.Assert.assertNull;
|
|||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import io.fabric8.kubernetes.api.model.Secret;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import org.eclipse.che.api.core.model.workspace.config.ServerConfig;
|
||||
|
|
@ -65,7 +65,8 @@ public class IngressTlsProvisionerTest {
|
|||
private final String machine = "machine";
|
||||
private final String name = "IngressName";
|
||||
private final String serviceName = "ServiceName";
|
||||
private final String servicePort = "server-port";
|
||||
private final String servicePortName = "server-port";
|
||||
private final Integer servicePort = 7777;
|
||||
private final String host = "server-host";
|
||||
|
||||
private final ExternalServerIngressBuilder externalServerIngressBuilder =
|
||||
|
|
@ -78,6 +79,7 @@ public class IngressTlsProvisionerTest {
|
|||
.withName(name)
|
||||
.withServers(servers)
|
||||
.withServiceName(serviceName)
|
||||
.withServicePortName(servicePortName)
|
||||
.withServicePort(servicePort)
|
||||
.build();
|
||||
|
||||
|
|
|
|||
|
|
@ -19,12 +19,14 @@ import io.fabric8.kubernetes.api.model.ObjectMeta;
|
|||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.ServiceSpec;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressServiceBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.ServiceBackendPort;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
|
@ -170,7 +172,10 @@ public class KubernetesPreviewUrlCommandProvisionerTest {
|
|||
new HTTPIngressRuleValue(
|
||||
Collections.singletonList(
|
||||
new HTTPIngressPath(
|
||||
new IngressBackend(null, "servicename", new IntOrString(SERVICE_PORT_NAME)),
|
||||
new IngressBackend(
|
||||
null,
|
||||
new IngressServiceBackend(
|
||||
"servicename", new ServiceBackendPort(SERVICE_PORT_NAME, PORT))),
|
||||
null,
|
||||
null))));
|
||||
ingressSpec.setRules(Collections.singletonList(rule));
|
||||
|
|
|
|||
|
|
@ -35,8 +35,8 @@ import io.fabric8.kubernetes.api.model.Volume;
|
|||
import io.fabric8.kubernetes.api.model.VolumeBuilder;
|
||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||
import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBuilder;
|
||||
import java.util.HashMap;
|
||||
import org.eclipse.che.api.core.model.workspace.runtime.RuntimeIdentity;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
|
||||
|
|
|
|||
|
|
@ -17,17 +17,18 @@ import static java.util.Collections.singletonMap;
|
|||
import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.IntOrString;
|
||||
import io.fabric8.kubernetes.api.model.LoadBalancerStatusBuilder;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.ServiceBuilder;
|
||||
import io.fabric8.kubernetes.api.model.ServicePortBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBuilder;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressServiceBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.ServiceBackendPort;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import org.eclipse.che.api.core.model.workspace.config.ServerConfig;
|
||||
|
|
@ -300,7 +301,10 @@ public class IngressServerResolverTest {
|
|||
new HTTPIngressRuleValue(
|
||||
singletonList(
|
||||
new HTTPIngressPath(
|
||||
new IngressBackend(null, name, new IntOrString("8080")),
|
||||
new IngressBackend(
|
||||
null,
|
||||
new IngressServiceBackend(
|
||||
name, new ServiceBackendPort("8080", 8080))),
|
||||
INGRESS_PATH_PREFIX,
|
||||
null)))))
|
||||
.endSpec()
|
||||
|
|
|
|||
|
|
@ -20,12 +20,14 @@ import io.fabric8.kubernetes.api.model.ObjectMeta;
|
|||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.ServiceSpec;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressServiceBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.ServiceBackendPort;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
@ -45,7 +47,7 @@ import org.testng.annotations.Test;
|
|||
@Listeners(MockitoTestNGListener.class)
|
||||
public class PreviewUrlExposerTest {
|
||||
|
||||
private PreviewUrlExposer<KubernetesEnvironment> previewUrlExposer;
|
||||
private PreviewUrlExposer previewUrlExposer;
|
||||
|
||||
@Mock private ExternalServiceExposureStrategy externalServiceExposureStrategy;
|
||||
|
||||
|
|
@ -111,7 +113,10 @@ public class PreviewUrlExposerTest {
|
|||
IngressRule ingressRule = new IngressRule();
|
||||
ingressRule.setHost("ingresshost");
|
||||
IngressBackend ingressBackend =
|
||||
new IngressBackend(null, "servicename", new IntOrString(SERVER_PORT_NAME));
|
||||
new IngressBackend(
|
||||
null,
|
||||
new IngressServiceBackend(
|
||||
"servicename", new ServiceBackendPort(SERVER_PORT_NAME, PORT)));
|
||||
ingressRule.setHttp(
|
||||
new HTTPIngressRuleValue(singletonList(new HTTPIngressPath(ingressBackend, null, null))));
|
||||
ingressSpec.setRules(singletonList(ingressRule));
|
||||
|
|
@ -172,8 +177,8 @@ public class PreviewUrlExposerTest {
|
|||
Ingress provisionedIngress = env.getIngresses().values().iterator().next();
|
||||
IngressBackend provisionedIngressBackend =
|
||||
provisionedIngress.getSpec().getRules().get(0).getHttp().getPaths().get(0).getBackend();
|
||||
assertEquals(provisionedIngressBackend.getServicePort().getStrVal(), SERVER_PORT_NAME);
|
||||
assertEquals(provisionedIngressBackend.getServiceName(), SERVICE_NAME);
|
||||
assertEquals(provisionedIngressBackend.getService().getPort().getName(), SERVER_PORT_NAME);
|
||||
assertEquals(provisionedIngressBackend.getService().getName(), SERVICE_NAME);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -209,8 +214,9 @@ public class PreviewUrlExposerTest {
|
|||
Ingress provisionedIngress = env.getIngresses().values().iterator().next();
|
||||
IngressBackend provisionedIngressBackend =
|
||||
provisionedIngress.getSpec().getRules().get(0).getHttp().getPaths().get(0).getBackend();
|
||||
assertEquals(provisionedIngressBackend.getServicePort().getStrVal(), SERVER_PORT_NAME);
|
||||
assertEquals(provisionedIngressBackend.getService().getPort().getName(), SERVER_PORT_NAME);
|
||||
assertEquals(
|
||||
provisionedIngressBackend.getServiceName(), provisionedService.getMetadata().getName());
|
||||
provisionedIngressBackend.getService().getName(),
|
||||
provisionedService.getMetadata().getName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,9 +25,9 @@ import io.fabric8.kubernetes.api.model.Pod;
|
|||
import io.fabric8.kubernetes.api.model.PodBuilder;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.ServicePortBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import java.util.Map;
|
||||
import org.eclipse.che.api.core.model.workspace.config.ServerConfig;
|
||||
import org.eclipse.che.api.workspace.server.model.impl.ServerConfigImpl;
|
||||
|
|
@ -148,8 +148,8 @@ public class DefaultHostExternalServiceExposureStrategyTest {
|
|||
for (Ingress ingress : kubernetesEnvironment.getIngresses().values()) {
|
||||
IngressRule ingressRule = ingress.getSpec().getRules().get(0);
|
||||
IngressBackend backend = ingressRule.getHttp().getPaths().get(0).getBackend();
|
||||
if (serviceName.equals(backend.getServiceName())) {
|
||||
assertEquals(backend.getServicePort().getStrVal(), servicePort.getName());
|
||||
if (serviceName.equals(backend.getService().getName())) {
|
||||
assertEquals(backend.getService().getPort().getName(), servicePort.getName());
|
||||
|
||||
Annotations.Deserializer ingressAnnotations =
|
||||
Annotations.newDeserializer(ingress.getMetadata().getAnnotations());
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2012-2018 Red Hat, Inc.
|
||||
* Copyright (c) 2012-2021 Red Hat, Inc.
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
|
|
@ -12,12 +12,13 @@
|
|||
package org.eclipse.che.workspace.infrastructure.kubernetes.server.external;
|
||||
|
||||
import static java.util.Collections.singletonMap;
|
||||
import static org.eclipse.che.workspace.infrastructure.kubernetes.server.external.ExternalServerIngressBuilder.INGRESS_PATH_TYPE;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.Map;
|
||||
import org.eclipse.che.api.core.model.workspace.config.ServerConfig;
|
||||
import org.eclipse.che.api.workspace.server.model.impl.ServerConfigImpl;
|
||||
|
|
@ -37,7 +38,8 @@ public class ExternalServerIngressBuilderTest {
|
|||
private static final String MACHINE_NAME = "machine";
|
||||
private static final String NAME = "IngressName";
|
||||
private static final String SERVICE_NAME = "ServiceName";
|
||||
private static final String SERVICE_PORT = "server-port";
|
||||
private static final String SERVICE_PORT_NAME = "server-port";
|
||||
private static final Integer SERVICE_PORT = 7777;
|
||||
|
||||
private ExternalServerIngressBuilder externalServerIngressBuilder;
|
||||
|
||||
|
|
@ -62,6 +64,7 @@ public class ExternalServerIngressBuilderTest {
|
|||
.withName(NAME)
|
||||
.withServers(SERVERS)
|
||||
.withServiceName(SERVICE_NAME)
|
||||
.withServicePortName(SERVICE_PORT_NAME)
|
||||
.withServicePort(SERVICE_PORT)
|
||||
.build();
|
||||
|
||||
|
|
@ -83,6 +86,7 @@ public class ExternalServerIngressBuilderTest {
|
|||
.withName(NAME)
|
||||
.withServers(SERVERS)
|
||||
.withServiceName(SERVICE_NAME)
|
||||
.withServicePortName(SERVICE_PORT_NAME)
|
||||
.withServicePort(SERVICE_PORT)
|
||||
.build();
|
||||
|
||||
|
|
@ -104,6 +108,7 @@ public class ExternalServerIngressBuilderTest {
|
|||
.withName(NAME)
|
||||
.withServers(SERVERS)
|
||||
.withServiceName(SERVICE_NAME)
|
||||
.withServicePortName(SERVICE_PORT_NAME)
|
||||
.withServicePort(SERVICE_PORT)
|
||||
.build();
|
||||
|
||||
|
|
@ -116,8 +121,9 @@ public class ExternalServerIngressBuilderTest {
|
|||
HTTPIngressPath httpIngressPath =
|
||||
ingress.getSpec().getRules().get(0).getHttp().getPaths().get(0);
|
||||
assertEquals(httpIngressPath.getPath(), path);
|
||||
assertEquals(httpIngressPath.getBackend().getServiceName(), SERVICE_NAME);
|
||||
assertEquals(httpIngressPath.getBackend().getServicePort().getStrVal(), SERVICE_PORT);
|
||||
assertEquals(httpIngressPath.getPathType(), INGRESS_PATH_TYPE);
|
||||
assertEquals(httpIngressPath.getBackend().getService().getName(), SERVICE_NAME);
|
||||
assertEquals(httpIngressPath.getBackend().getService().getPort().getName(), SERVICE_PORT_NAME);
|
||||
|
||||
assertEquals(ingress.getMetadata().getName(), NAME);
|
||||
assertTrue(ingress.getMetadata().getAnnotations().containsKey("annotation-key"));
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ import static org.mockito.Mockito.when;
|
|||
import static org.testng.Assert.assertEquals;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
|
|||
|
|
@ -25,9 +25,9 @@ import io.fabric8.kubernetes.api.model.Pod;
|
|||
import io.fabric8.kubernetes.api.model.PodBuilder;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.ServicePortBuilder;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import java.util.Map;
|
||||
import org.eclipse.che.api.core.model.workspace.config.ServerConfig;
|
||||
import org.eclipse.che.api.workspace.server.model.impl.ServerConfigImpl;
|
||||
|
|
@ -120,8 +120,8 @@ public class MultiHostExternalServiceExposureStrategyTest {
|
|||
assertEquals(ingressRule.getHost(), ingressName + "." + DOMAIN);
|
||||
assertEquals(ingressRule.getHttp().getPaths().get(0).getPath(), "/");
|
||||
IngressBackend backend = ingressRule.getHttp().getPaths().get(0).getBackend();
|
||||
assertEquals(backend.getServiceName(), serviceName);
|
||||
assertEquals(backend.getServicePort().getStrVal(), servicePort.getName());
|
||||
assertEquals(backend.getService().getName(), serviceName);
|
||||
assertEquals(backend.getService().getPort().getName(), servicePort.getName());
|
||||
|
||||
Annotations.Deserializer ingressAnnotations =
|
||||
Annotations.newDeserializer(ingress.getMetadata().getAnnotations());
|
||||
|
|
|
|||
|
|
@ -21,12 +21,14 @@ import io.fabric8.kubernetes.api.model.ObjectMeta;
|
|||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.ServicePort;
|
||||
import io.fabric8.kubernetes.api.model.ServiceSpec;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.extensions.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.extensions.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressPath;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.HTTPIngressRuleValue;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressRule;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressServiceBackend;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.IngressSpec;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.ServiceBackendPort;
|
||||
import java.util.Optional;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
|
|
@ -38,7 +40,12 @@ public class IngressesTest {
|
|||
final int PORT = 8080;
|
||||
|
||||
Service service = createService(SERVER_PORT_NAME, PORT);
|
||||
Ingress ingress = createIngress(new IngressBackend(null, "servicename", new IntOrString(PORT)));
|
||||
Ingress ingress =
|
||||
createIngress(
|
||||
new IngressBackend(
|
||||
null,
|
||||
new IngressServiceBackend(
|
||||
"servicename", new ServiceBackendPort(SERVER_PORT_NAME, PORT))));
|
||||
|
||||
Optional<IngressRule> foundRule =
|
||||
Ingresses.findIngressRuleForServicePort(singletonList(ingress), service, PORT);
|
||||
|
|
@ -53,7 +60,11 @@ public class IngressesTest {
|
|||
|
||||
Service service = createService(SERVER_PORT_NAME, PORT);
|
||||
Ingress ingress =
|
||||
createIngress(new IngressBackend(null, "servicename", new IntOrString(SERVER_PORT_NAME)));
|
||||
createIngress(
|
||||
new IngressBackend(
|
||||
null,
|
||||
new IngressServiceBackend(
|
||||
"servicename", new ServiceBackendPort(SERVER_PORT_NAME, PORT))));
|
||||
|
||||
Optional<IngressRule> foundRule =
|
||||
Ingresses.findIngressRuleForServicePort(singletonList(ingress), service, PORT);
|
||||
|
|
@ -68,7 +79,11 @@ public class IngressesTest {
|
|||
|
||||
Service service = createService(SERVER_PORT_NAME, PORT);
|
||||
Ingress ingress =
|
||||
createIngress(new IngressBackend(null, "servicename", new IntOrString("does not exist")));
|
||||
createIngress(
|
||||
new IngressBackend(
|
||||
null,
|
||||
new IngressServiceBackend(
|
||||
"servicename", new ServiceBackendPort("does not exist", null))));
|
||||
|
||||
Optional<IngressRule> foundRule =
|
||||
Ingresses.findIngressRuleForServicePort(singletonList(ingress), service, PORT);
|
||||
|
|
@ -81,7 +96,10 @@ public class IngressesTest {
|
|||
final int PORT = 8080;
|
||||
|
||||
Service service = createService(SERVER_PORT_NAME, PORT);
|
||||
Ingress ingress = createIngress(new IngressBackend(null, "servicename", new IntOrString(666)));
|
||||
Ingress ingress =
|
||||
createIngress(
|
||||
new IngressBackend(
|
||||
null, new IngressServiceBackend("servicename", new ServiceBackendPort(null, 666))));
|
||||
|
||||
Optional<IngressRule> foundRule =
|
||||
Ingresses.findIngressRuleForServicePort(singletonList(ingress), service, PORT);
|
||||
|
|
|
|||
|
|
@ -50,10 +50,6 @@
|
|||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>kubernetes-model-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>kubernetes-model-extensions</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.fabric8</groupId>
|
||||
<artifactId>openshift-client</artifactId>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import io.fabric8.kubernetes.api.model.Pod;
|
|||
import io.fabric8.kubernetes.api.model.Secret;
|
||||
import io.fabric8.kubernetes.api.model.Service;
|
||||
import io.fabric8.kubernetes.api.model.apps.Deployment;
|
||||
import io.fabric8.kubernetes.api.model.extensions.Ingress;
|
||||
import io.fabric8.kubernetes.api.model.networking.v1.Ingress;
|
||||
import io.fabric8.openshift.api.model.Route;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -29,7 +29,6 @@ import org.eclipse.che.api.workspace.server.spi.environment.InternalEnvironment;
|
|||
import org.eclipse.che.api.workspace.server.spi.environment.InternalMachineConfig;
|
||||
import org.eclipse.che.api.workspace.server.spi.environment.InternalRecipe;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment.Builder;
|
||||
|
||||
/**
|
||||
* Holds objects of OpenShift environment.
|
||||
|
|
|
|||
Loading…
Reference in New Issue