Skip to content

openshift-online/agent-control-plane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,319 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent Control Plane

Lint Unit Tests Docs

AI automation platform for orchestrating agentic sessions on Kubernetes

Overview

The Agent Control Plane (ACP) lets teams create and manage AI agentic sessions - automated tasks that clone repos, run AI agents, and push results. Sessions are stored in PostgreSQL and reconciled into Kubernetes pods via gRPC.

Key Capabilities

  • Agentic Sessions: AI-powered automation for code review, bug fixes, research, and development tasks
  • Multi-Agent Workflows: Specialized AI agents with configurable prompts, models, and repos
  • Git Provider Support: GitHub and GitLab (SaaS and self-hosted) via credential sidecars
  • Kubernetes Execution: Sessions run as pods with RBAC, resource limits, and namespace isolation
  • CLI and SDK: acpctl CLI and generated SDKs (Go, Python, TypeScript) for automation

Quick Start

make kind-up
make kind-port-forward   # ports shown in output

See CONTRIBUTING.md for full local development setup.

OpenShell Gateway Mode (Kind)

When running with OPENSHELL_USE_GATEWAY=true, the control plane delegates sandbox creation to an OpenShell gateway instead of creating pods directly.

make kind-up OPENSHELL_USE_GATEWAY=true

This automatically installs all prerequisites: the tenant namespace, the agent-sandbox CRD (v0.4.6), and the OpenShell gateway Helm chart. It also patches the control plane deployment with OPENSHELL_USE_GATEWAY=true.

Override defaults with:

Variable Default Description
OPENSHELL_TENANT_NAMESPACE tenant Namespace for the gateway and sandboxes
AGENT_SANDBOX_VERSION v0.4.6 Agent Sandbox CRD release (must match gateway API version)

After the sandbox reaches Ready, the control plane executes commands inside it via the ExecSandbox gRPC RPC — the runner starts through exec, not the container entrypoint.

See OpenShell Sandbox Provisioning Spec for full details on gateway mode, CRD version compatibility, and configuration.

Architecture

Component Technology Description
API Server (ambient-api-server) Go + rh-trex-ai REST + gRPC API, PostgreSQL-backed. Source of truth.
Control Plane (ambient-control-plane) Go Watches API server via gRPC streams, creates K8s pods
UI (ambient-ui) NextJS + Shadcn Web interface for managing sessions and agents
Runner (ambient-runner) Python Executes AI agents inside pods (Claude, Gemini, LangGraph bridges)
MCP Server (ambient-mcp) Go MCP tool definitions, deployed as credential sidecars
User Creates Session → API Server Persists to DB → Control Plane Creates Pod →
Runner Executes AI Agent → Results Stream to API Server → UI Displays Progress

Documentation

Components

  • API Server - REST + gRPC API (rh-trex-ai, PostgreSQL)
  • Control Plane - gRPC-driven session reconciler
  • UI - NextJS web application
  • Runner - AI agent execution
  • MCP Server - MCP tool integration
  • CLI - acpctl command-line tool
  • SDK - generated from the OpenAPI spec (Go, Python, TypeScript)
  • Manifests - Kustomize deployment resources

Contributing

See CONTRIBUTING.md for guidelines, code standards, and local development setup.

License

This project is licensed under the MIT License - see the LICENSE file for details.