apiVersion: apps/v1 kind: Deployment metadata: name: {{ name }} namespace: agents labels: app: {{ name }} a2a/managed-by: control-plane spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: {{ name }} template: metadata: labels: app: {{ name }} spec: containers: - name: agent # tag is rewritten by the build workflow on every push image: registry.a2acloud.io/agents/{{ name }}:latest imagePullPolicy: Always ports: - containerPort: 8000 name: http readinessProbe: httpGet: {path: /healthz, port: 8000} initialDelaySeconds: 2 periodSeconds: 5 livenessProbe: httpGet: {path: /healthz, port: 8000} initialDelaySeconds: 10 periodSeconds: 15 resources: requests: {cpu: 100m, memory: 256Mi} limits: {cpu: 200m, memory: 256Mi} --- apiVersion: v1 kind: Service metadata: name: {{ name }} namespace: agents spec: type: ClusterIP selector: app: {{ name }} ports: - name: http port: 80 targetPort: 8000 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: {{ name }} namespace: agents spec: rules: - host: {{ name }}.a2acloud.io http: paths: - path: / pathType: Prefix backend: service: name: {{ name }} port: number: 80