gerrit-create
Use when creating or updating Gerrit changes — pushing code for review, amending patch sets, setting reviewers and topics.…
Deploy a PR's images (api-server, control-plane, runner) to any OpenShift namespace for integration testing. Works on both standard OpenShift clusters and MPP managed clusters. Auto-detects the environment and chooses the right script.
$ npx -y skills add ambient-code/platform --skill ambient-pr-test --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ambient-pr-testContext preview
The summary Claude sees to decide when to auto-load this skill.
Deploy a PR's images (api-server, control-plane, runner) to any OpenShift namespace for integration testing. Works on both standard OpenShift clusters and MPP managed clusters. Auto-detects the environment and chooses the right script.
name: ambient-pr-test description: >- Deploy a PR's images (api-server, control-plane, runner) to any OpenShift namespace for integration testing. Works on both standard OpenShift clusters and MPP managed clusters. Auto-detects the environment and chooses the right script.
Deploy PR-tagged Ambient images into an OpenShift namespace for integration testing.
**Invoke with a PR URL:**
with skills/control-plane/ambient-pr-test https://github.com/ambient-code/platform/pull/1599
Optional modifiers:
---
if oc api-resources --api-group=tenant.paas.redhat.com 2>/dev/null < /dev/null | grep -q TenantNamespace; then echo "MPP" # use provision.sh + install.sh else echo "Standard" # use install-standard.sh fi
| | Standard OpenShift | MPP | |--|-------------------|-----| | Namespace | Pre-existing | Created via TenantNamespace CR | | Script | `install-standard.sh` | `provision.sh` + `install.sh` | | Auth | Development (no JWT) | Production (RH SSO JWT) | | Secrets | Auto-generated | Copied from runtime-int |
---
For any cluster where you have `oc` access and an existing namespace.
PR_NUMBER=1599
NAMESPACE=$(oc project -q)
bash components/pr-test/install-standard.sh "$NAMESPACE" "pr-${PR_NUMBER}"The script: 1. Creates DB and app secrets (auto-generated) 2. Creates CP ServiceAccount + ClusterRole + ClusterRoleBinding 3. Deploys PostgreSQL, api-server (dev mode), control-plane (standard mode) 4. Creates Route (auto-assigned `.apps.*` host) 5. Waits for rollouts, smoke-checks health
API_HOST=$(oc get route ambient-api-server -n "$NAMESPACE" -o jsonpath='{.spec.host}')
curl -sk "https://${API_HOST}/api/ambient"
acpctl login --url "https://${API_HOST}"NAMESPACE=$(oc project -q)
oc delete deployment,svc,route,configmap,secret -l app=ambient-api-server -n "$NAMESPACE"
oc delete deployment,svc -l app=ambient-control-plane -n "$NAMESPACE"
oc delete secret ambient-control-plane-token ambient-cp-token-keypair -n "$NAMESPACE" --ignore-not-found
oc delete clusterrole,clusterrolebinding "ambient-control-plane-${NAMESPACE}" --ignore-not-found---
For MPP clusters (`dev-spoke-aws-us-east-1`). See `components/pr-test/MPP-ENVIRONMENT.md`.
PR_NUMBER=1005; ID="pr-${PR_NUMBER}"
bash components/pr-test/build.sh "https://github.com/ambient-code/platform/pull/${PR_NUMBER}"
bash components/pr-test/provision.sh create "$ID"
bash components/pr-test/install.sh "ambient-code--${ID}" "pr-${PR_NUMBER}"
# teardown:
bash components/pr-test/provision.sh destroy "$ID"---
Check quay.io for the tag: `https://quay.io/repository/ambient_code/vteam_control_plane?tab=tags`
oc get deployment ambient-control-plane -n "$NAMESPACE" \
-o jsonpath='{.spec.template.spec.containers[0].env}' | python3 -m json.tool | grep AMBIENTVerify `AMBIENT_ENV=development`:
oc get deployment ambient-api-server -n "$NAMESPACE" \
-o jsonpath='{.spec.template.spec.containers[?(@.name=="api-server")].env[?(@.name=="AMBIENT_ENV")].value}'oc get route ambient-api-server -n "$NAMESPACE" -o jsonpath='{.spec.host}'Auto-generated on first start as `ambient-cp-token-keypair`. Check CP logs:
oc logs deployment/ambient-control-plane -n "$NAMESPACE" | grep keypair
docker login quay.io # or: podman login quay.io
Kubernetes-native AI automation platform for intelligent agentic sessions
Use when creating or updating Gerrit changes — pushing code for review, amending patch sets, setting reviewers and topics.…
Use when reviewing a Gerrit change — fetching change details, reading diffs, posting inline comments, and voting with labels.…
Use when submitting or preparing a Gerrit change for merge — checking submit requirements, rebasing, resolving comments, and…
Run a convention alignment check across the codebase to measure adherence to documented standards. Use when you want to check…
Perform a comprehensive code review using repository-specific standards. Use when reviewing code changes, checking PR quality,…
Perform any development work on the ambient-ui component. Full workflow instructions.