3c44cc63ea
One entry in the registry and a realm grant, which was the claim the design made about adding a specialist. Nothing in the graph changed. What the two specialists have in common, from the orchestrator's side, is nothing: one is PydanticAI over MCP, the other n8n workflows behind an adapter. It cannot tell them apart, which is what the protocol is for. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
75 lines
2.4 KiB
YAML
75 lines
2.4 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: assistant-agent
|
|
namespace: agents
|
|
spec:
|
|
# One replica, and that is a constraint rather than a default. Conversation
|
|
# history lives in the process, keyed by A2A contextId — and a specialist's
|
|
# approval round trip passes back through here, so a second replica would
|
|
# route the user's "approve" to a pod holding none of the exchange. Scaling
|
|
# out needs sticky routing on contextId or a shared store first.
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: assistant-agent
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: assistant-agent
|
|
spec:
|
|
securityContext:
|
|
runAsNonRoot: true
|
|
runAsUser: 10001
|
|
seccompProfile:
|
|
type: RuntimeDefault
|
|
containers:
|
|
- name: agent
|
|
# gitea's own registry: the image sits beside the source it was built
|
|
# from and inherits the repo's public visibility, so the pull needs no
|
|
# credentials at all.
|
|
image: gitea.sttlab.eu/stt/classic-models-agent-assistant:v0.2.0
|
|
ports:
|
|
- name: http
|
|
containerPort: 8080
|
|
envFrom:
|
|
- configMapRef:
|
|
name: assistant-agent-config
|
|
- secretRef:
|
|
name: assistant-agent-secrets
|
|
volumeMounts:
|
|
- name: sttlab-ca
|
|
mountPath: /etc/sttlab-ca
|
|
readOnly: true
|
|
# The Agent Card needs no auth and is served by the same app, so a 200
|
|
# means the A2A routes are genuinely mounted — not merely that the
|
|
# process is alive.
|
|
readinessProbe:
|
|
httpGet:
|
|
path: /.well-known/agent-card.json
|
|
port: http
|
|
initialDelaySeconds: 5
|
|
periodSeconds: 10
|
|
livenessProbe:
|
|
httpGet:
|
|
path: /.well-known/agent-card.json
|
|
port: http
|
|
initialDelaySeconds: 15
|
|
periodSeconds: 20
|
|
resources:
|
|
requests:
|
|
cpu: 50m
|
|
memory: 192Mi
|
|
limits:
|
|
cpu: "1"
|
|
memory: 512Mi
|
|
securityContext:
|
|
allowPrivilegeEscalation: false
|
|
readOnlyRootFilesystem: true
|
|
capabilities:
|
|
drop: ["ALL"]
|
|
volumes:
|
|
- name: sttlab-ca
|
|
configMap:
|
|
name: sttlab-ca
|