# Developer¶

We welcome new contributors. Please read the code of conduct and the contributing guidelines.

## Operator Development¶

The Operator which manages the SeldonDeployment CRD is contained within the /operator folder. It is created using kubebuilder

For local development we use kind, create a kind cluster

kind create cluster


Install cert-manager

make install-cert-manager


To build and load the current controller image into the Kind cluster:

make kind-image-install


To install the Operator run:

make deploy


If you wish to install the Operator and prepare the controller to be run outside the cluster, for example inside an IDE (we use GoLand) then run the following. This has only been tested on a local Kind cluster:

make deploy-local


When the everything is running delete the seldon-controller-manager deployment from the seldon-system namespace as we will run locally.

Next, download the webhook certificate (created by cert-manager) locally:

make tls-extract


You can now run the manager locally. You will need to set the webhook-port on startup e.g.,

go run ./main.go --webhook-port=9000


If running inside an IDE and you are using Kind then make sure you set the KUBECONFIG env as well.