# Docker Desktop

gopaddle Lite is now available as a Docker Desktop community extension, enabling Docker Desktop users to manage multiple cloud & onpremise Kubernetes environments from a single dashboard. Docker users can start building a complete DevSecOps automation using gopaddle.

### Pre-requisites <a href="#h_c6366beecf" id="h_c6366beecf"></a>

a) **Docker Desktop requirements:** Minimum 4vCPU, 8GB RAM and minimum 10GB free disk space

Under Docker Desktop Settings, make sure the minimum CPU and Memory resources are configured.

<figure><img src="https://downloads.intercomcdn.com/i/o/782105813/01cae9bde94d5810d021b50a/Screen+Shot+2023-07-10+at+2.58.56+PM.png" alt=""><figcaption></figcaption></figure>

b) **Docker Engine** - v20.10.24 or later

c) **Kubernetes Engine** - v1.25.4

d) Enable Kubernetes Engine

<figure><img src="https://downloads.intercomcdn.com/i/o/729328541/3fe063b66a7f38ed7571fc9b/Screen+Shot+2023-04-26+at+3.04.47+PM.png" alt=""><figcaption></figcaption></figure>

### Installation Steps <a href="#h_4be1033b5f" id="h_4be1033b5f"></a>

If you already have Docker Desktop installed, click on the [link](https://open.docker.com/extensions/marketplace?extensionId=gopaddle/gopaddle-extension\&tag=4.2.9) to download and install the extension.

If not, follow the below steps to install gopaddle extension.

1. Download and Install Docker Desktop - <https://www.docker.com/products/docker-desktop/>
2. Search for gopaddle in the Docker Extensions Marketplace

   <figure><img src="https://downloads.intercomcdn.com/i/o/729328635/bc05c7a1061ecc03cb641879/Screen+Shot+2023-04-26+at+3.01.52+PM.png" alt=""><figcaption></figcaption></figure>
3. Install the gopaddle extension.

   <figure><img src="https://downloads.intercomcdn.com/i/o/758895825/a55c1fe1b1c87aaed93a5055/Docker-Desktop-Extension.png" alt=""><figcaption></figcaption></figure>

### Getting started <a href="#h_2bb94a40b2" id="h_2bb94a40b2"></a>

1. Subscribe to gopaddle using your email ID. gopaddle then sends an email to the registered email ID with an initial password.

   <figure><img src="https://downloads.intercomcdn.com/i/o/758886594/8fa74ce10df0e3a28d4fe755/Screen+Shot+2023-06-07+at+6.09.17+PM.png" alt=""><figcaption></figcaption></figure>
2. Login to the gopaddle dashboard using the registered email ID and the initial password.
3. Enable the Kubernetes cluster under the Docker Desktop Settings.

   <figure><img src="https://downloads.intercomcdn.com/i/o/758890499/2f44fecf45bd4c0e53d9b1c9/Screen+Shot+2023-06-07+at+6.10.18+PM.png" alt=""><figcaption></figcaption></figure>
4. Wait until the Kubernetes cluster moves to ready state.

   [![](https://downloads.intercomcdn.com/i/o/758894008/376927673405d252f8ef7b10/Screen+Shot+2023-06-07+at+6.28.52+PM.png)](https://downloads.intercomcdn.com/i/o/758894008/376927673405d252f8ef7b10/Screen+Shot+2023-06-07+at+6.28.52+PM.png)
5. Once the Kubernetes status icon in the Docker Desktop moves to ready state, execute the below command in the local terminal to get the Kubernetes cluster configuration.

   ```sh
   kubectl config view --minify=true -o yaml --context=docker-desktop --flatten
   ```
6. Register the local cluster in the gopaddle dashboard

   <figure><img src="https://downloads.intercomcdn.com/i/o/758898947/cd6bac9d08314c08f30a0006/Screen+Shot+2023-06-07+at+6.42.57+PM.png" alt=""><figcaption></figcaption></figure>

gopaddle automatically triggers a discovery process, that discovers the resources in the *docker-desktop* Kubernetes cluster. Once the discovery process is complete, you can view the namespaces under the Applications tab and the Kubernetes specifications under the Design Studio.

### Uninstalling gopaddle extension <a href="#h_aee0e3edc9" id="h_aee0e3edc9"></a>

a) Cancel the subscription (if any). You can ignore this step, if you are on free version of gopaddle lite.

Under the Profile, choose Billing

[![](https://downloads.intercomcdn.com/i/o/729457230/addd130322465bbb46de4c4e/Screen+Shot+2023-04-26+at+7.28.39+PM.png)](https://downloads.intercomcdn.com/i/o/729457230/addd130322465bbb46de4c4e/Screen+Shot+2023-04-26+at+7.28.39+PM.png)

Copy the URL from the Manage gopaddle Subscriptions pop up. Open the URL in the browser. Login using the gopaddle registered email ID and manage your billing and subscription.

<figure><img src="https://downloads.intercomcdn.com/i/o/729458713/18ee491c9fc602f270011d2d/Screen+Shot+2023-04-26+at+7.33.51+PM.png" alt=""><figcaption></figcaption></figure>

b) Uninstall the gopaddle extension from docker desktop

<figure><img src="https://downloads.intercomcdn.com/i/o/729335164/b7ba7c3e1fd97724cba4c497/Screen+Shot+2023-04-26+at+3.14.24+PM.png" alt=""><figcaption></figcaption></figure>

c) Switch to docker-destop Kubernetes context

```sh
kubectl config use-context docker-desktop
```

e) Uninstall the gopaddle-servers namespaces

```sh
kubectl delete ns gopaddle-servers gp-lite-4-2
```

Note. If deleting the gopaddle-servers is stuck, then edit the namespace and remove the finalizers

```sh
kubectl get namespace gopaddle-servers -o json \ | tr -d "\n" | sed "s/\"finalizers\": \[[^]]\+\]/\"finalizers\": []/" \ | kubectl replace --raw /api/v1/namespaces/gopaddle-servers/finalize -f -
```

g) Delete the gopaddle clusterroles

```sh
kubectl delete clusterrole gopaddle gopaddle:nginx-ingress-clusterrole gopaddle:prometheus-tool-kube-state-metrics gopaddle:prometheus-tool-server 
```

\
h) Delete the gopaddle clusterrolebindings

```sh
kubectl delete clusterrolebinding gopaddle gopaddle:event-exporter-rb gopaddle:prometheus-tool-kube-state-metrics gopaddle:prometheus-tool-server
```

i) Delete the default backend

```sh
kubectl delete deploy/default-http-backend 
kubectl delete service/default-http-backend
```
