# Custom Resource Client Example This example demonstrates how to use the C# Kubernetes Client library to create, get and list custom resources. ## Pre-requisits Make sure your have added the library package ```shell dotnet add package KubernetesClient ``` ## Create Custom Resource Definition (CRD) Make sure the [CRD](./config/crd.yaml) is created, in order to create an instance of it after. ```shell kubectl create -f ./config/crd.yaml ``` You can test that the CRD is successfully added, by creating an [instance](./config/yaml-cr-instance.yaml) of it using kubectl: ```shell kubectl create -f ./config/yaml-cr-instance.yaml ``` ```shell kubectl get customresources.csharp.com ``` ## Execute the code The client uses the `BuildConfigFromConfigFile()` function. If the KUBECONFIG environment variable is set, then that path to the k8s config file will be used. `dotnet run` Expected output: ``` strating main()... working with CRD: customresources.csharp.com creating CR cr-instance-london CR list: - CR Item 0 = cr-instance-london - CR Item 1 = cr-instance-paris fetchedCR = cr-instance-london (Labels: {identifier : city, newKey : newValue}), Spec: London Deleted the CR ``` ## Under the hood For more details, you can look at the Generic client [implementation](https://github.com/kubernetes-client/csharp/blob/master/src/KubernetesClient/GenericClient.cs)