Skip to content

Commit 660062d

Browse files
ci(hot-cluster): add ipi diagnostics-only mode to setup workflow
Select infrastructure_type=ipi to run IPI prerequisite checks (VPC, COS, DNS, IAM Identity, resource groups, auth policies) without creating any resources. All common steps are skipped. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent bb89825 commit 660062d

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

.github/workflows/ibmc-cluster-setup.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ on:
44
workflow_dispatch:
55
inputs:
66
infrastructure_type:
7-
description: 'Infrastructure type: classic or vpc'
7+
description: 'Infrastructure type: classic, vpc, or ipi (ipi = diagnostics only)'
88
required: true
99
default: 'classic'
1010
type: choice
1111
options:
1212
- classic
1313
- vpc
14+
- ipi
1415
cluster_name:
1516
description: 'Cluster name'
1617
required: true
@@ -90,6 +91,7 @@ jobs:
9091
if-no-files-found: warn
9192

9293
- name: Check for existing cluster
94+
if: inputs.infrastructure_type != 'ipi'
9395
id: check_cluster
9496
run: |
9597
if ibmcloud oc cluster get --cluster "${CLUSTER_NAME}" &>/dev/null; then
@@ -271,31 +273,36 @@ jobs:
271273
--disable-outbound-traffic-protection
272274
273275
# ──────────────────────────────────────────────────────────────────────
274-
# Common steps (both classic and VPC converge here)
276+
# Common steps (both classic and VPC converge here; skipped for ipi)
275277
# ──────────────────────────────────────────────────────────────────────
276278
- name: Wait for cluster to be ready to use
279+
if: inputs.infrastructure_type != 'ipi'
277280
run: |
278281
./ci-scripts/check-roks-cluster-state.sh
279282
280283
- name: Install oc client from cluster version
284+
if: inputs.infrastructure_type != 'ipi'
281285
run: |
282286
CLUSTER_JSON="$(ibmcloud oc cluster get --cluster "${CLUSTER_NAME}" --output json)"
283287
export CLUSTER_JSON
284288
bash ./ci-scripts/install-oc-client.sh
285289
286290
- name: Configure kubeconfig
291+
if: inputs.infrastructure_type != 'ipi'
287292
run: |
288293
ibmcloud oc cluster config --cluster "${CLUSTER_NAME}" --admin
289294
oc cluster-info
290295
oc get nodes -o wide
291296
292297
- name: Install HCO
298+
if: inputs.infrastructure_type != 'ipi'
293299
env:
294300
KVM_EMULATION: ${{ inputs.kvm_emulation }}
295301
run: |
296302
./ci-scripts/install-hco.sh
297303
298304
- name: Verify ARC secrets
305+
if: inputs.infrastructure_type != 'ipi'
299306
run: |
300307
HAS_APP=$([ -n "${{ secrets.ARC_GITHUB_APP_ID }}" ] && [ -n "${{ secrets.ARC_GITHUB_APP_INSTALL_ID }}" ] && [ -n "${{ secrets.ARC_GITHUB_APP_PRIVATE_KEY }}" ] && echo "yes" || echo "no")
301308
HAS_PAT=$([ -n "${{ secrets.ARC_GITHUB_PAT }}" ] && echo "yes" || echo "no")
@@ -310,6 +317,7 @@ jobs:
310317
echo "ARC secrets are present."
311318
312319
- name: Build ARC runner image
320+
if: inputs.infrastructure_type != 'ipi'
313321
id: build_runner
314322
env:
315323
OC_VERSION: '4.20'
@@ -318,6 +326,7 @@ jobs:
318326
echo "image_ref=${IMAGE_REF}" >> "$GITHUB_OUTPUT"
319327
320328
- name: Install ARC
329+
if: inputs.infrastructure_type != 'ipi'
321330
env:
322331
ARC_CONFIG_URL: 'https://github.com/${{ github.repository }}'
323332
ARC_APP_ID: ${{ secrets.ARC_GITHUB_APP_ID }}
@@ -331,10 +340,12 @@ jobs:
331340
./ci-scripts/arc/install-runner-scale-set.sh
332341
333342
- name: Install CI environment controller
343+
if: inputs.infrastructure_type != 'ipi'
334344
run: |
335345
./ci-scripts/ci-env/install-ci-env-controller.sh
336346
337347
- name: Verify cluster health
348+
if: inputs.infrastructure_type != 'ipi'
338349
env:
339350
GITHUB_REPOSITORY: ${{ github.repository }}
340351
run: |

0 commit comments

Comments
 (0)