MCPcopy Index your code
hub / github.com/engineerd/setup-kind

github.com/engineerd/setup-kind @v0.6.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.6.2 ↗ · + Follow
34 symbols 89 edges 13 files 4 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

@engineerd/setup-kind

Setup KinD (Kubernetes in Docker) with a single GitHub Action!

This action assumes a Linux environment (amd64 or arm64 architecture), and will not work on Windows or MacOS agents.

name: "Create cluster using KinD"
on: [pull_request, push]

jobs:
  kind:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - uses: engineerd/setup-kind@v0.6.0
        with:
          version: "v0.24.0"
      - name: Testing
        run: |
          kubectl cluster-info
          kubectl version
          kubectl get pods -n kube-system

This will configure KinD and start a cluster in your local GitHub Action:

downloading kind from https://github.com/kubernetes-sigs/kind/releases/download/v0.24.0/kind-linux-amd64
/opt/hostedtoolcache/kind/0.24.0/x64/kind create cluster --name kind --wait 300s
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.31.0) 🖼
 ✓ Preparing nodes 📦 
 ✓ Writing configuration 📜
 ✓ Starting control-plane 🕹️
 • Installing CNI 🔌  ...
 ✓ Installing StorageClass 💾
 • Ready after 17s 💚

Note: GitHub Actions workers come pre-configured with kubectl.

The following arguments can be configured on the job using the with keyword (see example above). Currently, possible inputs are all the flags for kind cluster create, with the additional version, which sets the Kind version to download and skipClusterCreation, which when present, skips creating the cluster (the KinD tool is configured in the path).

Optional inputs:

  • version: version of Kind to use (default "v0.24.0")
  • config: path (relative to the root of the repository) to a kind config file. If omitted, a default 1-node cluster will be created
  • image: node Docker image to use for booting the cluster.
  • name: cluster name (default "kind")
  • wait: wait for control plane node to be ready (default "300s")
  • kubeconfig: sets kubeconfig path instead of $KUBECONFIG or $HOME/.kube/config
  • skipClusterCreation: if "true", the action will not create a cluster, just acquire the tools
  • skipClusterDeletion: if "true", the action will not delete the cluster
  • skipClusterLogsExport: if "true", the action will not export the cluster logs
  • verbosity: numeric log verbosity, (info = 0, debug = 3, trace = 2147483647) (default "0")
  • quiet: silence all stderr output (default "false")

Extension points exported contracts — how you extend this code

CacheParameters (Interface)
(no doc)
src/cache.ts

Core symbols most depended-on inside this repo

getInstance
called by 9
src/kind/post.ts
executeKindCommand
called by 3
src/kind/core.ts
deleteCommand
called by 2
src/kind/post.ts
exportLogsCommand
called by 2
src/kind/post.ts
kindLogsDir
called by 2
src/kind/post.ts
createCommand
called by 2
src/kind/main.ts
kindCachePaths
called by 1
src/cache.ts
kindPrimaryKey
called by 1
src/cache.ts

Shape

Method 17
Function 10
Class 4
Enum 2
Interface 1

Languages

TypeScript100%

Modules by API surface

src/kind/post.ts11 symbols
src/kind/main.ts10 symbols
src/cache.ts5 symbols
src/main.ts2 symbols
src/go.ts2 symbols
src/constants.ts2 symbols
src/post.ts1 symbols
src/kind/core.ts1 symbols

For agents

$ claude mcp add setup-kind \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact