Summary
Add Tekton-side support to deploy to both application workloads—chatbot and course-builder—each isolated on its own Kubernetes target (local Kind clusters today, shared EKS + namespaces later). This builds on #7 (parameterized deploy context / kubeconfig Secret vs build cluster).
Context
- Canonical chatbot repo: menkelabs/chatbot — manifests, Kind scripts, and cross-repo strategy live there (e.g.
infra-sync/roadmap.md). Separate Kind per workload, no shared Neo4j between chatbot and course-builder; guide stays out-of-cluster.
- Chatbot today: cluster name
chatbot, context kind-chatbot; manifests under menkelabs/chatbot k8s/ (deployment.yaml, k8s/databases/, Kind scripts).
- Course-builder: same bar—in-cluster only; dedicated Kind (e.g.
course-builder / kind-course-builder); track alignment in menkelabs/course-builder#24.
Proposed work
-
Parameters / contracts
- PipelineRun (or shared Task params) for:
workload (chatbot | course-builder), deploy kubeconfig Secret name, optional namespace, image tag/digest.
- Reuse or extend the model from #7 so build cluster and deploy cluster are never confused.
-
Per-workload examples
- Example PipelineRun (or two thin wrappers) for chatbot: build image →
kind load docker-image … --name chatbot (or push + deploy on EKS) → kubectl apply against manifests from menkelabs/chatbot (k8s/) / expected namespace.
- Parallel example for course-builder once menkelabs/course-builder publishes a stable image name and manifest path (link to course-builder issue/PR when ready).
-
Documentation
- README section: “Deploying chatbot and course-builder” — two isolated targets, two kubeconfig/context patterns, RBAC notes.
- Link to menkelabs/chatbot Kind README /
docs/CHECKLIST.md for manual parity checks.
-
Security
- Deploy ServiceAccount / kubeconfig scoped per target cluster or per namespace on EKS; no single super-kubeconfig for all apps unless tightly RBAC’d.
Acceptance criteria
Related
- jmjava/tekton-dag #7 — parameterize deploy target (build vs app cluster).
- menkelabs/chatbot #5, #6;
infra-sync/roadmap.md.
- menkelabs/course-builder #24.
Summary
Add Tekton-side support to deploy to both application workloads—chatbot and course-builder—each isolated on its own Kubernetes target (local Kind clusters today, shared EKS + namespaces later). This builds on #7 (parameterized deploy context / kubeconfig Secret vs build cluster).
Context
infra-sync/roadmap.md). Separate Kind per workload, no shared Neo4j between chatbot and course-builder; guide stays out-of-cluster.chatbot, contextkind-chatbot; manifests undermenkelabs/chatbotk8s/(deployment.yaml,k8s/databases/, Kind scripts).course-builder/kind-course-builder); track alignment in menkelabs/course-builder#24.Proposed work
Parameters / contracts
workload(chatbot|course-builder), deploy kubeconfig Secret name, optional namespace, image tag/digest.Per-workload examples
kind load docker-image … --name chatbot(or push + deploy on EKS) →kubectl applyagainst manifests frommenkelabs/chatbot(k8s/) / expected namespace.Documentation
docs/CHECKLIST.mdfor manual parity checks.Security
Acceptance criteria
chatbotor EKSchatbotnamespace), usingmenkelabs/chatbotas the manifest source of truth.Related
infra-sync/roadmap.md.