ワンクリックで
ワンクリックで
Sub-agent powered code reviews spanning correctness, tests, consistency, and fit
Index + offline snapshot of coder/coder documentation (progressive disclosure).
Guidelines for creating and managing Pull Requests in this repo
| name | kind-dev |
| description | Per-workspace KIND clusters for coder-k8s dev + demos. |
Load this skill only when you need a real Kubernetes cluster (KIND) during development or demos.
Prefer a per-workspace name to avoid collisions:
export CLUSTER_NAME="coder-k8s-${MUX_WORKSPACE_NAME:-dev}"
./hack/kind-dev.sh up
kubectl --context kind-${CLUSTER_NAME} get nodes
./hack/kind-dev.sh up defaults to KIND_NODE_IMAGE=kindest/node:v1.34.0. Override it when needed:
KIND_NODE_IMAGE=kindest/node:v1.32.0 ./hack/kind-dev.sh up
If the cluster already exists and you change KIND_NODE_IMAGE, recreate it first:
./hack/kind-dev.sh down
KIND_NODE_IMAGE=kindest/node:v1.32.0 ./hack/kind-dev.sh up
# up already switches your current context; run ctx again if needed.
./hack/kind-dev.sh ctx
GOFLAGS=-mod=vendor go run . --app=controller
./hack/kind-dev.sh load-image
kubectl --context kind-${CLUSTER_NAME} apply -f config/e2e/deployment.yaml
kubectl --context kind-${CLUSTER_NAME} -n coder-system wait --for=condition=Available deploy/coder-k8s --timeout=120s
k9s --context kind-${CLUSTER_NAME}
./hack/kind-dev.sh down
Nix tools available:
nix develop -c kubectl version --client
nix develop -c kind version
nix develop -c k9s version
Script sanity:
bash -n hack/kind-dev.sh
Bootstrap smoke test (deterministic cluster name):
CLUSTER_NAME=coder-k8s-dev ./hack/kind-dev.sh up
test "$(kubectl config current-context)" = "kind-coder-k8s-dev"
kubectl --context kind-coder-k8s-dev get crd codercontrolplanes.coder.com
kubectl --context kind-coder-k8s-dev get clusterrole manager-role
kubectl --context kind-coder-k8s-dev -n coder-system get sa coder-k8s
Optional in-cluster controller smoke test:
CLUSTER_NAME=coder-k8s-dev ./hack/kind-dev.sh load-image
kubectl --context kind-coder-k8s-dev apply -f config/e2e/deployment.yaml
kubectl --context kind-coder-k8s-dev -n coder-system wait --for=condition=Available deploy/coder-k8s --timeout=120s
Skill file exists:
test -f .mux/skills/kind-dev/SKILL.md
Cleanup:
CLUSTER_NAME=coder-k8s-dev ./hack/kind-dev.sh down
Use explicit kubectl --context kind-${CLUSTER_NAME} commands whenever possible to avoid acting on the wrong cluster.