From 3056afbd60696a77d48f7a5f3256dd6ecdac3ea4 Mon Sep 17 00:00:00 2001 From: "Petr \"Stone\" Hracek" Date: Thu, 13 Nov 2025 15:28:24 +0100 Subject: [PATCH 1/2] Add new RHEL-9.7 and RHEL-10.1 images Signed-off-by: Petr "Stone" Hracek --- .../redhat-nodejs-application/src/Chart.yaml | 4 +- .../src/values.schema.json | 2 +- .../redhat-nodejs-imagestreams/src/Chart.yaml | 4 +- .../src/templates/nodejs-imagestream.yaml | 66 ++++++++++++++++++- .../redhat-valkey-imagestreams/src/Chart.yaml | 4 +- .../src/templates/imagestreams.yaml | 18 ++++- .../redhat-valkey-persistent/src/Chart.yaml | 4 +- .../src/values.schema.json | 2 +- tests/test_nodejs_application.py | 4 ++ tests/test_nodejs_imagestreams.py | 4 ++ tests/test_valkey_imagestreams.py | 14 ++-- tests/test_valkey_template.py | 15 +++-- 12 files changed, 117 insertions(+), 24 deletions(-) diff --git a/charts/redhat/redhat-nodejs-application/src/Chart.yaml b/charts/redhat/redhat-nodejs-application/src/Chart.yaml index fdc75bb..274f70e 100644 --- a/charts/redhat/redhat-nodejs-application/src/Chart.yaml +++ b/charts/redhat/redhat-nodejs-application/src/Chart.yaml @@ -2,13 +2,13 @@ description: This content is experimental, do not use it in production. An examp about using this template, including OpenShift considerations, see https://github.com/sclorg/nodejs-ex/blob/master/README.md. name: redhat-nodejs-application tags: quickstart,nodejs -version: 0.0.5 +version: 0.0.6 kubeVersion: '>=1.20.0' annotations: charts.openshift.io/name: Red Hat Apache Rails application with no database (experimental) charts.openshift.io/provider: Red Hat charts.openshift.io/providerType: redhat apiVersion: v2 -appVersion: 0.0.5 +appVersion: 0.0.6 sources: - https://github.com/sclorg/helm-charts diff --git a/charts/redhat/redhat-nodejs-application/src/values.schema.json b/charts/redhat/redhat-nodejs-application/src/values.schema.json index c529a5f..b3a67e3 100644 --- a/charts/redhat/redhat-nodejs-application/src/values.schema.json +++ b/charts/redhat/redhat-nodejs-application/src/values.schema.json @@ -13,7 +13,7 @@ "nodejs_version": { "type": "string", "description": "Version of NodeJS image to be used (20-ubi8, 22-ubi9, or latest).", - "enum": [ "latest", "20-ubi8", "20-ubi9", "22-ubi9", "22-ubi10" ] + "enum": [ "latest", "20-ubi8", "20-ubi9", "22-ubi9", "22-ubi10", "24-ubi10", "24-ubi9" ] }, "memory_limit": { "type": "string", diff --git a/charts/redhat/redhat-nodejs-imagestreams/src/Chart.yaml b/charts/redhat/redhat-nodejs-imagestreams/src/Chart.yaml index e8e2cc4..4de7fe0 100644 --- a/charts/redhat/redhat-nodejs-imagestreams/src/Chart.yaml +++ b/charts/redhat/redhat-nodejs-imagestreams/src/Chart.yaml @@ -5,10 +5,10 @@ description: |- annotations: charts.openshift.io/name: Red Hat NodeJS applications on UBI (experimental) apiVersion: v2 -appVersion: 0.0.7 +appVersion: 0.0.8 kubeVersion: '>=1.20.0' name: redhat-nodejs-imagestreams tags: builder,nodejs sources: - https://github.com/sclorg/helm-charts -version: 0.0.7 +version: 0.0.8 diff --git a/charts/redhat/redhat-nodejs-imagestreams/src/templates/nodejs-imagestream.yaml b/charts/redhat/redhat-nodejs-imagestreams/src/templates/nodejs-imagestream.yaml index 523af5a..bbb3917 100644 --- a/charts/redhat/redhat-nodejs-imagestreams/src/templates/nodejs-imagestream.yaml +++ b/charts/redhat/redhat-nodejs-imagestreams/src/templates/nodejs-imagestream.yaml @@ -12,7 +12,7 @@ spec: openshift.io/display-name: Node.js (Latest) openshift.io/provider-display-name: Red Hat, Inc. description: |- - Build and run Node.js applications on UBI. For more information about using this builder image, including OpenShift considerations, see https://github.com/sclorg/s2i-nodejs-container/blob/master/22/README.md. + Build and run Node.js applications on UBI. For more information about using this builder image, including OpenShift considerations, see https://github.com/sclorg/s2i-nodejs-container/blob/master/24/README.md. WARNING: By selecting this tag, your application will automatically update to use the latest version of Node.js available on OpenShift, including major version updates. iconClass: icon-nodejs @@ -21,7 +21,69 @@ spec: sampleRepo: https://github.com/sclorg/nodejs-ex.git from: kind: ImageStreamTag - name: 22-ubi9 + name: 24-ubi10 + referencePolicy: + type: Local + - name: 24-ubi10 + annotations: + openshift.io/display-name: Node.js 24 (UBI 10) + openshift.io/provider-display-name: Red Hat, Inc. + description: Build and run Node.js 24 applications on UBI 10. For more information + about using this builder image, including OpenShift considerations, see https://github.com/sclorg/s2i-nodejs-container/blob/master/24/README.md. + iconClass: icon-nodejs + tags: builder,nodejs + version: '24' + sampleRepo: https://github.com/sclorg/nodejs-ex.git + from: + kind: DockerImage + name: registry.redhat.io/ubi10/nodejs-24:latest + referencePolicy: + type: Local + - name: 24-ubi10-minimal + annotations: + openshift.io/display-name: Node.js 24 (UBI 10 Minimal) + openshift.io/provider-display-name: Red Hat, Inc. + description: Build and run Node.js 24 applications on UBI 10 Minimal. For more + information about using this builder image, including OpenShift considerations, + see https://github.com/sclorg/s2i-nodejs-container/blob/master/24-minimal/README.md. + iconClass: icon-nodejs + tags: builder,nodejs + version: '24' + sampleRepo: https://github.com/sclorg/nodejs-ex.git + from: + kind: DockerImage + name: registry.redhat.io/ubi10/nodejs-24-minimal:latest + referencePolicy: + type: Local + - name: 24-ubi9 + annotations: + openshift.io/display-name: Node.js 24 (UBI 9) + openshift.io/provider-display-name: Red Hat, Inc. + description: Build and run Node.js 24 applications on UBI 9. For more information + about using this builder image, including OpenShift considerations, see https://github.com/sclorg/s2i-nodejs-container/blob/master/24/README.md. + iconClass: icon-nodejs + tags: builder,nodejs + version: '24' + sampleRepo: https://github.com/sclorg/nodejs-ex.git + from: + kind: DockerImage + name: registry.redhat.io/ubi9/nodejs-24:latest + referencePolicy: + type: Local + - name: 24-ubi9-minimal + annotations: + openshift.io/display-name: Node.js 24 (UBI 9 Minimal) + openshift.io/provider-display-name: Red Hat, Inc. + description: Build and run Node.js 24 applications on UBI 9 Minimal. For more + information about using this builder image, including OpenShift considerations, + see https://github.com/sclorg/s2i-nodejs-container/blob/master/24-minimal/README.md. + iconClass: icon-nodejs + tags: builder,nodejs + version: '24' + sampleRepo: https://github.com/sclorg/nodejs-ex.git + from: + kind: DockerImage + name: registry.redhat.io/ubi9/nodejs-24-minimal:latest referencePolicy: type: Local - name: 22-ubi10 diff --git a/charts/redhat/redhat-valkey-imagestreams/src/Chart.yaml b/charts/redhat/redhat-valkey-imagestreams/src/Chart.yaml index 8c7e5f2..c5d965f 100644 --- a/charts/redhat/redhat-valkey-imagestreams/src/Chart.yaml +++ b/charts/redhat/redhat-valkey-imagestreams/src/Chart.yaml @@ -4,10 +4,10 @@ description: |- annotations: charts.openshift.io/name: Provides a Valkey database on RHEL imagestreams (experimental) apiVersion: v2 -appVersion: 0.0.1 +appVersion: 0.0.2 kubeVersion: '>=1.20.0' name: redhat-valkey-imagestreams tags: builder,valkey sources: - https://github.com/sclorg/helm-charts -version: 0.0.1 +version: 0.0.2 diff --git a/charts/redhat/redhat-valkey-imagestreams/src/templates/imagestreams.yaml b/charts/redhat/redhat-valkey-imagestreams/src/templates/imagestreams.yaml index 92404d1..93d4832 100644 --- a/charts/redhat/redhat-valkey-imagestreams/src/templates/imagestreams.yaml +++ b/charts/redhat/redhat-valkey-imagestreams/src/templates/imagestreams.yaml @@ -30,7 +30,7 @@ spec: description: >- Provides a Valkey 8 database on RHEL 10. For more information about using this database image, including OpenShift considerations, see - https://github.com/sclorg/valkey-container/tree/master/6/README.md. + https://github.com/sclorg/valkey-container/tree/master/8/README.md. iconClass: icon-valkey openshift.io/display-name: Valkey 8 (RHEL 10) openshift.io/provider-display-name: 'Red Hat, Inc.' @@ -42,3 +42,19 @@ spec: referencePolicy: type: Local name: 8-el10 + - annotations: + description: >- + Provides a Valkey 8 database on RHEL 9. For more information about + using this database image, including OpenShift considerations, see + https://github.com/sclorg/valkey-container/tree/master/8/README.md. + iconClass: icon-valkey + openshift.io/display-name: Valkey 8 (RHEL 9) + openshift.io/provider-display-name: 'Red Hat, Inc.' + tags: valkey + version: '8' + from: + kind: DockerImage + name: 'registry.redhat.io/rhel9/valkey-8:latest' + referencePolicy: + type: Local + name: 8-el9 diff --git a/charts/redhat/redhat-valkey-persistent/src/Chart.yaml b/charts/redhat/redhat-valkey-persistent/src/Chart.yaml index 0e9878e..8626e42 100644 --- a/charts/redhat/redhat-valkey-persistent/src/Chart.yaml +++ b/charts/redhat/redhat-valkey-persistent/src/Chart.yaml @@ -5,11 +5,11 @@ description: |- NOTE: You must have persistent volumes available in your cluster to use this template. name: redhat-valkey-persistent tags: database,valkey -version: 0.0.2 +version: 0.0.3 annotations: charts.openshift.io/name: Red Hat Valkey in-memory data structure store, with persistent storage (experimental) apiVersion: v2 -appVersion: 0.0.2 +appVersion: 0.0.3 kubeVersion: '>=1.20.0' sources: - https://github.com/sclorg/helm-charts diff --git a/charts/redhat/redhat-valkey-persistent/src/values.schema.json b/charts/redhat/redhat-valkey-persistent/src/values.schema.json index 560360f..bc5c15e 100644 --- a/charts/redhat/redhat-valkey-persistent/src/values.schema.json +++ b/charts/redhat/redhat-valkey-persistent/src/values.schema.json @@ -24,7 +24,7 @@ "valkey_version": { "type": "string", "description": "Specify valkey imagestream tag", - "enum": [ "latest", "8-el10" ] + "enum": [ "latest", "8-el10", "8-el9" ] }, "pvc": { "type": "object", diff --git a/tests/test_nodejs_application.py b/tests/test_nodejs_application.py index 6f9dcf7..d1c1aa4 100644 --- a/tests/test_nodejs_application.py +++ b/tests/test_nodejs_application.py @@ -21,6 +21,10 @@ def teardown_method(self): @pytest.mark.parametrize( "version", [ + "24-ubi10", + "24-ubi10-minimal", + "24-ubi9", + "24-ubi9-minimal", "22-ubi10", "22-ubi10-minimal", "22-ubi9", diff --git a/tests/test_nodejs_imagestreams.py b/tests/test_nodejs_imagestreams.py index 5da7183..ef27201 100644 --- a/tests/test_nodejs_imagestreams.py +++ b/tests/test_nodejs_imagestreams.py @@ -21,6 +21,10 @@ class TestHelmRHELNodeJSImageStreams: @pytest.mark.parametrize( "version,registry,expected", [ + ("24-ubi10", "registry.redhat.io/ubi10/nodejs-24:latest", True), + ("24-ubi10-minimal", "registry.redhat.io/ubi10/nodejs-24-minimal:latest", True), + ("24-ubi9", "registry.redhat.io/ubi9/nodejs-24:latest", True), + ("24-ubi9-minimal", "registry.redhat.io/ubi9/nodejs-24-minimal:latest", True), ("22-ubi10", "registry.redhat.io/ubi10/nodejs-22:latest", True), ("22-ubi10-minimal", "registry.redhat.io/ubi10/nodejs-22-minimal:latest", True), ("22-ubi9", "registry.redhat.io/ubi9/nodejs-22:latest", True), diff --git a/tests/test_valkey_imagestreams.py b/tests/test_valkey_imagestreams.py index 84cc176..2c596d5 100644 --- a/tests/test_valkey_imagestreams.py +++ b/tests/test_valkey_imagestreams.py @@ -7,9 +7,14 @@ test_dir = Path(os.path.abspath(os.path.dirname(__file__))) + @pytest.fixture(scope="module") def helm_api(request): - helm_api = HelmChartsAPI(path=test_dir / "../charts/redhat", package_name="redhat-valkey-imagestreams", tarball_dir=test_dir) + helm_api = HelmChartsAPI( + path=test_dir / "../charts/redhat", + package_name="redhat-valkey-imagestreams", + tarball_dir=test_dir, + ) # app_name = os.path.basename(request.param) yield helm_api pass @@ -17,15 +22,16 @@ def helm_api(request): class TestHelmRHELOSValkeyImageStreams: - - @pytest.mark.parametrize( "version,registry,expected", [ ("8-el10", "registry.redhat.io/rhel10/valkey-8:latest", True), + ("8-el9", "registry.redhat.io/rhel9/valkey-8:latest", True), ], ) def test_package_imagestream(self, helm_api, version, registry, expected): assert helm_api.helm_package() assert helm_api.helm_installation() - assert helm_api.check_imagestreams(version=version, registry=registry) == expected + assert ( + helm_api.check_imagestreams(version=version, registry=registry) == expected + ) diff --git a/tests/test_valkey_template.py b/tests/test_valkey_template.py index 253ce1b..49265b9 100644 --- a/tests/test_valkey_template.py +++ b/tests/test_valkey_template.py @@ -9,11 +9,15 @@ class TestHelmValkeyPersistent: - def setup_method(self): package_name = "redhat-valkey-persistent" path = test_dir / "../charts/redhat" - self.hc_api = HelmChartsAPI(path=path, package_name=package_name, tarball_dir=test_dir, shared_cluster=True) + self.hc_api = HelmChartsAPI( + path=path, + package_name=package_name, + tarball_dir=test_dir, + shared_cluster=True, + ) self.hc_api.package_name = "redhat-valkey-imagestreams" assert self.hc_api.helm_package() assert self.hc_api.helm_installation() @@ -25,17 +29,14 @@ def teardown_method(self): "version", [ "8-el10", + "8-el9", ], ) def test_package_persistent(self, version): - self.hc_api.package_name = "redhat-valkey-persistent" assert self.hc_api.helm_package() assert self.hc_api.helm_installation( - values={ - "valkey_version": version, - "namespace": self.hc_api.namespace - } + values={"valkey_version": version, "namespace": self.hc_api.namespace} ) assert self.hc_api.is_pod_running(pod_name_prefix="valkey") assert self.hc_api.test_helm_chart(expected_str=["PONG"]) From 5ca98dc9520408d72884252f2030e474ad6807b4 Mon Sep 17 00:00:00 2001 From: "Petr \"Stone\" Hracek" Date: Tue, 18 Nov 2025 09:50:30 +0100 Subject: [PATCH 2/2] Remove testing Django-ex for master. Master was deleted. Signed-off-by: Petr "Stone" Hracek --- tests/test_python_django_app.py | 17 ++++++++++------- tests/test_python_django_psql_persistent.py | 19 +++++++++++-------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/tests/test_python_django_app.py b/tests/test_python_django_app.py index 0af3bd5..a871ada 100644 --- a/tests/test_python_django_app.py +++ b/tests/test_python_django_app.py @@ -9,11 +9,15 @@ class TestHelmPythonDjangoAppTemplate: - def setup_method(self): package_name = "redhat-python-django-application" path = test_dir / "../charts/redhat" - self.hc_api = HelmChartsAPI(path=path, package_name=package_name, tarball_dir=test_dir, shared_cluster=False) + self.hc_api = HelmChartsAPI( + path=path, + package_name=package_name, + tarball_dir=test_dir, + shared_cluster=False, + ) def teardown_method(self): self.hc_api.delete_project() @@ -26,9 +30,6 @@ def teardown_method(self): ("3.12-ubi8", "4.2.x"), ("3.11-ubi9", "4.2.x"), ("3.11-ubi8", "4.2.x"), - ("3.9-ubi9", "master"), - ("3.9-ubi8", "master"), - ("3.6-ubi8", "master"), ], ) def test_django_application_helm_test(self, version, branch): @@ -43,8 +44,10 @@ def test_django_application_helm_test(self, version, branch): "python_version": version, "namespace": self.hc_api.namespace, "source_repository_ref": branch, - "name": pod_name + "name": pod_name, } ) assert self.hc_api.is_s2i_pod_running(pod_name_prefix=pod_name, timeout=600) - assert self.hc_api.test_helm_chart(expected_str=["Welcome to your Django application"]) + assert self.hc_api.test_helm_chart( + expected_str=["Welcome to your Django application"] + ) diff --git a/tests/test_python_django_psql_persistent.py b/tests/test_python_django_psql_persistent.py index 1903631..8315fee 100644 --- a/tests/test_python_django_psql_persistent.py +++ b/tests/test_python_django_psql_persistent.py @@ -9,11 +9,15 @@ class TestHelmPythonDjangoPsqlTemplate: - def setup_method(self): package_name = "redhat-django-psql-persistent" path = test_dir / "../charts/redhat" - self.hc_api = HelmChartsAPI(path=path, package_name=package_name, tarball_dir=test_dir, shared_cluster=False) + self.hc_api = HelmChartsAPI( + path=path, + package_name=package_name, + tarball_dir=test_dir, + shared_cluster=False, + ) def teardown_method(self): self.hc_api.delete_project() @@ -23,12 +27,9 @@ def teardown_method(self): [ ("3.12-minimal-ubi10", "3.12", "4.2.x"), ("3.12-ubi9", "3.12", "4.2.x"), - ("3.12-ubi8", "3.12","4.2.x"), + ("3.12-ubi8", "3.12", "4.2.x"), ("3.11-ubi9", "3.11", "4.2.x"), ("3.11-ubi8", "3.11", "4.2.x"), - ("3.9-ubi9", "3.9", "master"), - ("3.9-ubi8", "3.9", "master"), - ("3.6-ubi8", "3.6", "master"), ], ) def test_django_psql_helm_test(self, version, pod_version, branch): @@ -47,8 +48,10 @@ def test_django_psql_helm_test(self, version, pod_version, branch): "namespace": self.hc_api.namespace, "source_repository_ref": branch, "postgresql_version": "15-el9", - "name": pod_name + "name": pod_name, } ) assert self.hc_api.is_s2i_pod_running(pod_name_prefix=pod_name, timeout=600) - assert self.hc_api.test_helm_chart(expected_str=["Welcome to your Django application"]) + assert self.hc_api.test_helm_chart( + expected_str=["Welcome to your Django application"] + )