Run agent-builder as Knative platform service

This commit is contained in:
robert
2026-06-04 10:25:32 -03:00
parent 8d0faab0d4
commit ec903e10a7

View File

@@ -1,30 +1,29 @@
apiVersion: apps/v1
kind: Deployment
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: agent-builder
namespace: agents
annotations:
argocd.argoproj.io/sync-options: ServerSideApply=true
labels:
app: agent-builder
a2a/managed-by: control-plane
a2a/platform-agent: "true"
spec:
replicas: 1
revisionHistoryLimit: 1
selector:
matchLabels:
app: agent-builder
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
progressDeadlineSeconds: 900
template:
metadata:
labels:
app: agent-builder
a2a/platform-agent: "true"
annotations:
autoscaling.knative.dev/min-scale: "1"
autoscaling.knative.dev/max-scale: "2"
autoscaling.knative.dev/target: "10"
spec:
enableServiceLinks: false
terminationGracePeriodSeconds: 30
containerConcurrency: 10
timeoutSeconds: 1800
responseStartTimeoutSeconds: 1800
containers:
- name: agent
image: registry.a2acloud.io/agents/agent-builder:8ccd5d0283b90fb2705251071b8d7d44a703981c
@@ -60,59 +59,16 @@ spec:
- name: A2A_CP_URL
value: http://control-plane.control-plane.svc.cluster.local
readinessProbe:
httpGet: {path: /healthz, port: 8000}
httpGet: {path: /healthz}
initialDelaySeconds: 8
periodSeconds: 5
failureThreshold: 3
failureThreshold: 6
successThreshold: 1
timeoutSeconds: 1
timeoutSeconds: 3
livenessProbe:
httpGet: {path: /healthz, port: 8000}
httpGet: {path: /healthz}
initialDelaySeconds: 25
periodSeconds: 15
resources:
requests: {cpu: 200m, memory: 512Mi}
limits: {cpu: "1", memory: 1Gi}
---
apiVersion: v1
kind: Service
metadata:
name: agent-builder
namespace: agents
annotations:
argocd.argoproj.io/sync-options: ServerSideApply=false,Replace=true
labels:
app: agent-builder
a2a/managed-by: control-plane
spec:
selector:
app: agent-builder
ports:
- name: http
port: 80
targetPort: 8000
protocol: TCP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: agent-builder
namespace: agents
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
spec:
tls:
- hosts: [agent-builder.a2acloud.io]
secretName: agent-builder-a2acloud-io-tls
rules:
- host: agent-builder.a2acloud.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: agent-builder
port:
number: 80