ci / test (push) Successful in 2m27s
Multi-stage build for Poimen Temporal Worker pod: TOOLS INSTALLED: - ast-grep (v0.24.0): semantic code pattern matching - pi CLI: agent framework with pre-loaded skills - browser-use CLI: browser automation & testing - Chromium: headless browser for E2E tests - Go 1.25: worker binary compilation SKILLS PRE-LOADED: - caveman: token compression (65% reduction) - andrej-karpathy: LLM principles & training patterns - browser-use: browser automation for T2/T3/T6/T9 VOLUMES & DIRECTORIES: - /app/work/: ephemeral workspace for git clones - /app/logs/: execution logs - /app/screenshots/: test screenshots (max 2GB) - /root/.pi/agent/skills/: pre-loaded skills ENVIRONMENT VARIABLES: - PI_SKILLS_PATH, AST_GREP_BIN, BROWSER_USE_BIN, CHROMIUM_BIN - SCREENSHOTS_DIR, MEMORY_SERVICE_URL, TEMPORAL_HOSTPORT STARTUP DIAGNOSTICS: - Entrypoint verifies all CLI tools available - Checks pi skills directory - Validates browser automation readiness - Confirms Chromium availability - Tests memory service connectivity IMAGE SIZE: ~500MB (optimized multi-stage build)
69 lines
2.0 KiB
YAML
69 lines
2.0 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: poimen-worker
|
|
namespace: poimen
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: poimen-worker
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: poimen-worker
|
|
annotations:
|
|
git-commit: "166674d" # ✅ Updated on each push, triggers rolling restart
|
|
deployment-date: "2026-08-30"
|
|
spec:
|
|
containers:
|
|
- name: worker
|
|
image: golang:latest
|
|
imagePullPolicy: Always # ✅ Force pull latest image on pod startup
|
|
workingDir: /app
|
|
command: ["/bin/sh", "-c"]
|
|
args:
|
|
- |
|
|
set -e
|
|
echo "[$(date)] Starting poimen worker pod..."
|
|
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 worker..."
|
|
go run ./cmd/worker
|
|
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"
|
|
livenessProbe:
|
|
exec:
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- ps aux | grep -q "go run ./cmd/worker" && echo ok || exit 1
|
|
initialDelaySeconds: 30
|
|
periodSeconds: 10
|