Overview

DeepSource Enterprise Server is the self-hosted version of DeepSource for customers who have compliance or security needs that require them to operate within their firewall, in a private cloud (AWS, GCP, Azure), or in a data center. DeepSource Enterprise Server can be setup in approximately 20 minutes.

Enterprise Server provides the same features as DeepSource’s cloud offering, but operates within your private cloud.

Note: A license key is required for on-premise deployments. Please schedule a demo with us to setup a pilot.

Installation

DeepSource Enterprise can be installed either in a Standalone Cluster or into an Existing Kubernetes Cluster.

Standalone

The standalone installation method is the quickest to install DeepSource Enterprise Server. If you have the required permissions, you should be able to run your first analysis within 20 minutes. No prior knowledge of bootstrapping Kubernetes is required for this method as it has an embedded, production-ready Kubernetes disribution packaged with it.

Note: For pilot deployments, we recommend using a standalone cluster for a quick installation.

You can follow this document for more detailed instructions on setting up a standalone cluster.

Existing K8s Cluster

DeepSource Enteprise Server can be installed into your existing Kubernetes cluster. Existing cluster installation method is recommended if you already have a Kubernetes cluster running in production and would like to deploy DeepSource Enterprise Server to it. You can follow this document for more detailed instructions on setting up a standalone cluster.

Architecture

Github configuration

Core Services

Service/Component Description
bifrost Frontend server
asgard-api Backend for the DeepSource GraphQL API service.
asgard-celery-* Celery worker pools for asynchronous tasks.
atlas Orchestrator service that integrates with Kubernetes control plane for analysis, trasnsformer and autofix jobs.
janus Websocket server for realtime notifcations.
mater Watches for webhook failures from Github and retries them.
minio Object storage
pgbouncer Connection pooler for PostgreSQL database connections.
RabbitmQ Message queue.
Redis Cache database

KOTS Services

Service/Component Description
kotsadm Admin console
kurl-proxy Proxy service for kotsadm.
kotsadm-minio This is used for caching container images.
kotsadm-postgres PostgreSQL database service for KOTS admin console.