diff --git a/deploy/20-deployment.yaml b/deploy/20-deployment.yaml index c96254f..282c218 100644 --- a/deploy/20-deployment.yaml +++ b/deploy/20-deployment.yaml @@ -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