Skip to content
This repository was archived by the owner on May 8, 2026. It is now read-only.
This repository was archived by the owner on May 8, 2026. It is now read-only.

Rewrite development README for in-cluster workflow #9

Description

@rowan-stein

User Request

The current README describes a local development workflow (pnpm install, pnpm test, etc.), but all development and testing should happen inside a Kubernetes cluster. The README should describe:

  1. Clone agynio/bootstrap_v2 and run the cluster
  2. Use devspace dev to develop the service in-cluster
  3. Run tests inside the cluster

Specification

README Structure

# docker-runner
## Prerequisites
## Cluster Setup
## Development
## Running Tests
## Troubleshooting

Prerequisites

Tools needed (no local Node.js/pnpm/buf required — they run inside the dev container):

Tool Version Purpose
Docker Required by k3d
k3d v5.x Local k3s cluster
Terraform ≥ 1.5.0 Provisions infrastructure
kubectl Cluster interaction
DevSpace In-cluster dev workflow

Cluster Setup

  • Clone agynio/bootstrap_v2
  • Copy stacks/platform/terraform.tfvars.exampleterraform.tfvars
  • Run ./apply.sh -y (provisions k3d cluster agyn-local, installs Istio + ArgoCD, deploys platform including docker-runner)
  • Verify: kubectl get deployment docker-runner -n platform

Development (DevSpace)

  • Ensure kubeconfig points to agyn-local
  • Run devspace dev from the docker-runner repo
  • What happens: ArgoCD sync paused → deployment patched with devcontainer image → file sync → pnpm installproto:generatetsx watch (hot reload) → port forward 50051
  • Edit locally, changes sync automatically
  • Ctrl+C to stop; cleanup hook restores ArgoCD sync

Running Tests

All tests run inside the dev container via devspace enter:

  • Unit tests: pnpm test — no Docker needed
  • Integration tests (included in pnpm test): require Docker (provided by DinD sidecar in-cluster)
  • E2e tests: DOCKER_RUNNER_SHARED_SECRET=change-me pnpm test:e2e — connects to the running gRPC service on localhost:50051

Troubleshooting

Cover: sync timeout, ArgoCD reverting changes, Docker socket not found, port forwarding issues.

Content to Remove

  • Old ## Development section (local pnpm commands)
  • Old ## Docker section (docker build — handled by CI)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions