A GitHub Action for Kubernetes IN Docker - local clusters for testing Kubernetes using kubernetes-sigs/kind.
Usage
Pre-requisites
Create a workflow YAML file in your .github/workflows directory. An example workflow is available below.
For more information, reference the GitHub Help Documentation for Creating a workflow file.
This will configure the cluster with an insecure local registry at my-registry:5001 on both the host and within cluster. Subsequent steps can refer to the registry address with the output of the kind setup step (i.e. ${{ steps.kind.outputs.LOCAL_REGISTRY }}).
Note: If config option is used, you must manually configure the cluster nodes with registry config dir enabled at /etc/containerd/certs.d. For example:
Kind Action
A GitHub Action for Kubernetes IN Docker - local clusters for testing Kubernetes using kubernetes-sigs/kind.
Usage
Pre-requisites
Create a workflow YAML file in your
.github/workflowsdirectory. An example workflow is available below. For more information, reference the GitHub Help Documentation for Creating a workflow file.Inputs
For more information on inputs, see the API Documentation
version: The kind version to use (default:v0.31.0)config: The path to the kind config filenode_image: The Docker image for the cluster nodescluster_name: The name of the cluster to create (default:chart-testing)wait: The duration to wait for the control plane to become ready (default:60s)verbosity: info log verbosity, higher value produces more outputkubectl_version: The kubectl version to use (default:v1.35.0)registry: Whether to configure an insecure local registry (default:false)registry_image: The registry image to use (default:registry:2)registry_name: The registry name to use (default:kind-registry)registry_port: The local port used to bind the registry (default:5000)registry_enable_delete: Enable delete operations on the registry (default:false)install_only: Skips cluster creation, only install kind (default:false)ignore_failed_clean: Whether to ignore the post delete cluster action failing (default:false)cloud_provider: Whether to use cloud provider loadbalancer (default:false)Example Workflow
Create a workflow (eg:
.github/workflows/create-cluster.yml):This uses @helm/kind-action GitHub Action to spin up a kind Kubernetes cluster on every Pull Request. See @helm/chart-testing-action for a more practical example.
Configuring Local Registry
Create a workflow (eg:
.github/workflows/create-cluster-with-registry.yml):This will configure the cluster with an insecure local registry at
my-registry:5001on both the host and within cluster. Subsequent steps can refer to the registry address with the output of the kind setup step (i.e.${{ steps.kind.outputs.LOCAL_REGISTRY }}).Note: If
configoption is used, you must manually configure the cluster nodes with registry config dir enabled at/etc/containerd/certs.d. For example:Code of conduct
Participation in the Helm community is governed by the Code of Conduct.