feat(integration): MPP OpenShift end-to-end integration#1083
feat(integration): MPP OpenShift end-to-end integration#1083markturansky merged 7 commits intoalphafrom
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- SDK (Go/Python/TS): agents, inbox, project-agents, session messages, roles, kube fields - API server: session messages gRPC, agent/inbox plugins, openshift-dev env, RBAC - Control plane: Go K8s reconciler, gRPC watcher, MPP namespace abstraction, OIDC auth - Runner: gRPC transport bridge, SSE events tap, plain-text assistant payload, platform auth - CLI: acpctl session commands — messages (HTTP long-poll), send --follow, events, TUI - MCP: ambient-mcp server with 16 tools for sessions, agents, projects, watch - Frontend: session phase status colors 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Introduces the They Write The Right Stuff process model: - docs/internal/design/README.md — thesis: bugs in code = bugs in process - ambient-model.guide.md — iterative guide (no run logs; corrected in-place) - All *.spec.md, *.guide.md design documents - .claude/context/*-development.md — expanded per-component how-to guides - operator-development.md — new; covers kube_reconciler, ensure* pattern, env assembly - Makefile: add CONTROL_PLANE_IMAGE to push-all loop 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…kills docs Introduces ambient-control-plane as a first-class base resource across all deployment targets. Adds MPP OpenShift and openshift-dev overlays. Adds Claude skills docs for api-server and gRPC dev context. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
ba69da3 to
0183075
Compare
Registers ambient-mcp (vteam_mcp) alongside ambient-control-plane in components-build-deploy and prod-release-deploy pipelines: path filters, build matrix, image-tags output, kustomize set-image lines, DEPLOY_MAP, for-loop, and workflow_dispatch descriptions. Also adds vteam_mcp to the base kustomization image list. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
0183075 to
50ab97e
Compare
- Build workflow pushes all 7 component images tagged pr-<N>-amd64 to quay on every PR - provision.sh creates/destroys TenantNamespace CRs on ambient-code--config; capacity-gated at 5 concurrent instances - install.sh deploys production manifests with PR image tags using ArgoCD SA token; handles MPP restricted environment constraints (Route labels, PVC annotations, ClusterRoleBinding subject patching) - pr-e2e-openshift.yml workflow: provision → install → e2e → teardown on build completion - pr-namespace-cleanup.yml: safety-net teardown on PR close - Skills: ambient-pr-test (full PR test workflow) and ambient (install on any OpenShift namespace) - Validates required secrets before install; documents MPP resource inventory and constraints - Route admission webhook fix: add paas.redhat.com/appcode label via kustomize filter 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…m file mount - Add _read_current_token() that prefers /var/run/secrets/ambient/bot-token file mount over BOT_TOKEN env var (env var is baked at pod start; file is rotated by the kubelet as tokens expire) - Add AmbientGRPCClient.reconnect() to close and rebuild channel with fresh token - SessionMessagesAPI.push() retries once on UNAUTHENTICATED: reconnects and swaps stubs before the second attempt, recovering mid-session token expiry 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
bd41d3a to
36bed7b
Compare
|
Good stake-in-the-ground for alpha branch. This branch allows Namespace-per-PR tests in MPP. |
Summary
Test plan
acpctl session create+acpctl session messages -fagainst MPP integration environmentacpctl session events <id>streams AG-UI events via gRPC fan-outkustomize build components/manifests/overlays/mpp-openshift/renders cleanlykustomize build components/manifests/overlays/openshift-dev/renders cleanlycd components/runners/ambient-runner && python -m pytest tests/cd components/ambient-cli && make test🤖 Generated with Claude Code