Files
blog-openapi-agent/deploy/20-deployment.yaml
2026-05-27 18:31:23 +00:00

103 lines
2.9 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: blog-openapi-agent
namespace: agents
labels:
app: blog-openapi-agent
a2a/managed-by: control-plane
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: blog-openapi-agent
template:
metadata:
labels:
app: blog-openapi-agent
spec:
containers:
- name: agent
image: registry.a2acloud.io/agents/blog-openapi-agent:ac651ec52a01ed75fc39841b7d1fbd0736123d57
imagePullPolicy: Always
env:
- name: A2A_AGENT_IMAGE
value: registry.a2acloud.io/agents/blog-openapi-agent:ac651ec52a01ed75fc39841b7d1fbd0736123d57
- name: A2A_RENDER_IMAGE
value: registry.a2acloud.io/agents/blog-openapi-agent:ac651ec52a01ed75fc39841b7d1fbd0736123d57
- name: A2A_CP_URL
value: "http://control-plane.control-plane.svc.cluster.local"
- name: A2A_LOGIN_URL
value: "https://app.a2acloud.io"
- name: A2A_SESSION_COOKIE_NAME
value: "a2a_session"
- name: A2A_GRANT_VERIFYING_KEY
valueFrom:
secretKeyRef: {name: platform-secrets, key: grant_verifying_key}
- name: A2A_SANDBOX_URL
value: http://sandbox.sandbox.svc.cluster.local:8000
- name: A2A_SANDBOX_TIMEOUT_S
value: "180"
envFrom:
- secretRef:
name: blog-openapi-agent-agent-secrets
optional: true
ports:
- containerPort: 8000
name: http
readinessProbe:
httpGet: {path: /healthz, port: 8000}
initialDelaySeconds: 2
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 6
livenessProbe:
httpGet: {path: /healthz, port: 8000}
initialDelaySeconds: 10
periodSeconds: 15
timeoutSeconds: 3
failureThreshold: 6
resources:
requests: {cpu: "200m", memory: "512Mi"}
limits: {cpu: "200m", memory: "512Mi"}
---
apiVersion: v1
kind: Service
metadata:
name: blog-openapi-agent
namespace: agents
spec:
type: ClusterIP
selector:
app: blog-openapi-agent
ports:
- name: http
port: 80
targetPort: 8000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: blog-openapi-agent
namespace: agents
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
spec:
tls:
- hosts: [blog-openapi-agent.a2acloud.io]
secretName: blog-openapi-agent-a2acloud-io-tls
rules:
- host: blog-openapi-agent.a2acloud.io
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: blog-openapi-agent
port:
number: 80