jkube
jkube copied to clipboard
refactor (jkube-kit) : Move Dockerfile opinionated ImageConfig logic from `ConfigHelper.initImageConfiguration` to a dedicated generator
Description
- ConfigHelper modifies the provided set of ImageConfigurations when it detects a
Dockerfilein project root directory. This is actually a feature called Simple Dockerfile Mode. However, this mutation of ImageConfiguration from withininitImageConfigurationdoes not look appropriate. It can be moved to a dedicated generator that will get activated whenDockerfileis present in project base directory. - Add a new generator SimpleDockerfileGenerator, it adds a simple ImageConfiguration with Dockerfile configured in build and adds it to existing set of ImageConfigurations.
- Remove check from BaseGenerator to skip generation if it's simple Dockerfile mode. Move it to SimpleDockerfileGenerator.isApplicable instead
We also need to adjust the documentation for adding this new generator. I'll do that in a follow up PR.
Type of change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] Feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change
- [X] Chore (non-breaking change which doesn't affect codebase; test, version modification, documentation, etc.)
Checklist
- [X] I have read the contributing guidelines
- [X] I signed-off my commit with a user that has signed the Eclipse Contributor Agreement
- [X] My code follows the style guidelines of this project
- [X] I Keep It Small and Simple: The smaller the PR is, the easier it is to review and have it merged
- [X] I use conventional commits in my commit messages
- [X] I have performed a self-review of my code
- [ ] I Added CHANGELOG entry
- [ ] I have updated the documentation accordingly
- [ ] No new bugs, code smells, etc. in SonarCloud report
- [X] I have added tests that prove my fix is effective or that my feature works
- [X] New and existing unit tests pass locally with my changes
- [x] I tested my code in Kubernetes
- [ ] I tested my code in OpenShift
Eclipse JKube CI Report
Started new GH workflow run for https://github.com/eclipse/jkube/pull/2802 (2024-04-11T11:41:57Z)
:gear: JKube E2E Tests (8645730604)
- :heavy_check_mark: Bootstrap CI test run (#2802)
- :heavy_check_mark: K8S v1.25.13 dockerfile (#2802)
- :heavy_check_mark: K8S v1.25.13 other (#2802)
- :heavy_check_mark: K8S v1.25.13 quarkus (#2802)
- :heavy_check_mark: K8S v1.25.13 quarkus-native (#2802)
- :heavy_check_mark: K8S v1.25.13 springboot (#2802)
- :heavy_check_mark: K8S v1.25.13 webapp (#2802)
- :heavy_check_mark: K8S v1.28.1 dockerfile (#2802)
- :heavy_check_mark: K8S v1.28.1 other (#2802)
- :heavy_check_mark: K8S v1.28.1 quarkus (#2802)
- :heavy_check_mark: K8S v1.28.1 quarkus-native (#2802)
- :heavy_check_mark: K8S v1.28.1 springboot (#2802)
- :heavy_check_mark: K8S v1.28.1 webapp (#2802)
- :heavy_check_mark: OpenShift v3.10.0 other (#2802)
- :heavy_check_mark: OpenShift v3.10.0 quarkus (#2802)
- :x: OpenShift v3.10.0 springboot (#2802)
- :heavy_check_mark: OpenShift v3.10.0 webapp (#2802)
- :heavy_check_mark: Windows (#2802)
- :heavy_check_mark: Finish CI test run
Test results
:heavy_check_mark: Test reports (Minikube v1.25.13-dockerfile)
[✓] ContextDirAndDockerFileITCase - k8sBuild - k8s:build, should create image for configured special dockerFile with files added from provided contextDir [✓] DockerFileITCase - k8sBuild - k8s:build, should create image inferring contextDir from provided dockerFile configuration [✓] ContextDirAndCustomAssemblyITCase - k8sBuild - k8s:build, should create image with docker file and files read from provided contextDir configuration (within Dockerfile, files are read from configured Assembly properties) [✓] ContextDirITCase - k8sBuild - k8s:build, should create image with docker file and files read from provided contextDir configuration [✓] SimpleK8sITCase - k8sBuild - k8s:build, should create image [✓] SimpleK8sITCase - k8sResource - k8s:resource, should create manifests [✓] SimpleK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] SimpleK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (1) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.28.1-dockerfile)
[✓] DockerFileITCase - k8sBuild - k8s:build, should create image inferring contextDir from provided dockerFile configuration [✓] ContextDirITCase - k8sBuild - k8s:build, should create image with docker file and files read from provided contextDir configuration [✓] ContextDirAndCustomAssemblyITCase - k8sBuild - k8s:build, should create image with docker file and files read from provided contextDir configuration (within Dockerfile, files are read from configured Assembly properties) [✓] ContextDirAndDockerFileITCase - k8sBuild - k8s:build, should create image for configured special dockerFile with files added from provided contextDir [✓] SimpleK8sITCase - k8sBuild - k8s:build, should create image [✓] SimpleK8sITCase - k8sResource - k8s:resource, should create manifests [✓] SimpleK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] SimpleK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (1) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.28.1-quarkus)
[✓] QuarkusK8sITCase - k8sBuild - k8s:build, should create image [✓] QuarkusK8sITCase - k8sResource - k8s:resource, should create manifests [✓] QuarkusK8sITCase - k8sHelm - k8s:helm, should create Helm charts [✓] QuarkusK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] QuarkusK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (5) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.25.13-quarkus)
[✓] QuarkusK8sITCase - k8sBuild - k8s:build, should create image [✓] QuarkusK8sITCase - k8sResource - k8s:resource, should create manifests [✓] QuarkusK8sITCase - k8sHelm - k8s:helm, should create Helm charts [✓] QuarkusK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] QuarkusK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (5) passed successfully!!!:heavy_check_mark: Test reports (Windows)
[✓] WindowsITCase - k8sBuild - k8s:build, should create image [✓] WindowsITCase - k8sPush - k8s:push, should push image to remote registry [✓] WindowsITCase - k8sResource - k8s:resource, should create manifests [✓] WindowsITCase - ocResource - oc:resource, should create manifests [✓] WindowsITCase - k8sHelm - k8s:helm, should create Helm charts [✓] WindowsITCase - ocHelm - oc:helm, should create Helm charts [✓] All tests (6) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.25.13-quarkus-native)
[✓] QuarkusNativeK8sITCase - k8sBuild - k8s:build, should create image [✓] QuarkusNativeK8sITCase - k8sResource - k8s:resource, should create manifests [✓] QuarkusNativeK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] QuarkusNativeK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (4) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.28.1-quarkus-native)
[✓] QuarkusNativeK8sITCase - k8sBuild - k8s:build, should create image [✓] QuarkusNativeK8sITCase - k8sResource - k8s:resource, should create manifests [✓] QuarkusNativeK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] QuarkusNativeK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (4) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.28.1-springboot)
[✓] HelmConfigITCase - k8sResource - k8s:resource, no specified profile, should create default resource manifests [✓] ZeroConfigFatJarK8sITCase - k8sBuild - k8s:build, should create fat jar image [✓] CompleteDockerITCase - k8sBuild - k8s:build, should create image and assembly files [✓] CustomResourceK8sITCase - k8sBuild - k8s:build, should create image [✓] CompleteK8sITCase - k8sBuild - k8s:build, should create image [✓] ZeroConfigK8sITCase - k8sBuild - k8s:build, should create layered jar image [✓] HelmConfigITCase - k8sHelm - k8s:helm, should create Helm charts [✓] CompleteK8sJibITCase - k8sBuild - k8s:build, should create JIB image [✓] ZeroConfigFatJarK8sITCase - k8sResource - k8s:resource, should create manifests [✓] CompleteDockerITCase - k8sResource - k8s:resource, should create manifests in specific directory [✓] HelmConfigITCase - k8sHelmPush - k8s:helm-push, should push the charts [✓] CompleteK8sJibITCase - k8sResource - k8s:resource, should create manifests [✓] ZeroConfigFatJarK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] CompleteK8sITCase - k8sResource - k8s:resource, should create manifests [✓] ZeroConfigK8sITCase - k8sPush - k8s:push, should push image to remote registry [✓] CustomResourceK8sITCase - k8sPush - k8s:push, should push image to remote registry [✓] CompleteK8sJibITCase - k8sPush - k8s:push, should push image to remote registry [✓] ZeroConfigFatJarK8sITCase - k8sLog - k8s:log, should retrieve log [✓] ZeroConfigK8sITCase - k8sResource - k8s:resource, should create manifests [✓] CompleteDockerITCase - k8sApply - k8s:apply, should deploy pod and service form manifests in specific directory [✓] CustomResourceK8sITCase - k8sResource - k8s:resource, should create manifests [✓] ZeroConfigFatJarK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ZeroConfigK8sITCase - k8sHelm - k8s:helm, should create Helm charts [✓] CompleteDockerITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ZeroConfigK8sGradleITCase - k8sBuild - k8sBuild, should create image [✓] CompleteK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ZeroConfigK8sGradleITCase - k8sResource - k8sResource, should create manifests [✓] CompleteK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ZeroConfigK8sGradleITCase - k8sHelm - k8sHelm, should create Helm charts [✓] CompleteK8sJibITCase - k8sApply - k8s:apply, should deploy pod and service [✓] CompleteK8sJibITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] CustomResourceK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ZeroConfigK8sGradleITCase - k8sPush - k8sPush, should push image to remote registry [✓] CustomResourceK8sITCase - k8sLog - k8s:log, should retrieve log [✓] ZeroConfigK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] CustomResourceK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ZeroConfigK8sGradleITCase - k8sApply - k8sApply, should deploy pod and service [✓] ZeroConfigK8sITCase - k8sLog - k8s:log, should retrieve log [✓] ZeroConfigK8sGradleITCase - k8sLog - k8sLog, should retrieve log [✓] ZeroConfigK8sGradleITCase - k8sUndeploy - k8sUndeploy, should delete all applied resources [✓] ZeroConfigK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (6) passed successfully!!!:heavy_check_mark: Test reports (OpenShift v3.10.0-quarkus)
[✓] QuarkusOcTraceEnabledITCase - ocBuild - oc:build, with org.slf4j.simpleLogger.defaultLogLevel=trace, should create image and print trace logs [✓] QuarkusOcTraceEnabledITCase - ocResource - oc:resource, should create manifests [✓] QuarkusOcITCase - ocBuild - oc:build, should create image [✓] QuarkusOcITCase - ocResource - oc:resource, should create manifests [✓] QuarkusOcTraceEnabledITCase - ocApply - oc:apply, with org.slf4j.simpleLogger.defaultLogLevel=trace, should deploy pod and service and print trace logs [✓] QuarkusOcITCase - ocHelm - oc:helm, should create Helm charts [✓] QuarkusOcTraceEnabledITCase - ocLog - oc:log, with org.slf4j.simpleLogger.defaultLogLevel=trace, should retrieve log and print trace logs [✓] QuarkusOcITCase - ocApply - oc:apply, should deploy pod and service [✓] QuarkusOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] QuarkusOcTraceEnabledITCase - ocUndeploy - oc:undeploy, with org.slf4j.simpleLogger.defaultLogLevel=trace, should delete all applied resources and print trace logs [✓] All tests (5) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.25.13-other)
[✓] VertxK8sITCase - k8sBuild - k8s:build, should create image [✓] ThorntailK8sITCase - k8sBuild - k8s:build, should create image [✓] KarafK8sITCase - k8sBuild - k8s:build, should create image [✓] OpenLibertyK8sITCase - k8sBuild - k8s:build, should create image [✓] WildflyJarK8sITCase - k8sBuild - k8s:build, should create image [✓] VertxK8sITCase - k8sResource - k8s:resource, should create manifests [✓] KarafK8sITCase - k8sResource - k8s:resource, should create manifest for Kubernetes [✓] ThorntailK8sITCase - k8sResource - k8s:resource, should create manifests [✓] OpenLibertyK8sITCase - k8sResource - k8s:resource, should create manifests [✓] WildflyJarK8sITCase - k8sResource - k8s:resource, should create manifests [✓] VertxK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] VertxK8sITCase - k8sLog - k8s:log, should retrieve log [✓] DslK8sGradleITCase - k8sBuild - k8sBuild, should create image [✓] DslK8sGradleITCase - k8sResource - k8sResource, should create manifests [✓] KarafK8sITCase - K8sApply - k8s:apply, should apply manifests on k8s cluster [✓] DslK8sGradleITCase - k8sHelm - k8sHelm, should create Helm charts [✓] VertxK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] KarafK8sITCase - k8sLog - k8s:log [✓] KarafK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ThorntailK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ThorntailK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] OpenLibertyK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] OpenLibertyK8sITCase - k8sLog - k8s:log, should retrieve log [✓] OpenLibertyK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] WildflyJarK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] DslK8sGradleITCase - k8sApply - k8sApply, should deploy pod and service [✓] DslK8sGradleITCase - k8sLog - k8sLog, should retrieve log [✓] DslK8sGradleITCase - k8sUndeploy - k8sUndeploy, should delete all applied resources [✓] WildflyJarK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (5) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.25.13-springboot)
[✓] HelmConfigITCase - k8sResource - k8s:resource, no specified profile, should create default resource manifests [✓] CompleteDockerITCase - k8sBuild - k8s:build, should create image and assembly files [✓] ZeroConfigFatJarK8sITCase - k8sBuild - k8s:build, should create fat jar image [✓] ZeroConfigK8sITCase - k8sBuild - k8s:build, should create layered jar image [✓] HelmConfigITCase - k8sHelm - k8s:helm, should create Helm charts [✓] CustomResourceK8sITCase - k8sBuild - k8s:build, should create image [✓] CompleteK8sITCase - k8sBuild - k8s:build, should create image [✓] CompleteK8sJibITCase - k8sBuild - k8s:build, should create JIB image [✓] CompleteDockerITCase - k8sResource - k8s:resource, should create manifests in specific directory [✓] ZeroConfigFatJarK8sITCase - k8sResource - k8s:resource, should create manifests [✓] HelmConfigITCase - k8sHelmPush - k8s:helm-push, should push the charts [✓] CompleteK8sJibITCase - k8sResource - k8s:resource, should create manifests [✓] CompleteDockerITCase - k8sApply - k8s:apply, should deploy pod and service form manifests in specific directory [✓] CompleteK8sITCase - k8sResource - k8s:resource, should create manifests [✓] CustomResourceK8sITCase - k8sPush - k8s:push, should push image to remote registry [✓] ZeroConfigK8sITCase - k8sPush - k8s:push, should push image to remote registry [✓] CompleteK8sJibITCase - k8sPush - k8s:push, should push image to remote registry [✓] CompleteDockerITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ZeroConfigK8sITCase - k8sResource - k8s:resource, should create manifests [✓] ZeroConfigFatJarK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] CustomResourceK8sITCase - k8sResource - k8s:resource, should create manifests [✓] ZeroConfigK8sITCase - k8sHelm - k8s:helm, should create Helm charts [✓] ZeroConfigFatJarK8sITCase - k8sLog - k8s:log, should retrieve log [✓] ZeroConfigK8sGradleITCase - k8sBuild - k8sBuild, should create image [✓] CompleteK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ZeroConfigK8sGradleITCase - k8sResource - k8sResource, should create manifests [✓] ZeroConfigFatJarK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ZeroConfigK8sGradleITCase - k8sHelm - k8sHelm, should create Helm charts [✓] CompleteK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] CompleteK8sJibITCase - k8sApply - k8s:apply, should deploy pod and service [✓] CompleteK8sJibITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] CustomResourceK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ZeroConfigK8sGradleITCase - k8sPush - k8sPush, should push image to remote registry [✓] CustomResourceK8sITCase - k8sLog - k8s:log, should retrieve log [✓] ZeroConfigK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] CustomResourceK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ZeroConfigK8sGradleITCase - k8sApply - k8sApply, should deploy pod and service [✓] ZeroConfigK8sITCase - k8sLog - k8s:log, should retrieve log [✓] ZeroConfigK8sGradleITCase - k8sLog - k8sLog, should retrieve log [✓] ZeroConfigK8sGradleITCase - k8sUndeploy - k8sUndeploy, should delete all applied resources [✓] ZeroConfigK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (6) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.28.1-webapp)
[✓] JettyK8sITCase - k8sBuild - k8s:build, should create image [✓] ZeroConfigK8sITCase - k8sBuild - k8s:build, should create image [✓] TomcatJakartaeeK8sITCase - k8sBuild - k8s:build should display the Tomcat webapps dir hint by default [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sBuild - k8s:build, with jkube.generator.webapp.env should not display the Tomcat webapps dir hint [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sBuild - k8s:build, with jkube.generator.webapp.env should not display the Tomcat webapps dir hint [✓] TomcatJavaeeK8sITCase - k8sBuild - k8s:build should display the Tomcat webapps dir hint by default [✓] WildFlyK8sITCase - k8sBuild - k8s:build, should create image [✓] JettyK8sITCase - k8sResource - k8s:resource, should create manifests [✓] ZeroConfigK8sITCase - k8sResource - k8s:resource, should create manifests [✓] TomcatJakartaeeK8sITCase - k8sResource - k8s:resource, should create manifests [✓] TomcatJavaeeK8sITCase - k8sResource - k8s:resource, should create manifests [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sResource - k8s:resource, should create manifests [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sResource - k8s:resource, should create manifests [✓] WildFlyK8sITCase - k8sResource - k8s:resource, should create manifests [✓] JettyK8sWatchCopyITCase - k8sWatchCopy - k8s:watch, with mode=copy, SHOULD hot deploy the application [✓] JettyK8sWatchNoneITCase - k8sWatchNone - k8s:watch, with mode=none, SHOULD NOT hot deploy the application [✓] JettyK8sWatchBothITCase - k8sWatchBuildAndRun - k8s:watch, with mode=both, SHOULD hot deploy the application [✓] JettyK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] JettyK8sITCase - k8sLog - k8s:log, should retrieve log [✓] ZeroConfigK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] JettyK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ZeroConfigK8sITCase - k8sLog - k8s:log, should retrieve log [✓] ZeroConfigK8sITCase - testNodePortResponse - Service as NodePort response should return String [✓] TomcatJakartaeeK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ZeroConfigK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] TomcatJakartaeeK8sITCase - k8sLog - k8s:log, should retrieve log with migration notice [✓] TomcatJakartaeeK8sITCase - testJakartaeeNodePortResponse - The JakartaEE servlet, exposed as a NodePort Service, should return a string and contain `Hello World` [✓] TomcatJakartaeeK8sITCase - k8sUndeployJakartaEE - k8s:undeploy, should delete all applied resources [✓] TomcatJavaeeK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] TomcatJavaeeK8sITCase - k8sLog - k8s:log, should retrieve log with migration notice [✓] TomcatJavaeeK8sITCase - testJavaeeNodePortResponse - The JavaEE servlet, exposed as a NodePort Service, should return a string and contain `Hello World` [✓] TomcatJavaeeK8sITCase - k8sUndeployJavaEE - k8s:undeploy, should delete all applied resources [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] TomcatJakartaeeWithWebappsDirK8sITCase - testJakartaEENodePortResponse - JakartaEE Service as NodePort response should return String [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sLogWithoutJavaeeMigrationNotice - k8s:log, should retrieve log without JavaEE migration notice [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sLogWithoutJavaeeMigrationNotice - k8s:log, should retrieve log without JavaEE migration notice [✓] WildFlyK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] TomcatJavaeeWithWebappsDirK8sITCase - testJavaEENodePortResponseError - JavaEE Service as NodePort response should return 500 and java.lang.NoClassDefFoundError message [✓] WildFlyK8sITCase - k8sLog - k8s:log, should retrieve log [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] WildFlyK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (5) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.25.13-webapp)
[✓] JettyK8sITCase - k8sBuild - k8s:build, should create image [✓] TomcatJakartaeeK8sITCase - k8sBuild - k8s:build should display the Tomcat webapps dir hint by default [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sBuild - k8s:build, with jkube.generator.webapp.env should not display the Tomcat webapps dir hint [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sBuild - k8s:build, with jkube.generator.webapp.env should not display the Tomcat webapps dir hint [✓] ZeroConfigK8sITCase - k8sBuild - k8s:build, should create image [✓] TomcatJavaeeK8sITCase - k8sBuild - k8s:build should display the Tomcat webapps dir hint by default [✓] WildFlyK8sITCase - k8sBuild - k8s:build, should create image [✓] JettyK8sITCase - k8sResource - k8s:resource, should create manifests [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sResource - k8s:resource, should create manifests [✓] TomcatJakartaeeK8sITCase - k8sResource - k8s:resource, should create manifests [✓] ZeroConfigK8sITCase - k8sResource - k8s:resource, should create manifests [✓] TomcatJavaeeK8sITCase - k8sResource - k8s:resource, should create manifests [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sResource - k8s:resource, should create manifests [✓] WildFlyK8sITCase - k8sResource - k8s:resource, should create manifests [✓] JettyK8sWatchBothITCase - k8sWatchBuildAndRun - k8s:watch, with mode=both, SHOULD hot deploy the application [✓] JettyK8sWatchCopyITCase - k8sWatchCopy - k8s:watch, with mode=copy, SHOULD hot deploy the application [✓] JettyK8sWatchNoneITCase - k8sWatchNone - k8s:watch, with mode=none, SHOULD NOT hot deploy the application [✓] JettyK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] JettyK8sITCase - k8sLog - k8s:log, should retrieve log [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] TomcatJakartaeeWithWebappsDirK8sITCase - testJakartaEENodePortResponse - JakartaEE Service as NodePort response should return String [✓] JettyK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sLogWithoutJavaeeMigrationNotice - k8s:log, should retrieve log without JavaEE migration notice [✓] TomcatJakartaeeWithWebappsDirK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] TomcatJakartaeeK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ZeroConfigK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ZeroConfigK8sITCase - k8sLog - k8s:log, should retrieve log [✓] TomcatJavaeeK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ZeroConfigK8sITCase - testNodePortResponse - Service as NodePort response should return String [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sLogWithoutJavaeeMigrationNotice - k8s:log, should retrieve log without JavaEE migration notice [✓] TomcatJavaeeWithWebappsDirK8sITCase - testJavaEENodePortResponseError - JavaEE Service as NodePort response should return 500 and java.lang.NoClassDefFoundError message [✓] ZeroConfigK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] TomcatJavaeeWithWebappsDirK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] WildFlyK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] WildFlyK8sITCase - k8sLog - k8s:log, should retrieve log [✓] TomcatJakartaeeK8sITCase - k8sLog - k8s:log, should retrieve log with migration notice [✓] TomcatJakartaeeK8sITCase - testJakartaeeNodePortResponse - The JakartaEE servlet, exposed as a NodePort Service, should return a string and contain `Hello World` [✓] WildFlyK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] TomcatJakartaeeK8sITCase - k8sUndeployJakartaEE - k8s:undeploy, should delete all applied resources [✓] TomcatJavaeeK8sITCase - k8sLog - k8s:log, should retrieve log with migration notice [✓] TomcatJavaeeK8sITCase - testJavaeeNodePortResponse - The JavaEE servlet, exposed as a NodePort Service, should return a string and contain `Hello World` [✓] TomcatJavaeeK8sITCase - k8sUndeployJavaEE - k8s:undeploy, should delete all applied resources [✓] All tests (5) passed successfully!!!:heavy_check_mark: Test reports (Minikube v1.28.1-other)
[✓] VertxK8sITCase - k8sBuild - k8s:build, should create image [✓] ThorntailK8sITCase - k8sBuild - k8s:build, should create image [✓] KarafK8sITCase - k8sBuild - k8s:build, should create image [✓] OpenLibertyK8sITCase - k8sBuild - k8s:build, should create image [✓] WildflyJarK8sITCase - k8sBuild - k8s:build, should create image [✓] VertxK8sITCase - k8sResource - k8s:resource, should create manifests [✓] KarafK8sITCase - k8sResource - k8s:resource, should create manifest for Kubernetes [✓] ThorntailK8sITCase - k8sResource - k8s:resource, should create manifests [✓] OpenLibertyK8sITCase - k8sResource - k8s:resource, should create manifests [✓] WildflyJarK8sITCase - k8sResource - k8s:resource, should create manifests [✓] VertxK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] VertxK8sITCase - k8sLog - k8s:log, should retrieve log [✓] KarafK8sITCase - K8sApply - k8s:apply, should apply manifests on k8s cluster [✓] VertxK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] DslK8sGradleITCase - k8sBuild - k8sBuild, should create image [✓] KarafK8sITCase - k8sLog - k8s:log [✓] DslK8sGradleITCase - k8sResource - k8sResource, should create manifests [✓] DslK8sGradleITCase - k8sHelm - k8sHelm, should create Helm charts [✓] KarafK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] ThorntailK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] ThorntailK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] OpenLibertyK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] OpenLibertyK8sITCase - k8sLog - k8s:log, should retrieve log [✓] OpenLibertyK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] WildflyJarK8sITCase - k8sApply - k8s:apply, should deploy pod and service [✓] DslK8sGradleITCase - k8sApply - k8sApply, should deploy pod and service [✓] DslK8sGradleITCase - k8sLog - k8sLog, should retrieve log [✓] DslK8sGradleITCase - k8sUndeploy - k8sUndeploy, should delete all applied resources [✓] WildflyJarK8sITCase - k8sUndeploy - k8s:undeploy, should delete all applied resources [✓] All tests (5) passed successfully!!!:heavy_check_mark: Test reports (OpenShift v3.10.0-webapp)
[✓] JettyOcITCase - ocBuild - oc:build, should create image [✓] JettyOcITCase - ocResource - oc:resource, should create manifests [✓] WildFlyOcITCase - ocBuild - oc:build, should create image [✓] WildFlyOcITCase - ocResource - oc:resource, should create manifests [✓] WildFlyOcDockerModeITCase - ocBuild - oc:build, should create image using docker [✓] WildFlyOcDockerModeITCase - ocResource - k8s:resource, should create manifests [✓] ZeroConfigOcITCase - ocBuild - oc:build, should create image [✓] ZeroConfigOcITCase - ocResource - oc:resource, should create manifests [✓] JettyOcITCase - ocApply - oc:apply, should deploy pod and service [✓] JettyOcITCase - ocLog - oc:log, should retrieve log [✓] JettyOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] WildFlyOcITCase - ocApply - oc:apply, should deploy pod and service [✓] WildFlyOcITCase - ocLog - oc:log, should retrieve logs [✓] WildFlyOcDockerModeITCase - ocApply - oc:apply, should deploy pod and service [✓] WildFlyOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] WildFlyOcDockerModeITCase - ocLog - oc:log, should retrieve logs [✓] ZeroConfigOcITCase - ocApply - oc:apply, should deploy pod and service [✓] ZeroConfigOcITCase - testNodePortResponse - Service as NodePort response should return String [✓] WildFlyOcDockerModeITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] ZeroConfigOcITCase - ocLog - oc:log, should retrieve log [✓] ZeroConfigOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] All tests (5) passed successfully!!!:heavy_check_mark: Test reports (OpenShift v3.10.0-other)
[✓] WildflyJarOcITCase - ocBuild - oc:build, should create image [✓] WildflyJarOcITCase - ocResource - oc:resource, should create manifests [✓] VertxOcITCase - ocBuild - oc:build, should create image [✓] VertxOcITCase - ocResource - oc:resource, should create manifests [✓] KarafOcITCase - ocBuild - oc:build, should create image [✓] KarafOcITCase - ocResource - oc:resource, should create resource manifests [✓] ThorntailOcITCase - ocBuild - oc:build, should create image [✓] ThorntailOcITCase - ocResource - oc:resource, should create manifests [✓] OpenLibertyOcITCase - ocBuild - oc:build, should create image [✓] OpenLibertyOcITCase - ocResource - oc:resource, should create manifests [✓] DslOcGradleITCase - ocBuild - ocBuild, should create image [✓] DslOcGradleITCase - ocResource - ocResource, should create manifests [✓] WildflyJarOcITCase - ocApply - oc:apply, should deploy pod and service [✓] WildflyJarOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] VertxOcITCase - ocApply - oc:apply, should deploy pod and service [✓] VertxOcITCase - k8sLog - oc:log, should retrieve log [✓] VertxOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] KarafOcITCase - ocApply - oc:apply, should create pod, service and route [✓] KarafOcITCase - ocLog - oc:log, should retrieve log [✓] KarafOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] ThorntailOcITCase - ocApply - oc:apply, should deploy pod and service [✓] ThorntailOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] OpenLibertyOcITCase - ocApply - oc:apply, should deploy pod and service [✓] DslOcGradleITCase - ocApply - ocApply, should deploy pod and service [✓] DslOcGradleITCase - ocHelm - ocHelm, should create Helm charts [✓] DslOcGradleITCase - ocLog - ocLog, should retrieve log [✓] OpenLibertyOcITCase - ocLog - oc:log, should retrieve log [✓] DslOcGradleITCase - ocUndeploy - ocUndeploy, should delete all applied resources [✓] OpenLibertyOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] All tests (6) passed successfully!!!:x: Test reports (OpenShift v3.10.0-springboot)
[✓] HelmConfigITCase - ocResource - oc:resource, no specified profile, should create default resource manifests [✓] HelmConfigITCase - ocHelm - oc:helm, should create Helm charts [✓] HelmConfigITCase - ocHelmPush - oc:helm-push, should push the charts [✓] CompleteOcDockerITCase - ocBuild - oc:build, with jkube.build.strategy=docker, should create image [✓] CompleteOcDockerITCase - ocResource - oc:resource, should create manifests [✓] ZeroConfigOcGradleITCase - ocBuild - ocBuild, should create image [✓] ZeroConfigOcGradleITCase - ocResource - ocResource, should create manifests [✓] ZeroConfigOcITCase - ocBuild - oc:build, should create image [✓] ZeroConfigOcITCase - ocResource - oc:resource, should create manifests [✓] CompleteOcDockerLayersDisabledITCase - ocBuild - oc:build, with jkube.build.strategy=docker, should create image [✓] CompleteOcDockerLayersDisabledITCase - ocResource - oc:resource, should create manifests [✓] WatchOcITCase - watch_whenSourceModified_shouldLiveReloadChanges - watch, SHOULD hot reload application on changes [✓] CompleteOcDockerITCase - ocApply - oc:apply, should deploy pod and service [✓] CompleteOcDockerITCase - ocLog - oc:log, should retrieve log [✓] CompleteOcDockerITCase - ocUndeploy - oc:undeploy, should delete all applied resources [✓] ZeroConfigOcGradleITCase - ocApply - ocApply, should deploy pod and service [✓] ZeroConfigOcGradleITCase - ocHelm - ocHelm, should create Helm charts [✓] ZeroConfigOcGradleITCase - ocLog - ocLog, should retrieve log [✓] ZeroConfigOcGradleITCase - ocUndeploy - ocUndeploy, should delete all applied resources [✓] ZeroConfigOcITCase - ocApply - oc:apply, should deploy pod and service [X] CompleteOcDockerLayersDisabledITCase - ocApply - oc:apply, should deploy pod and service [✓] ZeroConfigOcITCase - ocHelm - oc:helm, should create Helm charts [✓] ZeroConfigOcITCase - ocLog - oc:log, should retrieve log [✓] ZeroConfigOcITCase - ocUndeploy - oc:undeploy, should delete all applied resources
Codecov Report
Attention: Patch coverage is 90.56604% with 5 lines in your changes are missing coverage. Please review.
Project coverage is 70.63%. Comparing base (
1ac4f7c) to head (8aca467). Report is 336 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #2802 +/- ##
=============================================
+ Coverage 59.36% 70.63% +11.27%
- Complexity 4586 5030 +444
=============================================
Files 500 488 -12
Lines 21211 19504 -1707
Branches 2830 2512 -318
=============================================
+ Hits 12591 13776 +1185
+ Misses 7370 4497 -2873
+ Partials 1250 1231 -19
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
I recall we might have discussed this a few weeks ago. We need to ensure we have enough tests that guarantee that in case the order of generators is altered it gets reported. This idea is really good to clean out the code but it has the fragility of depending on the generator order.
@manusa : I had added a test in SimpleDockerFileGeneratorTest to verify that generator doesn't modify existing ImageConfiguration when they have been altered by any other generator.
Shall I add an additional test to assert the order of generators in the default profile?
I've added tests verifying the generators execution order in the default profile in b5d9de6753534bc9b94f663d5c3941e83ac1b188 . Please check if it's in line with your expectations.
I've added tests verifying the generators execution order in the default profile in b5d9de6 . Please check if it's in line with your expectations.
This works, however is extremely brittle and hard to maintain (which probably defeats the purpose). The idea is to create a test that ensures the behavior (not sure how since I haven't dug into the code), test should fail in the event of a modification in the generator order (default profile).
@manusa There is a log.verbose statement in DefaultGeneratorManager that prints the generators being invoked:
https://github.com/eclipse/jkube/blob/4cfb00728d455273827d0552376f304104fbed24/jkube-kit/generator/api/src/main/java/org/eclipse/jkube/generator/api/DefaultGeneratorManager.java#L54-L56
Shall I try adding log verifications for this instead?
Shall I try adding log verifications for this instead?
If the check consists in checking the generator print order, then that's mostly the same of what we have now. We either need to ensure that this generator gets printed the very first always, or that its behavior is consistent. When I talk about behavior is having a test that would fail if the order of generators was altered (maybe we already have one like this, but in that case we should state explicitly or add a case where this is reported)
Quality Gate passed
Issues
0 New issues
0 Accepted issues
Measures
0 Security Hotspots
92.8% Coverage on New Code
0.0% Duplication on New Code