From 24a8e95416299328c48c964a2b37753cf8928ce9 Mon Sep 17 00:00:00 2001 From: Antigravity Date: Thu, 21 May 2026 16:58:06 -0400 Subject: [PATCH] feat: add Gumbo CI workflow and deploy Temporal worker --- .gitea/workflows/gumbo-build.yaml | 53 +++++++++++++++++++++++ agents/k8s/gumbo-worker-deployment.yaml | 57 +++++++++++++++++++++++++ agents/k8s/kustomization.yaml | 1 + 3 files changed, 111 insertions(+) create mode 100644 .gitea/workflows/gumbo-build.yaml create mode 100644 agents/k8s/gumbo-worker-deployment.yaml diff --git a/.gitea/workflows/gumbo-build.yaml b/.gitea/workflows/gumbo-build.yaml new file mode 100644 index 0000000..085dfa4 --- /dev/null +++ b/.gitea/workflows/gumbo-build.yaml @@ -0,0 +1,53 @@ +name: Build Gumbo Agent + +on: + push: + branches: + - main + paths: + - 'agents/gumbo/**' + +jobs: + build-gumbo-agent: + runs-on: ubuntu-latest + env: + DOCKER_HOST: tcp://172.17.0.1:2375 + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Build and push Gumbo Agent (Kaniko) + run: | + SHORT_SHA="${GITHUB_SHA::7}" + IMAGE_TAG="192.168.8.250:5000/agentic-os/gumbo-agent:${SHORT_SHA}" + IMAGE_LATEST="192.168.8.250:5000/agentic-os/gumbo-agent:latest" + + JOB_CONTAINER=$(docker ps --format '{{.Names}}' | grep 'GITEA-ACTIONS-TASK' | head -1) + + docker run --rm \ + --volumes-from "$JOB_CONTAINER" \ + gcr.io/kaniko-project/executor:latest \ + --context=dir:///workspace/deepkoluguri/agentic-os/agents/gumbo \ + --dockerfile=Dockerfile \ + --destination="${IMAGE_TAG}" \ + --destination="${IMAGE_LATEST}" \ + --insecure \ + --skip-tls-verify + + - name: Build and push Gumbo Worker (Kaniko) + run: | + SHORT_SHA="${GITHUB_SHA::7}" + IMAGE_TAG="192.168.8.250:5000/agentic-os/gumbo-worker:${SHORT_SHA}" + IMAGE_LATEST="192.168.8.250:5000/agentic-os/gumbo-worker:latest" + + JOB_CONTAINER=$(docker ps --format '{{.Names}}' | grep 'GITEA-ACTIONS-TASK' | head -1) + + docker run --rm \ + --volumes-from "$JOB_CONTAINER" \ + gcr.io/kaniko-project/executor:latest \ + --context=dir:///workspace/deepkoluguri/agentic-os/agents/gumbo \ + --dockerfile=Dockerfile.worker \ + --destination="${IMAGE_TAG}" \ + --destination="${IMAGE_LATEST}" \ + --insecure \ + --skip-tls-verify diff --git a/agents/k8s/gumbo-worker-deployment.yaml b/agents/k8s/gumbo-worker-deployment.yaml new file mode 100644 index 0000000..47f7f9d --- /dev/null +++ b/agents/k8s/gumbo-worker-deployment.yaml @@ -0,0 +1,57 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gumbo-worker + namespace: ai-agents-gumbo + labels: + app.kubernetes.io/name: gumbo-worker + agentic-os.io/agent: gumbo +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: gumbo-worker + template: + metadata: + labels: + app.kubernetes.io/name: gumbo-worker + agentic-os.io/agent: gumbo + spec: + serviceAccountName: default + containers: + - name: gumbo-worker + image: 192.168.8.250:5000/agentic-os/gumbo-worker:latest + imagePullPolicy: Always + env: + - name: TEMPORAL_ADDRESS + value: "temporal-frontend.ai-core.svc.cluster.local:7233" + - name: TEMPORAL_NAMESPACE + value: "default" + - name: GUMBO_TASK_QUEUE + value: "gumbo" + - name: MCP_FS_SSE_URL + value: "http://mcp-filesystem.tools-mcp.svc.cluster.local:8080/sse" + - name: LITELLM_BASE_URL + value: "http://litellm.ai-core.svc.cluster.local:4000/v1" + - name: LITELLM_API_KEY + valueFrom: + secretKeyRef: + name: gumbo-litellm + key: api_key + - name: LANGGRAPH_CHECKPOINT_URI + valueFrom: + secretKeyRef: + name: gumbo-checkpoint-db + key: uri + - name: GUMBO_RESULTS_DSN + valueFrom: + secretKeyRef: + name: gumbo-results-db + key: dsn + resources: + requests: + cpu: 500m + memory: 512Mi + limits: + cpu: "2" + memory: 2Gi diff --git a/agents/k8s/kustomization.yaml b/agents/k8s/kustomization.yaml index 063e000..714841c 100644 --- a/agents/k8s/kustomization.yaml +++ b/agents/k8s/kustomization.yaml @@ -5,3 +5,4 @@ resources: - gumbo-job-template.yaml - static-demo.yaml - gumbo-schema-init.yaml + - gumbo-worker-deployment.yaml