use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class BaseEnricherGetReplicaCountTest method withEmptyListBuilderAndEmptyResourceConfigShouldReturnDefault.
@Test
public void withEmptyListBuilderAndEmptyResourceConfigShouldReturnDefault() {
// When
final int result = getReplicaCount(new KubernetesListBuilder().addToItems(new ConfigMapBuilder()), new ResourceConfig(), 1337);
// Then
assertThat(result).isEqualTo(1337);
}
use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class KubernetesResourceTask method initJKubeServiceHubBuilder.
@Override
protected JKubeServiceHub.JKubeServiceHubBuilder initJKubeServiceHubBuilder() {
JKubeServiceHub.JKubeServiceHubBuilder builder = super.initJKubeServiceHubBuilder();
ResourceConfig resourceConfig = kubernetesExtension.resources;
if (kubernetesExtension.getNamespaceOrNull() != null) {
resourceConfig = ResourceConfig.toBuilder(resourceConfig).namespace(kubernetesExtension.getNamespaceOrNull()).build();
}
final ResourceServiceConfig resourceServiceConfig = ResourceServiceConfig.builder().project(kubernetesExtension.javaProject).resourceDir(resolveResourceSourceDirectory()).targetDir(kubernetesExtension.getResourceTargetDirectoryOrDefault()).resourceFileType(kubernetesExtension.getResourceFileTypeOrDefault()).resourceConfig(resourceConfig).interpolateTemplateParameters(kubernetesExtension.getInterpolateTemplateParametersOrDefault()).resourceFilesProcessor(this::gradleFilterFiles).build();
builder.resourceService(new LazyBuilder<>(() -> new DefaultResourceService(resourceServiceConfig)));
return builder;
}
use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class IngressEnricherTest method testCreateIngressFromXMLConfigWithConfiguredServiceName.
@Test
public void testCreateIngressFromXMLConfigWithConfiguredServiceName() {
// Given
ResourceConfig resourceConfig = ResourceConfig.builder().ingress(IngressConfig.builder().ingressRule(IngressRuleConfig.builder().host("foo.bar.com").path(IngressRulePathConfig.builder().pathType("ImplementationSpecific").path("/icons").serviceName("hello-k8s").servicePort(80).build()).build()).ingressRule(IngressRuleConfig.builder().host("*.foo.com").path(IngressRulePathConfig.builder().path("/icons-storage").pathType("Exact").resource(IngressRulePathResourceConfig.builder().apiGroup("k8s.example.com").kind("StorageBucket").name("icon-assets").build()).build()).build()).ingressTlsConfig(IngressTlsConfig.builder().host("https-example.foo.com").secretName("testsecret-tls").build()).build()).build();
// @formatter:off
new Expectations() {
{
// Enable creation of Ingress for Service of type LoadBalancer
context.getProperty(CREATE_EXTERNAL_URLS);
result = "true";
context.getConfiguration().getResource();
result = resourceConfig;
}
};
// @formatter:on
Service providedService = initTestService().build();
KubernetesListBuilder kubernetesListBuilder = new KubernetesListBuilder().addToItems(providedService);
// When
ingressEnricher.create(PlatformMode.kubernetes, kubernetesListBuilder);
// Then
assertThat(kubernetesListBuilder).extracting(KubernetesListBuilder::buildItems).asList().hasSize(2).element(1).asInstanceOf(InstanceOfAssertFactories.type(Ingress.class)).hasFieldOrPropertyWithValue("apiVersion", "networking.k8s.io/v1").hasFieldOrPropertyWithValue("metadata.name", providedService.getMetadata().getName()).extracting(Ingress::getSpec).satisfies(is -> assertThat(is).extracting("tls").asList().element(0).hasFieldOrPropertyWithValue("secretName", "testsecret-tls").extracting("hosts").asList().containsExactly("https-example.foo.com")).extracting(IngressSpec::getRules).satisfies(r -> assertThat(r).asList().element(0).hasFieldOrPropertyWithValue("host", "foo.bar.com").extracting("http.paths").asList().element(0).hasFieldOrPropertyWithValue("path", "/icons").hasFieldOrPropertyWithValue("pathType", "ImplementationSpecific").hasFieldOrPropertyWithValue("backend.service.name", "hello-k8s").hasFieldOrPropertyWithValue("backend.service.port.number", 80)).satisfies(r -> assertThat(r).asList().element(1).hasFieldOrPropertyWithValue("host", "*.foo.com").extracting("http.paths").asList().element(0).hasFieldOrPropertyWithValue("path", "/icons-storage").hasFieldOrPropertyWithValue("pathType", "Exact").hasFieldOrPropertyWithValue("backend.resource.apiGroup", "k8s.example.com").hasFieldOrPropertyWithValue("backend.resource.kind", "StorageBucket").hasFieldOrPropertyWithValue("backend.resource.name", "icon-assets"));
}
use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class IngressEnricherTest method testGetIngressRuleXMLConfigWithNonNullResourceConfig.
@Test
public void testGetIngressRuleXMLConfigWithNonNullResourceConfig() {
// Given
ResourceConfig resourceConfig = ResourceConfig.builder().ingress(IngressConfig.builder().ingressRule(IngressRuleConfig.builder().host("host1").build()).build()).build();
// When
List<IngressRuleConfig> ingressRuleXMLConfig = IngressEnricher.getIngressRuleXMLConfig(resourceConfig);
// Then
assertThat(ingressRuleXMLConfig).asList().hasSize(1);
}
use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class DefaultNamespaceEnricherTest method enrichWithNamespaceFragmentWithNoStatus.
@Test
public void enrichWithNamespaceFragmentWithNoStatus() {
// Given
setExpectations(new Properties(), new ResourceConfig());
final KubernetesListBuilder kubernetesListBuilder = new KubernetesListBuilder();
kubernetesListBuilder.addToItems(new NamespaceBuilder().withNewMetadata().withName("test-jkube").endMetadata().build());
// When
new DefaultNamespaceEnricher(context).enrich(PlatformMode.kubernetes, kubernetesListBuilder);
// Then
assertThat(kubernetesListBuilder.build().getItems()).hasSize(1);
assertThat(kubernetesListBuilder.build().getItems().iterator().next()).hasFieldOrPropertyWithValue("metadata.name", "test-jkube");
assertNull(kubernetesListBuilder.build().getItems().get(0).getMetadata().getNamespace());
}
Aggregations