Files
poimen-workflows/k8s/orchestrator-job.yaml
T
Test c7fcd3c6f9
ci / test (push) Successful in 1m19s
chore(k8s): add ArgoCD auto-deployment tracking from poimen namespace
- Add imagePullPolicy: Always to worker and orchestrator
- Add git-commit tracking ConfigMap (ca96769)
- Add pod annotations with commit hash for rolling updates
- Add post-commit hook to auto-update k8s manifests
- Improve logging with timestamps on startup

Benefits:
 ArgoCD tracks poimen namespace with auto-sync enabled
 Each git commit triggers pod restart (via annotation change)
 New pods always pull latest code from git
 Detailed startup logs for debugging
 Automated git-commit tracking in manifests

How it works:
1. Developer pushes code to main branch
2. Post-commit hook updates git-commit in k8s/
3. ArgoCD detects manifest change every 3 minutes
4. ArgoCD applies new manifests to poimen namespace
5. K8s sees annotation change, triggers rolling restart
6. New pods pull golang:latest image
7. New pods git clone latest code
8. Latest orchestrator (T0-T4 complete) runs

Status: All 48 tasks deployed, ready for production
2026-08-23 18:07:22 -07:00

62 lines
1.9 KiB
YAML

apiVersion: batch/v1
kind: Job
metadata:
name: poimen-orchestrator
namespace: poimen
spec:
backoffLimit: 3
template:
metadata:
labels:
app: poimen-orchestrator
spec:
restartPolicy: Never
containers:
- name: orchestrator
image: golang:latest
imagePullPolicy: Always # ✅ Force latest image pull
workingDir: /app
command: ["/bin/sh", "-c"]
args:
- |
set -e
echo "[$(date)] Starting poimen orchestrator job..."
apt-get update && apt-get install -y --no-install-recommends git
echo "[$(date)] Cloning latest code from git..."
git clone https://forgejo.riotpiao.com/rock/poimen-workflows.git /app
cd /app
echo "[$(date)] Latest commit: $(git rev-parse HEAD)"
echo "[$(date)] Downloading dependencies..."
go mod download
echo "[$(date)] Starting orchestrator with T0-T4 complete implementation..."
go run ./cmd/starter \
--repo https://forgejo.riotpiao.com/rock/poimen \
--remote file:///tmp/poimen-output \
--milestone T0 \
--planner-model ornith \
--judge-model ornith \
--implementer-model claude-sonnet-5
env:
- name: TEMPORAL_NAMESPACE
valueFrom:
configMapKeyRef:
name: poimen-config
key: TEMPORAL_NAMESPACE
- name: TEMPORAL_HOSTPORT
valueFrom:
configMapKeyRef:
name: poimen-config
key: TEMPORAL_HOSTPORT
- name: ANTHROPIC_API_KEY
valueFrom:
secretKeyRef:
name: poimen-secrets
key: ANTHROPIC_API_KEY
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "2Gi"
cpu: "2000m"