@@ -392,14 +392,40 @@ check_operator_status() {
392392
393393# Installs the Crunchy Postgres Operator from Openshift Marketplace using predefined parameters
394394install_crunchy_postgres_ocp_operator () {
395- install_subscription postgresql openshift-operators v5 postgresql community -operators openshift-marketplace
395+ install_subscription crunchy-postgres-operator openshift-operators v5 crunchy-postgres-operator certified -operators openshift-marketplace
396396 check_operator_status 300 " openshift-operators" " Crunchy Postgres for Kubernetes" " Succeeded"
397+
398+ # Wait for PostgresCluster CRD to be registered before proceeding
399+ echo " Waiting for PostgresCluster CRD to be registered..."
400+ timeout 120 bash -c '
401+ until oc get crd postgresclusters.postgres-operator.crunchydata.com &>/dev/null; do
402+ echo "Waiting for postgresclusters.postgres-operator.crunchydata.com CRD..."
403+ sleep 5
404+ done
405+ ' || {
406+ echo " Error: Timed out waiting for PostgresCluster CRD to be registered."
407+ return 1
408+ }
409+ echo " PostgresCluster CRD is available."
397410}
398411
399412# Installs the Crunchy Postgres Operator from OperatorHub.io
400413install_crunchy_postgres_k8s_operator () {
401- install_subscription postgresql openshift-operators v5 postgresql community -operators openshift-marketplace
414+ install_subscription crunchy-postgres-operator openshift-operators v5 crunchy-postgres-operator certified -operators openshift-marketplace
402415 check_operator_status 300 " operators" " Crunchy Postgres for Kubernetes" " Succeeded"
416+
417+ # Wait for PostgresCluster CRD to be registered before proceeding
418+ echo " Waiting for PostgresCluster CRD to be registered..."
419+ timeout 120 bash -c '
420+ until kubectl get crd postgresclusters.postgres-operator.crunchydata.com &>/dev/null; do
421+ echo "Waiting for postgresclusters.postgres-operator.crunchydata.com CRD..."
422+ sleep 5
423+ done
424+ ' || {
425+ echo " Error: Timed out waiting for PostgresCluster CRD to be registered."
426+ return 1
427+ }
428+ echo " PostgresCluster CRD is available."
403429}
404430
405431# Installs the OpenShift Serverless Logic Operator (SonataFlow) from OpenShift Marketplace
@@ -827,6 +853,19 @@ install_pipelines_operator() {
827853 wait_for_deployment " openshift-operators" " pipelines"
828854 wait_for_endpoint " tekton-pipelines-webhook" " openshift-pipelines"
829855 fi
856+
857+ # Wait for Tekton Pipeline CRD to be registered before proceeding
858+ echo " Waiting for Tekton Pipeline CRD to be registered..."
859+ timeout 120 bash -c '
860+ until oc get crd pipelines.tekton.dev &>/dev/null; do
861+ echo "Waiting for pipelines.tekton.dev CRD..."
862+ sleep 5
863+ done
864+ ' || {
865+ echo " Error: Timed out waiting for Tekton Pipeline CRD to be registered."
866+ return 1
867+ }
868+ echo " Tekton Pipeline CRD is available."
830869}
831870
832871# Installs the Tekton Pipelines if not already installed (alternative of OpenShift Pipelines for Kubernetes clusters)
@@ -840,6 +879,19 @@ install_tekton_pipelines() {
840879 wait_for_deployment " tekton-pipelines" " ${DISPLAY_NAME} "
841880 wait_for_endpoint " tekton-pipelines-webhook" " tekton-pipelines"
842881 fi
882+
883+ # Wait for Tekton Pipeline CRD to be registered before proceeding
884+ echo " Waiting for Tekton Pipeline CRD to be registered..."
885+ timeout 120 bash -c '
886+ until kubectl get crd pipelines.tekton.dev &>/dev/null; do
887+ echo "Waiting for pipelines.tekton.dev CRD..."
888+ sleep 5
889+ done
890+ ' || {
891+ echo " Error: Timed out waiting for Tekton Pipeline CRD to be registered."
892+ return 1
893+ }
894+ echo " Tekton Pipeline CRD is available."
843895}
844896
845897delete_tekton_pipelines () {
0 commit comments