55# Prerequisites: cert-manager and LWS operators (run install-cert-manager-and-lws.sh first).
66#
77# Environment variables:
8- # OPERATOR_CATALOG - Custom catalog image (optional). When unset, uses community-operators (ODH 3.3) .
8+ # OPERATOR_CATALOG - Custom catalog image (optional). When unset, uses community-operators.
99# Set to e.g. quay.io/opendatahub/opendatahub-operator-catalog:latest for custom builds.
10- # OPERATOR_CHANNEL - Subscription channel (default: fast-3 for community, fast for custom catalog)
10+ # OPERATOR_CHANNEL - Subscription channel (default: fast-3)
11+ # OPERATOR_STARTING_CSV - Pin Subscription startingCSV (default: opendatahub-operator.v3.4.0-ea.1). Set to "-" to omit.
12+ # OPERATOR_INSTALL_PLAN_APPROVAL - Manual (default) or Automatic; use "-" to omit.
13+ # Manual: blocks auto-upgrades; this script auto-approves only the first InstallPlan so install does not stall.
1114# OPERATOR_IMAGE - Custom operator image to patch into CSV (optional)
1215#
1316# Usage: ./install-odh.sh
@@ -21,6 +24,8 @@ DATA_DIR="${REPO_ROOT}/scripts/data"
2124NAMESPACE=" ${OPERATOR_NAMESPACE:- opendatahub} "
2225OPERATOR_CATALOG=" ${OPERATOR_CATALOG:- } "
2326OPERATOR_CHANNEL=" ${OPERATOR_CHANNEL:- } "
27+ OPERATOR_STARTING_CSV=" ${OPERATOR_STARTING_CSV:- } "
28+ OPERATOR_INSTALL_PLAN_APPROVAL=" ${OPERATOR_INSTALL_PLAN_APPROVAL:- } "
2429OPERATOR_IMAGE=" ${OPERATOR_IMAGE:- } "
2530
2631# Source deployment helpers
@@ -59,28 +64,38 @@ patch_operator_csv_if_needed() {
5964echo " === Installing OpenDataHub operator ==="
6065echo " "
6166
62- # 1. Catalog setup: use community-operators (ODH 3.3) by default, or custom catalog when OPERATOR_CATALOG is set
67+ # 1. Catalog setup: community-operators by default, or custom catalog when OPERATOR_CATALOG is set
6368echo " 1. Setting up ODH catalog..."
6469if [[ -n " $OPERATOR_CATALOG " ]]; then
6570 echo " Using custom catalog: $OPERATOR_CATALOG "
6671 create_custom_catalogsource " odh-custom-catalog" " openshift-marketplace" " $OPERATOR_CATALOG "
6772 catalog_source=" odh-custom-catalog"
68- channel=" ${OPERATOR_CHANNEL:- fast} "
73+ channel=" ${OPERATOR_CHANNEL:- fast-3 } "
6974else
70- echo " Using community-operators (ODH 3.3) "
75+ echo " Using community-operators"
7176 catalog_source=" community-operators"
7277 channel=" ${OPERATOR_CHANNEL:- fast-3} "
7378fi
7479
80+ # Pin to ODH 3.4 EA1 unless overridden (omit with OPERATOR_STARTING_CSV=- to follow channel head)
81+ starting_csv=" ${OPERATOR_STARTING_CSV:- opendatahub-operator.v3.4.0-ea.1} "
82+ [[ " $starting_csv " == " -" ]] && starting_csv=" "
83+
84+ # Manual = no auto-upgrades; install_olm_operator still approves the first InstallPlan programmatically
85+ plan_approval=" ${OPERATOR_INSTALL_PLAN_APPROVAL:- Manual} "
86+ [[ " $plan_approval " == " -" ]] && plan_approval=" "
87+
7588# 2. Install ODH operator via OLM
7689echo " 2. Installing ODH operator..."
7790install_olm_operator \
7891 " opendatahub-operator" \
7992 " $NAMESPACE " \
8093 " $catalog_source " \
8194 " $channel " \
82- " " \
83- " AllNamespaces"
95+ " $starting_csv " \
96+ " AllNamespaces" \
97+ " openshift-marketplace" \
98+ " $plan_approval "
8499
85100# 3. Patch CSV with custom image if specified
86101if [[ -n " $OPERATOR_IMAGE " ]]; then
0 commit comments