@@ -168,25 +168,51 @@ sleep 30
168168log_info " Checking catalog source status:"
169169oc get catalogsources -n openshift-marketplace
170170
171- log_step " Setting up pattern secrets"
172- bash ./scripts/gen-secrets.sh
173-
174171log_info " Waiting for cluster to stabilize..."
175172sleep 60
176173
174+ log_step " Setting up pattern secrets"
175+ bash ./scripts/gen-secrets.sh
176+
177177log_step " Installing CoCo pattern with disconnected configuration"
178178
179179# Set environment variable to point to mirrored helm charts
180180export PATTERN_DISCONNECTED_HOME=" ${ACR_LOGIN_SERVER} /hybridcloudpatterns"
181181
182182log_info " Using mirrored Helm repository: ${PATTERN_DISCONNECTED_HOME} "
183183
184- # Create or update values-disconnected.yaml if it doesn't exist
184+ # Validate values-disconnected.yaml exists
185185if [ ! -f " values-disconnected.yaml" ]; then
186- log_warn " values-disconnected.yaml not found, using values-simple.yaml as base"
187- log_warn " Note: You may need to update operator sources to match mirrored catalogs"
186+ log_error " values-disconnected.yaml not found"
187+ log_error " This file is required for disconnected installation"
188+ exit 1
188189fi
189190
191+ # IMPORTANT: Do NOT patch values-disconnected.yaml on the bastion!
192+ # ArgoCD will read values files from Git, so any local patches are lost.
193+ # Instead, we use --set to override values at install time.
194+
195+ # Build EXTRA_HELM_OPTS with both the values file AND runtime overrides
196+ # The --set flag takes precedence over values files (per Makefile comment)
197+ export EXTRA_HELM_OPTS=" -f values-disconnected.yaml \
198+ --set main.multiSourceConfig.helmRepoUrl=${ACR_LOGIN_SERVER} /hybridcloudpatterns"
199+
200+ log_info " Helm options configured:"
201+ log_info " Base values: values-global.yaml (always loaded)"
202+ log_info " Cluster group: values-simple.yaml (from clusterGroupName)"
203+ log_info " Overlay: values-disconnected.yaml (catalog sources, operators)"
204+ log_info " Runtime override: --set main.multiSourceConfig.helmRepoUrl"
205+ log_info " "
206+ log_info " Disconnected configuration:"
207+ log_info " helmRepoUrl: ${ACR_LOGIN_SERVER} /hybridcloudpatterns (via --set)"
208+ log_info " Operator sources: cs-*-v4-20 (from values-disconnected.yaml)"
209+ log_info " "
210+ log_info " Why this approach:"
211+ log_info " 1. ArgoCD reads values files from Git (not bastion)"
212+ log_info " 2. --set overrides are baked into ArgoCD Application at install time"
213+ log_info " 3. No need to modify files that ArgoCD syncs from Git"
214+ log_info " 4. Avoids race conditions with helmRepoUrl availability"
215+
190216# Install pattern
191217log_info " Running pattern installation..."
192218./pattern.sh make install
@@ -204,15 +230,23 @@ log_info "Credentials:"
204230log_info " Username: kubeadmin"
205231log_info " Password: $( cat ./openshift-install-disconnected/auth/kubeadmin-password) "
206232log_info " "
207- log_info " Pattern installed in disconnected mode"
208- log_info " Images sourced from: ${ACR_LOGIN_SERVER} "
233+ log_info " Disconnected Configuration:"
234+ log_info " Container Registry: ${ACR_LOGIN_SERVER} "
235+ log_info " Helm Repository: ${ACR_LOGIN_SERVER} /hybridcloudpatterns"
236+ log_info " Catalog Sources: cs-redhat-operator-index-v4-20, cs-community-operator-index-v4-20"
209237log_info " "
210238log_info " To access the cluster from this bastion:"
211239log_info " export KUBECONFIG=$( pwd) /openshift-install-disconnected/auth/kubeconfig"
212240log_info " oc get nodes"
241+ log_info " oc get clusterversion"
213242log_info " "
214243log_info " Monitor pattern deployment:"
215244log_info " oc get applications -A"
216245log_info " oc get pods -n openshift-gitops"
246+ log_info " oc get subscriptions -A"
247+ log_info " "
248+ log_info " Check CoCo/Sandboxed Containers:"
249+ log_info " oc get pods -n openshift-sandboxed-containers-operator"
250+ log_info " oc get kataconfig"
217251log_info " "
218252
0 commit comments