A production-ready AI agent platform built on Amazon EKS, featuring KAgent, LiteLLM gateway, Langfuse observability, AgentGateway (MCP auth), and multi-agent orchestration.
- AWS account with Bedrock access
- Task, kubectl, Helm 3.x, AWS CLI,
yq - Podman or Docker (for Kind-based bootstrap)
# 1. Configure
cp config.yaml config.local.yaml
# Edit config.local.yaml with your values
# 2. Install everything (platform + agentic components)
task installThat's it. The installer provisions an EKS hub cluster, deploys the base platform (ArgoCD, Crossplane, observability), then layers on the agentic components.
Edit config.local.yaml:
| Section | Key Fields | Description |
|---|---|---|
platform |
repo, ref |
Base platform repo and version tag |
aws |
region, accountId, profile |
AWS settings |
hub |
clusterName, kubernetesVersion |
Hub cluster config |
domain |
Ingress domain (must have ACM cert + Route53 zone) | |
identityCenter |
instanceArn, region, adminGroupId |
SSO for ArgoCD |
agenticRepo |
url, revision, basepath |
This repo's git coordinates (for ArgoCD) |
spokes |
Optional spoke clusters (see below) |
Add spoke clusters for workload environments:
spokes:
dev:
region: us-west-2
kubernetesVersion: "1.35"
vpcCidr: "10.1.0.0/16"
autoMode: true
prod:
region: us-west-2
kubernetesVersion: "1.35"
vpcCidr: "10.2.0.0/16"
autoMode: trueSpokes are provisioned via Crossplane from the hub. Agentic components deploy to all clusters automatically.
This repo controls which clusters receive the agentic platform via gitops/overlays/environments/*/enabled-addons.yaml:
# gitops/overlays/environments/dev/enabled-addons.yaml
enabledAddons:
agent_platform: true # deploy agentic components to dev clustersSet agent_platform: false to exclude an environment. Fleet member definitions in gitops/fleet/members/ control spoke discovery.
| Command | Description |
|---|---|
task install |
Full install (platform + spokes + agentic) |
task platform:install |
Provision base EKS platform only |
task spokes:install |
Provision spoke clusters only |
task spokes:status |
Check spoke provisioning progress |
task agentic:install |
Deploy agentic components only |
task status |
Show ArgoCD application status |
task upgrade |
Upgrade everything |
task destroy |
Remove agentic components (keeps base platform) |
task spokes:destroy |
Delete spoke clusters |
┌─────────────────────────────────────────────────────────┐
│ open-agentic-platform (this repo) │
│ config.local.yaml → task install │
└────────────┬────────────────────────────┬───────────────┘
│ │
┌────────▼────────┐ ┌────────▼────────┐
│ appmod-blueprints│ │ ArgoCD Application│
│ (base platform) │ │ (agentic addons) │
│ read-only clone │ │ points to this repo│
└────────┬────────┘ └────────┬──────────┘
│ │
▼ ▼
┌─────────────────────────────────────────────────┐
│ EKS Hub Cluster │
│ ArgoCD ─── watches both repos (read-only) │
│ Crossplane ─── provisions spoke clusters │
│ │
│ Agentic: KAgent, LiteLLM, Langfuse, Jaeger, │
│ AgentGateway, Bifrost, AgentCore │
└─────────────────────────────────────────────────┘
| Component | Purpose |
|---|---|
| KAgent | Kubernetes-native AI agent operator |
| LiteLLM | LLM gateway with rate limiting, caching, fallbacks |
| Langfuse | LLM observability — traces, costs, analytics |
| Jaeger | Distributed tracing for agent interactions |
| AgentGateway | MCP auth gateway with Keycloak OIDC |
| Bifrost | AI gateway for model routing |
| AgentCore | Crossplane compositions for Bedrock AgentCore |
The workshop/ directory contains hands-on examples:
| Module | Description |
|---|---|
00-initial-setup |
Bedrock + LiteLLM configuration |
01-first-agent |
Basic KAgent with Bedrock |
02-k8s-ops-agent |
Kubernetes operations agent |
03-multi-tool-agent |
Agent with MCP tool servers |
04-multi-agents |
Financial services multi-agent system |
05-observability |
Monitoring and tracing setup |
- KAgent
- LiteLLM
- Langfuse
- Amazon Bedrock
- appmod-blueprints (base platform)