use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class DefaultResourceService method generateAppResources.
private KubernetesListBuilder generateAppResources(PlatformMode platformMode, EnricherManager enricherManager, KitLogger log) throws IOException {
final ResourceConfig resourceConfig = resourceServiceConfig.getResourceConfig();
final File resourceDir = resourceServiceConfig.getResourceDir();
try {
File[] resourceFiles = listResourceFragments(resourceDir, resourceConfig != null ? resourceConfig.getRemotes() : null, log);
log.info("Using resource templates from %s", resourceDir);
final File[] processedResource = processResourceFiles(resourceFiles);
KubernetesListBuilder builder = processResourceFragments(platformMode, processedResource);
// Create default resources for app resources only
enricherManager.createDefaultResources(platformMode, builder);
// Enrich descriptors
enricherManager.enrich(platformMode, builder);
return builder;
} catch (ConstraintViolationException e) {
String message = ValidationUtil.createValidationMessage(e.getConstraintViolations());
log.error("ConstraintViolationException: %s", message);
throw new IOException(message, e);
}
}
use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class WatchMojoTest method executeInternal_whenNamespaceConfiguredInResourceConfig_shouldDelegateToWatcherManagerWithClusterAccessNamespace.
@Test
public void executeInternal_whenNamespaceConfiguredInResourceConfig_shouldDelegateToWatcherManagerWithClusterAccessNamespace() throws MojoExecutionException {
// Given
ResourceConfig mockedResourceConfig = mock(ResourceConfig.class);
when(mockedResourceConfig.getNamespace()).thenReturn("namespace-from-resourceconfig");
watchMojo = new WatchMojo() {
{
project = mavenProject;
settings = mavenSettings;
kubernetesManifest = kubernetesManifestFile;
imageConfigResolver = mockedImageConfigResolver;
dockerAccessFactory = mockedDockerAccessFactory;
kubernetesClient = defaultKubernetesClient;
javaProject = mockedJavaProject;
jkubeServiceHub = mockedJKubeServiceHub;
clusterAccess = mockedClusterAccess;
resources = mockedResourceConfig;
}
};
// When
watchMojo.executeInternal();
// Then
watcherManagerMockedStatic.verify(() -> WatcherManager.watch(any(), eq("namespace-from-resourceconfig"), any(), any()), times(1));
}
use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class KubernetesUndeployServiceTest method undeployWithManifestShouldDeleteAllEntities.
@Test
public void undeployWithManifestShouldDeleteAllEntities(@Mocked File file) throws Exception {
// Given
final ResourceConfig resourceConfig = ResourceConfig.builder().namespace("default").build();
final Namespace namespace = new NamespaceBuilder().withNewMetadata().withName("default").endMetadata().build();
final Pod pod = new PodBuilder().withNewMetadata().withName("MrPoddington").endMetadata().build();
final Service service = new Service();
// @formatter:off
new Expectations() {
{
file.exists();
result = true;
file.isFile();
result = true;
kubernetesHelper.loadResources(file);
result = Arrays.asList(namespace, pod, service);
}
};
// @formatter:on
// When
kubernetesUndeployService.undeploy(null, resourceConfig, file);
// Then
// @formatter:off
new Verifications() {
{
kubernetesHelper.getKind((HasMetadata) any);
times = 3;
jKubeServiceHub.getClient().resource(pod).inNamespace("default").withPropagationPolicy(DeletionPropagation.BACKGROUND).delete();
times = 1;
jKubeServiceHub.getClient().resource(service).inNamespace("default").withPropagationPolicy(DeletionPropagation.BACKGROUND).delete();
times = 1;
jKubeServiceHub.getClient().resource(namespace).inNamespace("default").withPropagationPolicy(DeletionPropagation.BACKGROUND).delete();
times = 1;
}
};
// @formatter:on
}
use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class OpenshiftBuildServiceIntegrationTest method init.
@Before
public void init() throws Exception {
final KitLogger logger = new KitLogger.StdoutLogger();
baseDirectory = temporaryFolder.newFolder("openshift-build-service");
target = temporaryFolder.newFolder("openshift-build-service", "target");
final File emptyDockerBuildTar = new File(target, "docker-build.tar");
FileUtils.touch(emptyDockerBuildTar);
baseDir = baseDirectory.getAbsolutePath();
projectName = "myapp";
FileUtils.deleteDirectory(new File(baseDir, projectName));
final File dockerFile = new File(baseDir, "Docker.tar");
FileUtils.touch(dockerFile);
openshiftHelper = mockStatic(OpenshiftHelper.class);
openshiftHelper.when(() -> OpenshiftHelper.isOpenShift(eq(mockServer.getOpenshiftClient()))).thenReturn(true);
jKubeBuildTarArchiver = mockConstruction(JKubeBuildTarArchiver.class, (mock, ctx) -> when(mock.createArchive(any(File.class), any(BuildDirs.class), eq(ArchiveCompression.none))).thenReturn(emptyDockerBuildTar));
mockedResourceConfig = mock(ResourceConfig.class, RETURNS_DEEP_STUBS);
when(mockedResourceConfig.getNamespace()).thenReturn("ns1");
jKubeServiceHub = mock(JKubeServiceHub.class, RETURNS_DEEP_STUBS);
when(jKubeServiceHub.getClusterAccess().createDefaultClient()).thenReturn(mockServer.getOpenshiftClient());
when(jKubeServiceHub.getLog()).thenReturn(logger);
when(jKubeServiceHub.getDockerServiceHub().getArchiveService()).thenReturn(new ArchiveService(AssemblyManager.getInstance(), logger));
when(jKubeServiceHub.getBuildServiceConfig().getBuildDirectory()).thenReturn(target.getAbsolutePath());
when(jKubeServiceHub.getConfiguration()).thenReturn(JKubeConfiguration.builder().outputDirectory(target.getAbsolutePath()).project(JavaProject.builder().baseDirectory(baseDirectory).buildDirectory(target).build()).registryConfig(RegistryConfig.builder().build()).build());
image = ImageConfiguration.builder().name(projectName).build(BuildConfiguration.builder().from(projectName).build()).build();
defaultConfig = BuildServiceConfig.builder().buildDirectory(baseDir).buildRecreateMode(BuildRecreateMode.none).s2iBuildNameSuffix("-s2i-suffix2").resourceConfig(mockedResourceConfig).jKubeBuildStrategy(JKubeBuildStrategy.s2i);
defaultConfigSecret = defaultConfig.build().toBuilder().openshiftPullSecret("pullsecret-fabric8");
dockerImageConfig = defaultConfig.build().toBuilder().buildOutputKind("DockerImage");
dockerImageConfigSecret = defaultConfig.build().toBuilder().openshiftPullSecret("pullsecret-fabric8").openshiftPushSecret("pushsecret-fabric8").buildOutputKind("DockerImage");
Serialization.jsonMapper().disable(SerializationFeature.INDENT_OUTPUT);
}
use of org.eclipse.jkube.kit.config.resource.ResourceConfig in project jkube by eclipse.
the class BaseEnricherGetReplicaCountTest method withDeploymentConfigAndDeploymentInListBuilderAndEmptyResourceConfigShouldReturnValueInFirstItem.
@Test
public void withDeploymentConfigAndDeploymentInListBuilderAndEmptyResourceConfigShouldReturnValueInFirstItem() {
// Given
final KubernetesListBuilder klb = new KubernetesListBuilder().addToItems(new DeploymentBuilder().withNewSpec().withReplicas(2).endSpec()).addToItems(new DeploymentConfigBuilder().withNewSpec().withReplicas(1).endSpec());
final ResourceConfig resourceConfig = ResourceConfig.builder().replicas(313373).build();
// When
final int result = getReplicaCount(klb, resourceConfig, 1337);
// Then
assertThat(result).isEqualTo(2);
}
Aggregations