Files
poimen-workflows/k8s/deploy.sh
T

91 lines
3.0 KiB
Bash
Raw Normal View History

#!/bin/bash
set -e
echo "╔════════════════════════════════════════════════════════════════════════╗"
echo "║ DEPLOYING POIMEN ORCHESTRATOR TO KUBERNETES ║"
echo "╚════════════════════════════════════════════════════════════════════════╝"
echo ""
# Check if kubectl is available
if ! command -v kubectl &> /dev/null; then
echo "❌ kubectl not found. Please install kubectl."
exit 1
fi
# Check if temporal namespace exists
if ! kubectl get namespace temporal &> /dev/null; then
echo "❌ Temporal namespace not found. Please deploy Temporal first."
exit 1
fi
echo "✅ Temporal namespace found"
echo ""
# Get API key from user
echo "Step 1: Set up secrets"
echo ""
read -sp "Enter ANTHROPIC_API_KEY: " API_KEY
echo ""
# Update secret with actual API key
kubectl create secret generic poimen-secrets \
--namespace poimen \
--from-literal=ANTHROPIC_API_KEY="$API_KEY" \
--dry-run=client -o yaml | kubectl apply -f -
echo "✅ Secrets configured"
echo ""
# Apply ConfigMap
echo "Step 2: Apply ConfigMap"
kubectl apply -f k8s/configmap.yaml
echo "✅ ConfigMap deployed"
echo ""
# Apply Worker Deployment
echo "Step 3: Deploy Worker"
kubectl apply -f k8s/worker-deployment.yaml
echo "✅ Worker deployment created"
echo ""
# Wait for worker to start
echo "Waiting for worker to be ready..."
kubectl wait --for=condition=available --timeout=120s \
-n poimen deployment/poimen-worker 2>/dev/null || true
echo ""
# Check worker status
echo "Worker Status:"
kubectl get pods -n poimen -l app=poimen-worker
echo ""
# Submit orchestrator job
echo "Step 4: Submit Orchestrator Workflow"
kubectl apply -f k8s/orchestrator-job.yaml
echo "✅ Orchestrator job submitted"
echo ""
# Monitor job
echo "Monitoring orchestrator job..."
kubectl logs -n poimen -f job/poimen-orchestrator 2>/dev/null || true
echo ""
echo "════════════════════════════════════════════════════════════════════════"
echo "DEPLOYMENT COMPLETE"
echo "════════════════════════════════════════════════════════════════════════"
echo ""
echo "Monitor workflow:"
echo " temporal workflow list --address temporal-frontend.temporal:7233 --namespace poimen-harness"
echo ""
echo "View worker logs:"
echo " kubectl logs -n poimen -l app=poimen-worker -f"
echo ""
echo "View orchestrator job logs:"
echo " kubectl logs -n poimen job/poimen-orchestrator -f"
echo ""
echo "Access Temporal Web UI:"
echo " kubectl port-forward -n temporal svc/temporal-web 8080:8080"
echo " Then open: http://localhost:8080"
echo ""