Developing with Kind

Kind is a tool to quickly provision Kubernetes clusters locally using nested docker containers with no requirement for virtual machines. These clusters can be easily created and destroyed and are useful for simple testing for development.

To setup the development cluster and building cert-manager you will need the following installed:

Start Kind Cluster

To start the development cluster run the following:

$ ./hack/ci/

Once complete, the cluster is able to be interacted with kubectl.

Build cert-manager

You can build a development build of cert-manager that will be loaded into your kind cluster.

$ ./hack/ci/lib/

The images are now available on the cluster with the following tags:

Generating CRDs

After changes have been made to the API, the Custom Resource Definitions can be re-generated with the following command:


Note that this script only apply patches to the existing CRDs not fully regenerates them. The updated CRDs are now available from ./deploy/manifests/00-crds.yaml.

Destroy the Cluster

To clean up the development cluster run the following:

$ ./hack/ci/lib/