← ClaudeAtlas

sales-demos-portallisted

Deploy the AAP self-service portal (Red Hat Developer Hub with the AAP plugin) via Helm chart into an RHDP environment. Runs playbooks/portal.yml, which creates the OAuth application, deploys the chart, and syncs the org list. TRIGGER when: the user wants to deploy the self-service portal, asks about RHDH or Developer Hub, or wants non-admin users to launch templates from a browser. SKIP: if the portal is already deployed and the user wants to use it, or if the user wants to install OpenShift Virtualization — that is ocpvirt-setup.
ericcames/sales.demos · ★ 1 · DevOps & Infrastructure · score 67
Install: claude install-skill ericcames/sales.demos
# sales-demos-portal Deploy the AAP self-service portal into an RHDP environment. Takes about 11 minutes end to end. This skill contains **no logic**. All the work is in [`playbooks/portal.yml`](../../../playbooks/portal.yml). See `CLAUDE.md` → *Skills and playbooks*. ## What it does 1. Creates a gateway OAuth application (delete + recreate — never PATCH `client_secret`, the gateway hashes differently and gives `invalid_client`). 2. Creates the `aap-portal` namespace, a durable service token, and three Secrets the chart expects. 3. Deploys `redhat-rhaap-portal` 2.1.0 via Helm. 4. Updates the OAuth redirect URI to the actual portal Route. 5. Syncs the org list from AAP so all organizations are visible. 6. Patches the portal ConfigMap: 1-minute sync interval, permissions disabled so non-admin users can see and launch templates. ## Preflight Check ```bash ./utilities/preflight.sh "${ENV:-sandbox}" --k8s # helm binary is available command -v helm >/dev/null \ && echo "✅ helm $(helm version --short 2>/dev/null)" \ || echo "❌ helm not found — https://helm.sh/docs/intro/install/" # Kubeconfig for Helm module ENV=${ENV:-sandbox} test -f ".kube/${ENV}.kubeconfig" \ && echo "✅ kubeconfig exists for $ENV" \ || bash utilities/make-kubeconfig.sh "$ENV" ``` If any check fails, stop and tell the user exactly which one and the fix shown beside it. Do not attempt the run with a failing prerequisite. ```bash python3 - <<'PY' import os, ssl, json, urllib.request ctx =