Files
enkly-ai/k8s/25-agent.yaml
enkly 79ce8dc4c0
Some checks failed
Go CI Pipeline / build_and_test (push) Failing after 22m0s
Init Project
2026-10-30 18:06:55 +01:00

43 lines
1.9 KiB
YAML

# ENKLY_WORKSPACE_GRPC_ADDR here means something different from the
# same-named var on the workspace Deployment: there it's "what address
# do I listen on", here it's "what address do I dial" (agent is a
# gRPC client of workspace/knowledge/billing/conversation). That's how
# docker-compose.yml defines it too — kept identical on purpose.
apiVersion: apps/v1
kind: Deployment
metadata: {name: agent, namespace: enkly, labels: {app: agent}}
spec:
replicas: 1
selector: {matchLabels: {app: agent}}
template:
metadata: {labels: {app: agent}}
spec:
imagePullSecrets: [{name: enkly-registry}]
containers:
- name: agent
image: registry.enkly.org/enkly/agent:latest
ports: [{name: grpc, containerPort: 9006}]
envFrom: [{configMapRef: {name: enkly-config}}]
env:
- {name: ENKLY_WORKSPACE_GRPC_ADDR, value: "workspace:9004"}
- {name: ENKLY_KNOWLEDGE_GRPC_ADDR, value: "knowledge:9005"}
- {name: ENKLY_BILLING_GRPC_ADDR, value: "billing:9002"}
- {name: ENKLY_CONVERSATION_GRPC_ADDR, value: "conversation:9003"}
# Bearer token agent authenticates to vllm-chat/vllm-embed
# with (see services/agent/cmd/server/main.go) — without
# this, chat/tool-calling calls 401 against vLLM's --api-key.
- name: ENKLY_VLLM_API_KEY
valueFrom: {secretKeyRef: {name: enkly-secrets, key: ENKLY_VLLM_API_KEY}}
resources:
requests: {cpu: 100m, memory: 128Mi}
limits: {cpu: 1, memory: 512Mi}
readinessProbe: {grpc: {port: 9006}, initialDelaySeconds: 5, periodSeconds: 10, failureThreshold: 10}
livenessProbe: {grpc: {port: 9006}, initialDelaySeconds: 15, periodSeconds: 20, failureThreshold: 6}
---
apiVersion: v1
kind: Service
metadata: {name: agent, namespace: enkly, labels: {app: agent}}
spec:
selector: {app: agent}
ports: [{name: grpc, port: 9006, targetPort: grpc}]