The existing cluster installation method is recommended if you already have a Kubernetes cluster running in production and would like to deploy Enterprise Server to it.
With Existing Kubernetes Cluster installation, you can install DeepSource Enterprise Server into an existing cluster with our pre-packaged kubectl
plugins for licensing, configuration, and environment conformance testing.
If you have an existing Kubernetes cluster you can run the following command from a workstation that has kubectl
access to the cluster.
This will install the KOTS (Kubernetes off-the-shelf software) plugin on the workstation, then install the DeepSource Enterprise Admin Console on the cluster and set up a port forward on the ClusterIP
to enable you to access the admin from https://localhost:8800. From here you’ll be walked through the preflight checks, configuration and initial deployment of the application.
If you need to use your existing deployment pipeline (i.e. version control system), make custom configuration tweaks and/or deploy to multiple or remote environments, please see our advanced existing cluster installation instructions below.
If you are installing to an existing cluster, we expect you to bring your own Ingress Controller. You will have to add the annotations to the Config section in the admin console under the Ingress Controller Annotations option.
For the K8s NGINX Ingress Controller, a tested set of annotations are available at:
<deepsource-application-namespace>
is the Kubernetes namespace where the application is installed, usuallydeepsource
in case of installing in an existing cluster with KOTS.
DeepSource Enterprise is packaged as a Kubernetes application that can run on any Kubernetes cluster that meets minimum requirements:
To verify that your cluster meets the minimum requirements, you can run our preflight checks before installing. To run the preflight checks on your cluster, run:
This will not run anything in your cluster, but will review your cluster version and resources and provide a summary to help you identify if the cluster meets the minimum or recommended requirements.
Ensure you have two node pools:
Ensure you have two namespaces created. One of the namespace will be used for deploying the application workloads and the other namespace (named as deepsource-analysis
) will be used for running analysis workloads.
You will also need to add node selectors to both your node pools to ensure proper isolation of application workloads from analysis workloads.
If you’re unable or uncomfortable installing the admin console directly from KOTS, you can first pull the manifests that you’ll be deploying and kubectl apply those manifests. By default, these manifests are delivered with an empty kustomization.yaml in case you need to make last mile configuration changes with kustomize.
Using your favorite editor open the file: ~/deepsource-fowl/upstream/userdata/config.yaml
, make any changes you need and save it, and then rerun kots pull to apply those changes to the deployable YAML manifest.
The output should look like this:
The existing cluster installation method is recommended if you already have a Kubernetes cluster running in production and would like to deploy Enterprise Server to it.
With Existing Kubernetes Cluster installation, you can install DeepSource Enterprise Server into an existing cluster with our pre-packaged kubectl
plugins for licensing, configuration, and environment conformance testing.
If you have an existing Kubernetes cluster you can run the following command from a workstation that has kubectl
access to the cluster.
This will install the KOTS (Kubernetes off-the-shelf software) plugin on the workstation, then install the DeepSource Enterprise Admin Console on the cluster and set up a port forward on the ClusterIP
to enable you to access the admin from https://localhost:8800. From here you’ll be walked through the preflight checks, configuration and initial deployment of the application.
If you need to use your existing deployment pipeline (i.e. version control system), make custom configuration tweaks and/or deploy to multiple or remote environments, please see our advanced existing cluster installation instructions below.
If you are installing to an existing cluster, we expect you to bring your own Ingress Controller. You will have to add the annotations to the Config section in the admin console under the Ingress Controller Annotations option.
For the K8s NGINX Ingress Controller, a tested set of annotations are available at:
<deepsource-application-namespace>
is the Kubernetes namespace where the application is installed, usuallydeepsource
in case of installing in an existing cluster with KOTS.
DeepSource Enterprise is packaged as a Kubernetes application that can run on any Kubernetes cluster that meets minimum requirements:
To verify that your cluster meets the minimum requirements, you can run our preflight checks before installing. To run the preflight checks on your cluster, run:
This will not run anything in your cluster, but will review your cluster version and resources and provide a summary to help you identify if the cluster meets the minimum or recommended requirements.
Ensure you have two node pools:
Ensure you have two namespaces created. One of the namespace will be used for deploying the application workloads and the other namespace (named as deepsource-analysis
) will be used for running analysis workloads.
You will also need to add node selectors to both your node pools to ensure proper isolation of application workloads from analysis workloads.
If you’re unable or uncomfortable installing the admin console directly from KOTS, you can first pull the manifests that you’ll be deploying and kubectl apply those manifests. By default, these manifests are delivered with an empty kustomization.yaml in case you need to make last mile configuration changes with kustomize.
Using your favorite editor open the file: ~/deepsource-fowl/upstream/userdata/config.yaml
, make any changes you need and save it, and then rerun kots pull to apply those changes to the deployable YAML manifest.
The output should look like this: