Kubernetes operator for managing agent:// protocol agents as native K8s resources.
- 🎯 CRD:
Agent— Declare agents askind: Agentwith domain, API key, capabilities - 🔄 Auto-registration — Controller registers agents on Agenium DNS when CRD is created
- 🏥 Health monitoring — Periodic health checks, status updates, restart unhealthy agents
- 🔌 Sidecar injection — Optional agent:// routing proxy sidecar
- ⚖️ HPA support — Scale based on CPU utilization or message rate
- 📦 Helm chart — One-command install
- 🔗 Service mesh compatible — Works with Istio/Linkerd
helm install agenium-operator charts/agenium-operator/make install # Install CRDs
make deploy # Deploy operatorapiVersion: agenium.io/v1
kind: Agent
metadata:
name: my-chatbot
spec:
name: my-chatbot
domain: chatbot.example.agenium.net
apiKey: dom_0123456789abcdef...
image: myregistry/chatbot:v1.0.0
replicas: 2
port: 8080
capabilities: [chat, search]
sidecarProxy: true
autoScale:
minReplicas: 1
maxReplicas: 5
targetCPUUtilization: 70kubectl apply -f config/samples/agent_v1_agent.yaml
kubectl get agentskubectl apply Agent CR
↓
[Operator Controller]
├── Create Deployment + Service
├── Register with Agenium DNS (185.204.169.26:3000)
├── Inject sidecar proxy (optional)
├── Configure HPA (optional)
└── Periodic health checks → update status
$ kubectl get agents
NAME DOMAIN PHASE REGISTERED READY AGE
my-chatbot chatbot.example.agenium.net Registered true 2 5mmake build # Build binary
make test # Run tests
make docker-build IMG=myrepo/operator:devMIT
This project includes optional bug reporting to the Agenium monitoring server.
Set the following environment variables to enable bug reporting:
BUG_REPORT_URL=http://130.185.123.153:3100
BUG_REPORT_TOKEN=your_token_here
Bug reporting is disabled by default — it only activates when BUG_REPORT_TOKEN is set. Reports are sent asynchronously (fire and forget) and never block the main application.