Skip to content

Deploy automation: chatbot + course-builder workloads (Kind / EKS targets) #8

@jmjava

Description

@jmjava

Summary

Add Tekton-side support to deploy to both application workloadschatbot 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

  1. 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.
  2. 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).
  3. 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.
  4. 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

  • Documented path to run a pipeline that deploys chatbot to its dedicated deploy target (Kind chatbot or EKS chatbot namespace), using menkelabs/chatbot as the manifest source of truth.
  • Documented path (or stub + issue link) for course-builder to its dedicated deploy target, consistent with #24.
  • Examples reference #7 parameters (deploy context / Secret) so build-cluster vs app-cluster is explicit.
  • README states that guide is not a Tekton deploy target for this track (host/MCP), avoiding confusion.

Related

  • jmjava/tekton-dag #7 — parameterize deploy target (build vs app cluster).
  • menkelabs/chatbot #5, #6; infra-sync/roadmap.md.
  • menkelabs/course-builder #24.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions