ai-code-battle/manifests/acb-bots/bot-defender-deployment.yml
jedarden 1c8f0aea72 K8s deployments and ExternalSecrets for extended bot fleet
Add Deployment, ExternalSecret, and Service manifests for 10 new strategy bots:
- scout (Python)
- assassin (Rust)
- defender (C#)
- farmer (Go)
- kamikaze (Node)
- nomad (Python)
- opportunist (Go)
- pacifist (Node)
- phalanx (Rust)
- raider (Java)

Each bot includes:
- Deployment with ArgoCD Image Updater annotations
- ExternalSecret for OpenBao shared-secret
- ClusterIP service (bot-<name>.acb-bots.svc.cluster.local)

Resource allocations tailored per language (JVM/C#/Rust = higher, Go/Python/Node = lower)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 14:58:41 -04:00

72 lines
2.2 KiB
YAML

# bot-defender: DefenderBot — C# strategy bot
# Defensive positioning, core protection, tactical response. Medium-high resource footprint.
# HTTP server on port 8080, POST /turn, GET /health.
#
# Staging file — sync to declarative-config/k8s/iad-acb/acb-bots/
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: bot-defender
namespace: acb-bots
labels:
app.kubernetes.io/name: bot-defender
app.kubernetes.io/part-of: ai-code-battle
app.kubernetes.io/component: strategy-bot
annotations:
argocd-image-updater.argoproj.io/image-list: app=ronaldraygun/acb-bot-defender
argocd-image-updater.argoproj.io/app.update-strategy: name
argocd-image-updater.argoproj.io/app.allow-tags: 'regexp:^sha-[0-9a-f]+$'
argocd-image-updater.argoproj.io/write-back-method: argocd
reloader.stakater.com/auto: "true"
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: bot-defender
template:
metadata:
labels:
app.kubernetes.io/name: bot-defender
app.kubernetes.io/part-of: ai-code-battle
app.kubernetes.io/component: strategy-bot
spec:
restartPolicy: Always
imagePullSecrets:
- name: docker-hub-registry
containers:
- name: bot
image: ronaldraygun/acb-bot-defender:sha-placeholder
imagePullPolicy: Always
env:
- name: BOT_PORT
value: "8080"
- name: BOT_SECRET
valueFrom:
secretKeyRef:
name: acb-bot-defender-secret
key: shared-secret
ports:
- name: http
containerPort: 8080
protocol: TCP
livenessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 15
periodSeconds: 30
failureThreshold: 3
readinessProbe:
httpGet:
path: /health
port: http
initialDelaySeconds: 10
periodSeconds: 10
failureThreshold: 3
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
memory: 256Mi