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) System requirements: Minimum 4vCPU, 16GB RAM and 50GB free diskspace
Docker Engine - v20.10.24 or above
b) Kubernetes Engine - v1.25.4
c) Enable Kubernetes Engine
Installation Steps
Search for gopaddle in the Docker Extensions Marketplace
Install gopaddle extension. This installs the gopaddle installer extension.
Note: This step does not install the gopaddle services.
Navigate to the gopaddle extension. Only when the you view the extension, gopaddle switches to the docker-desktop Kubernetes context, validates the installation and starts installing the gopaddle services.
Wait until the installation is complete
gopaddle waits for the gopaddle services to move to READY state. This may take 10-15 minutes to complete.
You can review the status of the installation manually using the command below:
kubectl wait --for=condition=ready pod -l released-by=gopaddle -n gp-lite-4-2 --timeout=15m
Once the gopaddle services move to ready state, you can review and accept the gopaddle service agreement.
gopaddle then sends a email to the registered email ID with an initial password.
Login to the gopaddle dashboard using the registered email ID and the initial password.
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) Cancel the subscription (if any). You can ignore this step, if you are on free version of gopaddle lite.
Under the Profile, choose Billing
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.
b) Uninstall the gopaddle extension from docker desktop
c) Make sure helm 3 and kubectl are installed on the local machine.
$ helm version
version.BuildInfo{Version:"v3.9.4", GitCommit:"dbc6d8e20fe1d58d50e6ed30f09a04a77e4c68db", GitTreeState:"clean", GoVersion:"go1.17.13"}
$ kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.4", GitCommit:"872a965c6c6526caa949f0c6ac028ef7aff3fb78", GitTreeState:"clean", BuildDate:"2022-11-09T13:36:36Z", GoVersion:"go1.19.3", Compiler:"gc", Platform:"darwin/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.4", GitCommit:"872a965c6c6526caa949f0c6ac028ef7aff3fb78", GitTreeState:"clean", BuildDate:"2022-11-09T13:29:58Z", GoVersion:"go1.19.3", Compiler:"gc", Platform:"linux/amd64"}
d) Switch to docker-destop context
kubectl config use-context docker-desktop
e) Uninstall the helm release
helm uninstall gp-lite -n gp-lite-4-2
f) Delete the namespaces
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
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
kubectl delete clusterrole gopaddle gopaddle:nginx-ingress-clusterrole gopaddle:prometheus-tool-kube-state-metrics gopaddle:prometheus-tool-server
h) Delete the gopaddle clusterrolebindings
kubectl delete clusterrolebinding gopaddle gopaddle:event-exporter-rb gopaddle:prometheus-tool-kube-state-metrics gopaddle:prometheus-tool-server
i) Delete the default backend
kubectl delete deploy/default-http-backend
kubectl delete service/default-http-backend