Fix workflow execution failures caused by: - Port conflict: both containers tried to use :8081 - Incorrect split: /app/worker doesn't have 'server' subcommand - Multiple health check servers competing for same port Changes: - Single container: workflows-worker (activity executor only) - Removed server/worker split - No HTTP server (Temporal handles gRPC internally) - Clean env var setup: TEMPORAL_HOSTPORT, MEMORY_SERVICE_URL, etc. This allows workflows to execute without port conflicts or crashes.
59 lines
1.5 KiB
YAML
59 lines
1.5 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: poimen-workflows
|
|
namespace: poimen
|
|
labels:
|
|
app.kubernetes.io/name: poimen
|
|
app.kubernetes.io/component: worker
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: poimen-workflows
|
|
app.kubernetes.io/name: poimen
|
|
app.kubernetes.io/component: worker
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: poimen-workflows
|
|
app.kubernetes.io/name: poimen
|
|
app.kubernetes.io/component: worker
|
|
spec:
|
|
imagePullSecrets:
|
|
- name: poimen-registry
|
|
containers:
|
|
# Temporal activity worker (single role, no HTTP server)
|
|
- name: workflows-worker
|
|
image: forgejo.riotpiao.com/rock/poimen-workflows:latest
|
|
imagePullPolicy: Always
|
|
command: ["/app/worker"]
|
|
env:
|
|
- name: DATABASE_URL
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: poimen-db-credentials
|
|
key: workflows-url
|
|
- name: TEMPORAL_HOSTPORT
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
name: poimen-config
|
|
key: temporal-hostport
|
|
- name: TEMPORAL_NAMESPACE
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
name: poimen-config
|
|
key: temporal-namespace
|
|
- name: MEMORY_SERVICE_URL
|
|
valueFrom:
|
|
configMapKeyRef:
|
|
name: poimen-config
|
|
key: memory-service-url
|
|
resources:
|
|
requests:
|
|
memory: "512Mi"
|
|
cpu: "500m"
|
|
limits:
|
|
memory: "2Gi"
|
|
cpu: "2000m"
|